Home | History | Annotate | Download | only in addressinput
      1 /*
      2  * Copyright (C) 2010 Google Inc.
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  * http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.i18n.addressinput;
     18 
     19 import org.json.JSONException;
     20 import org.json.JSONObject;
     21 
     22 import java.util.HashMap;
     23 import java.util.Map;
     24 
     25 /**
     26  * Initial data in JSON format for regions. This has some formatting information for some countries,
     27  * and a list of all the regions that the widget can support. Data has been sorted below for ease of
     28  * editing.
     29  */
     30 class RegionDataConstants {
     31 
     32     private static final Map<String, String> COUNTRY_FORMAT_MAP =
     33             new HashMap<String, String>();
     34 
     35     private enum RegionDataEnum {
     36 
     37         AC(new String[]{
     38             "name", "ASCENSION ISLAND",
     39         }),
     40         AD(new String[]{
     41                 "name", "ANDORRA",
     42                 "lang", "ca",
     43                 "languages", "ca",
     44                 "fmt", "%N%n%O%n%A%n%Z %C",
     45                 "require", "A",
     46         }),
     47         AE(new String[]{
     48                 "name", "UNITED ARAB EMIRATES",
     49                 "fmt", "%N%n%O%n%A%n%C",
     50                 "require", "AC",
     51         }),
     52         AF(new String[]{
     53                 "name", "AFGHANISTAN",
     54         }),
     55         AG(new String[]{
     56                 "name", "ANTIGUA AND BARBUDA",
     57                 "require", "A",
     58         }),
     59         AI(new String[]{
     60                 "name", "ANGUILLA",
     61         }),
     62         AL(new String[]{
     63                 "name", "ALBANIA",
     64         }),
     65         AM(new String[]{
     66                 "name", "ARMENIA",
     67                 "lang", "hy",
     68                 "languages", "hy",
     69                 "fmt", "%N%n%O%n%A%n%Z%n%C%n%S",
     70                 "lfmt", "%N%n%O%n%A%n%Z%n%C%n%S",
     71         }),
     72         AN(new String[]{
     73                 "name", "NETHERLANDS ANTILLES",
     74         }),
     75         AO(new String[]{
     76                 "name", "ANGOLA",
     77         }),
     78         AQ(new String[]{
     79                 "name", "ANTARCTICA",
     80         }),
     81         AR(new String[]{
     82                 "name", "ARGENTINA",
     83                 "lang", "es",
     84                 "languages", "es",
     85                 "fmt", "%N%n%O%n%A%n%Z %C%n%S",
     86                 "upper", "ACZ",
     87                 "state_name_type", "state",
     88         }),
     89         AS(new String[]{
     90                 "name", "AMERICAN SAMOA",
     91                 "fmt", "%N%n%O%n%A%n%C %S %Z",
     92                 "require", "ACSZ",
     93                 "upper", "ACNOS",
     94                 "zip_name_type", "zip",
     95                 "state_name_type", "state",
     96         }),
     97         AT(new String[]{
     98                 "name", "AUSTRIA",
     99                 "fmt", "%O%n%N%n%A%n%Z %C",
    100                 "require", "ACZ",
    101         }),
    102         AU(new String[]{
    103                 "name", "AUSTRALIA",
    104                 "lang", "en",
    105                 "languages", "en",
    106                 "fmt", "%O%n%N%n%A%n%C %S %Z",
    107                 "require", "ACSZ",
    108                 "upper", "CS",
    109                 "state_name_type", "state",
    110         }),
    111         AW(new String[]{
    112                 "name", "ARUBA",
    113         }),
    114         AX(new String[]{
    115                 "name", "FINLAND",
    116                 "fmt", "%O%n%N%n%A%nAX-%Z %C%n\u00C5LAND",
    117                 "require", "ACZ",
    118                 "postprefix", "AX-",
    119         }),
    120         AZ(new String[]{
    121                 "name", "AZERBAIJAN",
    122                 "fmt", "%N%n%O%n%A%nAZ %Z %C",
    123                 "postprefix", "AZ ",
    124         }),
    125         BA(new String[]{
    126                 "name", "BOSNIA AND HERZEGOVINA",
    127                 "fmt", "%N%n%O%n%A%n%Z %C",
    128         }),
    129         BB(new String[]{
    130                 "name", "BARBADOS",
    131                 "state_name_type", "parish",
    132         }),
    133         BD(new String[]{
    134                 "name", "BANGLADESH",
    135                 "fmt", "%N%n%O%n%A%n%C - %Z",
    136         }),
    137         BE(new String[]{
    138                 "name", "BELGIUM",
    139                 "fmt", "%O%n%N%n%A%n%Z %C",
    140                 "require", "ACZ",
    141         }),
    142         BF(new String[]{
    143                 "name", "BURKINA FASO",
    144                 "fmt", "%N%n%O%n%A%n%C %X",
    145         }),
    146         BG(new String[]{
    147                 "name", "BULGARIA (REP.)",
    148                 "fmt", "%N%n%O%n%A%n%Z %C",
    149         }),
    150         BH(new String[]{
    151                 "name", "BAHRAIN",
    152                 "fmt", "%N%n%O%n%A%n%C %Z",
    153         }),
    154         BI(new String[]{
    155                 "name", "BURUNDI",
    156         }),
    157         BJ(new String[]{
    158                 "name", "BENIN",
    159                 "upper", "AC",
    160         }),
    161         BL(new String[]{
    162                 "name", "SAINT BARTHELEMY",
    163                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    164                 "upper", "ACX",
    165                 "require", "ACZ",
    166         }),
    167         BM(new String[]{
    168                 "name", "BERMUDA",
    169                 "fmt", "%N%n%O%n%A%n%C %Z",
    170         }),
    171         BN(new String[]{
    172                 "name", "BRUNEI DARUSSALAM",
    173                 "fmt", "%N%n%O%n%A%n%C %Z",
    174         }),
    175         BO(new String[]{
    176                 "name", "BOLIVIA",
    177                 "upper", "AC",
    178         }),
    179         BR(new String[]{
    180                 "name", "BRAZIL",
    181                 "lang", "pt",
    182                 "languages", "pt",
    183                 "fmt", "%O%n%N%n%A%n%C-%S%n%Z",
    184                 "require", "ASCZ",
    185                 "upper", "CS",
    186                 "state_name_type", "state",
    187         }),
    188         BS(new String[]{
    189                 "name", "BAHAMAS",
    190                 "lang", "en",
    191                 "languages", "en",
    192                 "fmt", "%N%n%O%n%A%n%C, %S",
    193                 "state_name_type", "island",
    194         }),
    195         BT(new String[]{
    196                 "name", "BHUTAN",
    197         }),
    198         BV(new String[]{
    199                 "name", "BOUVET ISLAND",
    200         }),
    201         BW(new String[]{
    202                 "name", "BOTSWANA",
    203         }),
    204         BY(new String[]{
    205                 "name", "BELARUS",
    206                 "fmt", "%S%n%Z %C %X%n%A%n%O%n%N",
    207         }),
    208         BZ(new String[]{
    209                 "name", "BELIZE",
    210         }),
    211         CA(new String[]{
    212                 "name", "CANADA",
    213                 "lang", "en",
    214                 "languages", "en~fr",
    215                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    216                 "require", "ACSZ",
    217                 "upper", "ACNOSZ",
    218         }),
    219         CC(new String[]{
    220                 "name", "COCOS (KEELING) ISLANDS",
    221                 "fmt", "%O%n%N%n%A%n%C %S %Z",
    222                 "upper", "CS",
    223         }),
    224         CD(new String[]{
    225                 "name", "CONGO (DEM. REP.)",
    226                 "fmt", "%N%n%O%n%A%n%C %X",
    227         }),
    228         CF(new String[]{
    229                 "name", "CENTRAL AFRICAN REPUBLIC",
    230         }),
    231         CG(new String[]{
    232                 "name", "CONGO (REP.)",
    233         }),
    234         CH(new String[]{
    235                 "name", "SWITZERLAND",
    236                 "lang", "de",
    237                 "languages", "de~fr~it",
    238                 "fmt", "%O%n%N%n%A%nCH-%Z %C",
    239                 "require", "ACZ",
    240                 "upper", "",
    241                 "postprefix", "CH-",
    242         }),
    243         CI(new String[]{
    244                 "name", "COTE D'IVOIRE",
    245                 "fmt", "%N%n%O%n%X %A %C %X",
    246         }),
    247         CK(new String[]{
    248                 "name", "COOK ISLANDS",
    249                 "fmt", "%N%n%O%n%A%n%C %Z",
    250         }),
    251         CL(new String[]{
    252                 "name", "CHILE",
    253                 "lang", "es",
    254                 "languages", "es",
    255                 "fmt", "%N%n%O%n%A%n%Z %C%n%S",
    256                 "state_name_type", "state",
    257         }),
    258         CM(new String[]{
    259                 "name", "CAMEROON",
    260         }),
    261         CN(new String[]{
    262                 "name", "P.R. CHINA",
    263                 "lang", "zh-hans",
    264                 "languages", "zh-hans",
    265                 "fmt", "%Z%n%S%C%D%n%A%n%O%n%N",
    266                 "lfmt", "%N%n%O%n%A%n%D%n%C%n%S, %Z",
    267                 "require", "ACSZ",
    268                 "upper", "S",
    269         }),
    270         CO(new String[]{
    271                 "name", "COLOMBIA",
    272                 "fmt", "%N%n%O%n%A%n%C, %S",
    273         }),
    274         CR(new String[]{
    275                 "name", "COSTA RICA",
    276                 "fmt", "%N%n%O%n%A%n%Z %C",
    277         }),
    278         CS(new String[]{
    279                 "name", "SERBIA AND MONTENEGRO",
    280                 "fmt", "%N%n%O%n%A%n%Z %C",
    281         }),
    282         CV(new String[]{
    283                 "name", "CAPE VERDE",
    284                 "lang", "pt",
    285                 "languages", "pt",
    286                 "fmt", "%N%n%O%n%A%n%Z %C%n%S",
    287                 "state_name_type", "island",
    288         }),
    289         CX(new String[]{
    290                 "name", "CHRISTMAS ISLAND",
    291                 "fmt", "%O%n%N%n%A%n%C %S %Z",
    292                 "upper", "CS",
    293         }),
    294         CY(new String[]{
    295                 "name", "CYPRUS",
    296                 "fmt", "%N%n%O%n%A%n%Z %C",
    297         }),
    298         CZ(new String[]{
    299                 "name", "CZECH REP.",
    300                 "fmt", "%N%n%O%n%A%n%Z %C",
    301         }),
    302         DE(new String[]{
    303                 "name", "GERMANY",
    304                 "fmt", "%N%n%O%n%A%n%Z %C",
    305                 "require", "ACZ",
    306         }),
    307         DJ(new String[]{
    308                 "name", "DJIBOUTI",
    309         }),
    310         DK(new String[]{
    311                 "name", "DENMARK",
    312                 "fmt", "%N%n%O%n%A%n%Z %C",
    313                 "require", "ACZ",
    314         }),
    315         DM(new String[]{
    316                 "name", "DOMINICA",
    317         }),
    318         DO(new String[]{
    319                 "name", "DOMINICAN REP.",
    320                 "fmt", "%N%n%O%n%A%n%Z %C",
    321         }),
    322         DZ(new String[]{
    323                 "name", "ALGERIA",
    324                 "fmt", "%N%n%O%n%A%n%Z %C",
    325         }),
    326         EC(new String[]{
    327                 "name", "ECUADOR",
    328                 "fmt", "%N%n%O%n%A%n%Z%n%C",
    329                 "upper", "CZ",
    330         }),
    331         EE(new String[]{
    332                 "name", "ESTONIA",
    333                 "fmt", "%N%n%O%n%A%n%Z %C",
    334         }),
    335         EG(new String[]{
    336                 "name", "EGYPT",
    337                 "fmt", "%N%n%O%n%A%n%C%n%S%n%Z",
    338                 "lfmt", "%N%n%O%n%A%n%C%n%S%n%Z",
    339         }),
    340         EH(new String[]{
    341                 "name", "WESTERN SAHARA",
    342         }),
    343         ER(new String[]{
    344                 "name", "ERITREA",
    345         }),
    346         ES(new String[]{
    347                 "name", "SPAIN",
    348                 "lang", "es",
    349                 "languages", "es",
    350                 "fmt", "%N%n%O%n%A%n%Z %C %S",
    351                 "require", "ACSZ",
    352                 "upper", "CS",
    353         }),
    354         ET(new String[]{
    355                 "name", "ETHIOPIA",
    356                 "fmt", "%N%n%O%n%A%n%Z %C",
    357         }),
    358         FI(new String[]{
    359                 "name", "FINLAND",
    360                 "fmt", "%O%n%N%n%A%nFI-%Z %C",
    361                 "require", "ACZ",
    362                 "postprefix", "FI-",
    363         }),
    364         FJ(new String[]{
    365                 "name", "FIJI",
    366         }),
    367         FK(new String[]{
    368                 "name", "FALKLAND ISLANDS (MALVINAS)",
    369                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
    370                 "require", "ACZ",
    371                 "upper", "CZ",
    372         }),
    373         FM(new String[]{
    374                 "name", "MICRONESIA (Federated State of)",
    375                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    376                 "require", "ACSZ",
    377                 "upper", "ACNOS",
    378                 "zip_name_type", "zip",
    379                 "state_name_type", "state",
    380         }),
    381         FO(new String[]{
    382                 "name", "FAROE ISLANDS",
    383                 "fmt", "%N%n%O%n%A%nFO%Z %C",
    384                 "postprefix", "FO",
    385         }),
    386         FR(new String[]{
    387                 "name", "FRANCE",
    388                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    389                 "require", "ACZ",
    390                 "upper", "CX",
    391         }),
    392         GA(new String[]{
    393                 "name", "GABON",
    394         }),
    395         GB(new String[]{
    396                 "name", "UNITED KINGDOM",
    397                 "fmt", "%N%n%O%n%A%n%C%n%S%n%Z",
    398                 "require", "ACZ",
    399                 "upper", "CZ",
    400                 "state_name_type", "county",
    401         }),
    402         GD(new String[]{
    403                 "name", "GRENADA (WEST INDIES)",
    404         }),
    405         GE(new String[]{
    406                 "name", "GEORGIA",
    407                 "fmt", "%N%n%O%n%A%n%Z %C",
    408         }),
    409         GF(new String[]{
    410                 "name", "FRENCH GUIANA",
    411                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    412                 "require", "ACZ",
    413                 "upper", "ACX",
    414         }),
    415         GG(new String[]{
    416                 "name", "CHANNEL ISLANDS",
    417                 "fmt", "%N%n%O%n%A%n%X%n%C%nGUERNSEY%n%Z",
    418                 "require", "ACZ",
    419                 "upper", "CZ",
    420         }),
    421         GH(new String[]{
    422                 "name", "GHANA",
    423         }),
    424         GI(new String[]{
    425                 "name", "GIBRALTAR",
    426                 "fmt", "%N%n%O%n%A",
    427                 "require", "A",
    428         }),
    429         GL(new String[]{
    430                 "name", "GREENLAND",
    431                 "fmt", "%N%n%O%n%A%n%Z %C",
    432                 "require", "ACZ",
    433         }),
    434         GM(new String[]{
    435                 "name", "GAMBIA",
    436         }),
    437         GN(new String[]{
    438                 "name", "GUINEA",
    439                 "fmt", "%N%n%O%n%Z %A %C",
    440         }),
    441         GP(new String[]{
    442                 "name", "GUADELOUPE",
    443                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    444                 "require", "ACZ",
    445                 "upper", "ACX",
    446         }),
    447         GQ(new String[]{
    448                 "name", "EQUATORIAL GUINEA",
    449         }),
    450         GR(new String[]{
    451                 "name", "GREECE",
    452                 "fmt", "%N%n%O%n%A%n%Z %C",
    453                 "require", "ACZ",
    454         }),
    455         GS(new String[]{
    456                 "name", "SOUTH GEORGIA",
    457                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
    458                 "require", "ACZ",
    459                 "upper", "CZ",
    460         }),
    461         GT(new String[]{
    462                 "name", "GUATEMALA",
    463                 "fmt", "%N%n%O%n%A%n%Z- %C",
    464         }),
    465         GU(new String[]{
    466                 "name", "GUAM",
    467                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    468                 "require", "ACSZ",
    469                 "upper", "ACNOS",
    470                 "zip_name_type", "zip",
    471                 "state_name_type", "state",
    472         }),
    473         GW(new String[]{
    474                 "name", "GUINEA-BISSAU",
    475                 "fmt", "%N%n%O%n%A%n%Z %C",
    476         }),
    477         GY(new String[]{
    478                 "name", "GUYANA",
    479         }),
    480         HK(new String[]{
    481                 "name", "HONG KONG",
    482                 "lang", "zh",
    483                 "languages", "zh",
    484                 "fmt", "%S%n%A%n%O%n%N",
    485                 "lfmt", "%N%n%O%n%A%n%S",
    486                 "require", "AS",
    487                 "upper", "S",
    488                 "state_name_type", "area",
    489         }),
    490         HM(new String[]{
    491                 "name", "HEARD AND MCDONALD ISLANDS",
    492                 "fmt", "%O%n%N%n%A%n%C %S %Z",
    493                 "upper", "CS",
    494         }),
    495         HN(new String[]{
    496                 "name", "HONDURAS",
    497                 "fmt", "%N%n%O%n%A%n%C, %S%n%Z",
    498                 "require", "ACS",
    499         }),
    500         HR(new String[]{
    501                 "name", "CROATIA",
    502                 "fmt", "%N%n%O%n%A%nHR-%Z %C",
    503                 "postprefix", "HR-",
    504         }),
    505         HT(new String[]{
    506                 "name", "HAITI",
    507                 "fmt", "%N%n%O%n%A%nHT%Z %C %X",
    508                 "postprefix", "HT",
    509         }),
    510         HU(new String[]{
    511                 "name", "HUNGARY (Rep.)",
    512                 "fmt", "%N%n%O%n%C%n%A%n%Z",
    513                 "upper", "ACNO",
    514         }),
    515         ID(new String[]{
    516                 "name", "INDONESIA",
    517                 "fmt", "%N%n%O%n%A%n%C %Z%n%S",
    518         }),
    519         IE(new String[]{
    520                 "name", "IRELAND",
    521                 "lang", "en",
    522                 "languages", "en",
    523                 "fmt", "%N%n%O%n%A%n%C%n%S",
    524                 "state_name_type", "county",
    525         }),
    526         IL(new String[]{
    527                 "name", "ISRAEL",
    528                 "fmt", "%N%n%O%n%A%n%C %Z",
    529         }),
    530         IM(new String[]{
    531                 "name", "ISLE OF MAN",
    532                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
    533                 "require", "ACZ",
    534                 "upper", "CZ",
    535         }),
    536         IN(new String[]{
    537                 "name", "INDIA",
    538                 "lang", "en",
    539                 "languages", "en",
    540                 "fmt", "%N%n%O%n%A%n%C %Z%n%S",
    541                 "require", "ACSZ",
    542                 "state_name_type", "state",
    543         }),
    544         IO(new String[]{
    545                 "name", "BRITISH INDIAN OCEAN TERRITORY",
    546                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
    547                 "require", "ACZ",
    548                 "upper", "CZ",
    549         }),
    550         IQ(new String[]{
    551                 "name", "IRAQ",
    552                 "fmt", "%O%n%N%n%A%n%C, %S%n%Z",
    553                 "require", "ACS",
    554                 "upper", "CS",
    555         }),
    556         IS(new String[]{
    557                 "name", "ICELAND",
    558                 "fmt", "%N%n%O%n%A%n%Z %C",
    559         }),
    560         IT(new String[]{
    561                 "name", "ITALY",
    562                 "lang", "it",
    563                 "languages", "it",
    564                 "fmt", "%N%n%O%n%A%n%Z %C %S",
    565                 "require", "ACSZ",
    566                 "upper", "CS",
    567         }),
    568         JE(new String[]{
    569                 "name", "CHANNEL ISLANDS",
    570                 "fmt", "%N%n%O%n%A%n%X%n%C%nJERSEY%n%Z",
    571                 "require", "ACZ",
    572                 "upper", "CZ",
    573         }),
    574         JM(new String[]{
    575                 "name", "JAMAICA",
    576                 "lang", "en",
    577                 "languages", "en",
    578                 "fmt", "%N%n%O%n%A%n%C%n%S %X",
    579                 "require", "ACS",
    580                 "state_name_type", "parish",
    581         }),
    582         JO(new String[]{
    583                 "name", "JORDAN",
    584                 "fmt", "%N%n%O%n%A%n%C %Z",
    585         }),
    586         JP(new String[]{
    587                 "name", "JAPAN",
    588                 "lang", "ja",
    589                 "languages", "ja",
    590                 "fmt", "\u3012%Z%n%S%C%n%A%n%O%n%N",
    591                 "lfmt", "%N%n%O%n%A%n%C, %S%n%Z",
    592                 "require", "ACSZ",
    593                 "upper", "S",
    594                 "state_name_type", "prefecture",
    595         }),
    596         KE(new String[]{
    597                 "name", "KENYA",
    598                 "fmt", "%N%n%O%n%A%n%C%n%Z",
    599         }),
    600         KG(new String[]{
    601                 "name", "KYRGYZSTAN",
    602                 "fmt", "%Z %C %X%n%A%n%O%n%N",
    603         }),
    604         KH(new String[]{
    605                 "name", "CAMBODIA",
    606                 "fmt", "%N%n%O%n%A%n%C %Z",
    607         }),
    608         KI(new String[]{
    609                 "name", "KIRIBATI",
    610                 "fmt", "%N%n%O%n%A%n%S%n%C",
    611                 "upper", "ACNOS",
    612                 "state_name_type", "island",
    613         }),
    614         KM(new String[]{
    615                 "name", "COMOROS",
    616                 "upper", "AC",
    617         }),
    618         KN(new String[]{
    619                 "name", "SAINT KITTS AND NEVIS",
    620                 "lang", "en",
    621                 "languages", "en",
    622                 "fmt", "%N%n%O%n%A%n%C, %S",
    623                 "require", "ACS",
    624                 "state_name_type", "island",
    625         }),
    626         KR(new String[]{
    627                 "name", "KOREA (REP.)",
    628                 "lang", "ko",
    629                 "languages", "ko",
    630                 "fmt", "%S %C%D%n%A%n%O%n%N%nSEOUL %Z",
    631                 "lfmt", "%N%n%O%n%A%n%D%n%C%n%S%nSEOUL %Z",
    632                 "require", "ACSZ",
    633                 "upper", "Z",
    634                 "state_name_type", "do_si",
    635         }),
    636         KW(new String[]{
    637                 "name", "KUWAIT",
    638                 "fmt", "%N%n%O%n%A%n%Z %C",
    639         }),
    640         KY(new String[]{
    641                 "name", "CAYMAN ISLANDS",
    642                 "lang", "en",
    643                 "languages", "en",
    644                 "fmt", "%N%n%O%n%A%n%S",
    645                 "require", "AS",
    646                 "state_name_type", "island",
    647         }),
    648         KZ(new String[]{
    649                 "name", "KAZAKHSTAN",
    650                 "fmt", "%Z%n%S%n%C%n%A%n%O%n%N",
    651         }),
    652         LA(new String[]{
    653                 "name", "LAO (PEOPLE'S DEM. REP.)",
    654                 "fmt", "%N%n%O%n%A%n%Z %C",
    655         }),
    656         LB(new String[]{
    657                 "name", "LEBANON",
    658                 "fmt", "%N%n%O%n%A%n%C %Z",
    659         }),
    660         LC(new String[]{
    661                 "name", "SAINT LUCIA",
    662         }),
    663         LI(new String[]{
    664                 "name", "LIECHTENSTEIN",
    665                 "fmt", "%O%n%N%n%A%nFL-%Z %C",
    666                 "require", "ACZ",
    667                 "postprefix", "FL-",
    668         }),
    669         LK(new String[]{
    670                 "name", "SRI LANKA",
    671                 "fmt", "%N%n%O%n%A%n%C%n%Z",
    672         }),
    673         LR(new String[]{
    674                 "name", "LIBERIA",
    675                 "fmt", "%N%n%O%n%A%n%Z %C %X",
    676         }),
    677         LS(new String[]{
    678                 "name", "LESOTHO",
    679                 "fmt", "%N%n%O%n%A%n%C %Z",
    680         }),
    681         LT(new String[]{
    682                 "name", "LITHUANIA",
    683                 "fmt", "%O%n%N%n%A%nLT-%Z %C",
    684                 "postprefix", "LT-",
    685         }),
    686         LU(new String[]{
    687                 "name", "LUXEMBOURG",
    688                 "fmt", "%O%n%N%n%A%nL-%Z %C",
    689                 "require", "ACZ",
    690                 "postprefix", "L-",
    691         }),
    692         LV(new String[]{
    693                 "name", "LATVIA",
    694                 "fmt", "%N%n%O%n%A%n%C, %Z",
    695         }),
    696         LY(new String[]{
    697                 "name", "LIBYA",
    698         }),
    699         MA(new String[]{
    700                 "name", "MOROCCO",
    701                 "fmt", "%N%n%O%n%A%n%Z %C",
    702         }),
    703         MC(new String[]{
    704                 "name", "MONACO",
    705                 "fmt", "%N%n%O%n%A%nMC-%Z %C %X",
    706                 "postprefix", "MC-",
    707         }),
    708         MD(new String[]{
    709                 "name", "Rep. MOLDOVA",
    710                 "fmt", "%N%n%O%n%A%nMD-%Z %C",
    711                 "postprefix", "MD-",
    712         }),
    713         ME(new String[]{
    714                 "name", "MONTENEGRO",
    715                 "fmt", "%N%n%O%n%A%n%Z %C",
    716         }),
    717         MF(new String[]{
    718                 "name", "SAINT MARTIN",
    719                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    720                 "upper", "ACX",
    721                 "require", "ACZ",
    722         }),
    723         MG(new String[]{
    724                 "name", "MADAGASCAR",
    725                 "fmt", "%N%n%O%n%A%n%Z %C",
    726         }),
    727         MH(new String[]{
    728                 "name", "MARSHALL ISLANDS",
    729                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    730                 "require", "ACSZ",
    731                 "upper", "ACNOS",
    732                 "zip_name_type", "zip",
    733                 "state_name_type", "state",
    734         }),
    735         MK(new String[]{
    736                 "name", "MACEDONIA",
    737                 "fmt", "%N%n%O%n%A%n%Z %C",
    738         }),
    739         ML(new String[]{
    740                 "name", "MALI",
    741         }),
    742         MN(new String[]{
    743                 "name", "MONGOLIA",
    744                 "fmt", "%N%n%O%n%A%n%S %C-%X%n%Z",
    745         }),
    746         MO(new String[]{
    747                 "name", "MACAO",
    748                 "lang", "zh-hant",
    749                 "languages", "zh-hant",
    750                 "fmt", "%A%n%O%n%N",
    751                 "lfmt", "%N%n%O%n%A",
    752                 "require", "A",
    753         }),
    754         MP(new String[]{
    755                 "name", "NORTHERN MARIANA ISLANDS",
    756                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    757                 "require", "ACSZ",
    758                 "upper", "ACNOS",
    759                 "zip_name_type", "zip",
    760                 "state_name_type", "state",
    761         }),
    762         MQ(new String[]{
    763                 "name", "MARTINIQUE",
    764                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    765                 "require", "ACZ",
    766                 "upper", "ACX",
    767         }),
    768         MR(new String[]{
    769                 "name", "MAURITANIA",
    770                 "upper", "AC",
    771         }),
    772         MS(new String[]{
    773                 "name", "MONTSERRAT",
    774         }),
    775         MT(new String[]{
    776                 "name", "MALTA",
    777                 "fmt", "%N%n%O%n%A%n%C %Z",
    778                 "upper", "CZ",
    779         }),
    780         MU(new String[]{
    781                 "name", "MAURITIUS",
    782                 "fmt", "%N%n%O%n%A%n%Z%n%C",
    783                 "upper", "CZ",
    784         }),
    785         MV(new String[]{
    786                 "name", "MALDIVES",
    787                 "fmt", "%N%n%O%n%A%n%C %Z",
    788         }),
    789         MW(new String[]{
    790                 "name", "MALAWI",
    791                 "fmt", "%N%n%O%n%A%n%C %X",
    792         }),
    793         MX(new String[]{
    794                 "name", "MEXICO",
    795                 "lang", "es",
    796                 "languages", "es",
    797                 "fmt", "%N%n%O%n%A%n%Z %C, %S",
    798                 "require", "ACZ",
    799                 "upper", "CSZ",
    800                 "state_name_type", "state",
    801         }),
    802         MY(new String[]{
    803                 "name", "MALAYSIA",
    804                 "lang", "ms",
    805                 "languages", "ms",
    806                 "fmt", "%N%n%O%n%A%n%Z %C, %S",
    807                 "require", "ACZ",
    808                 "upper", "CS",
    809                 "state_name_type", "state",
    810         }),
    811         MZ(new String[]{
    812                 "name", "MOZAMBIQUE",
    813                 "fmt", "%N%n%O%n%A%n%C",
    814         }),
    815         NA(new String[]{
    816                 "name", "NAMIBIA",
    817         }),
    818         NC(new String[]{
    819                 "name", "NEW CALEDONIA",
    820                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    821                 "require", "ACZ",
    822                 "upper", "ACX",
    823         }),
    824         NE(new String[]{
    825                 "name", "NIGER",
    826                 "fmt", "%N%n%O%n%A%n%Z %C",
    827         }),
    828         NF(new String[]{
    829                 "name", "NORFOLK ISLAND",
    830                 "fmt", "%O%n%N%n%A%n%C %S %Z",
    831                 "upper", "CS",
    832         }),
    833         NG(new String[]{
    834                 "name", "NIGERIA",
    835                 "lang", "fr",
    836                 "languages", "fr",
    837                 "fmt", "%N%n%O%n%A%n%C %Z%n%S",
    838                 "upper", "CS",
    839                 "state_name_type", "state",
    840         }),
    841         NI(new String[]{
    842                 "name", "NICARAGUA",
    843                 "lang", "es",
    844                 "languages", "es",
    845                 "fmt", "%N%n%O%n%A%n%Z%n%C, %S",
    846                 "upper", "CS",
    847                 "state_name_type", "department",
    848         }),
    849         NL(new String[]{
    850                 "name", "NETHERLANDS",
    851                 "fmt", "%O%n%N%n%A%n%Z %C",
    852                 "require", "ACZ",
    853         }),
    854         NO(new String[]{
    855                 "name", "NORWAY",
    856                 "fmt", "%N%n%O%n%A%n%Z %C",
    857                 "require", "ACZ",
    858         }),
    859         NP(new String[]{
    860                 "name", "NEPAL",
    861                 "fmt", "%N%n%O%n%A%n%C %Z",
    862         }),
    863         NR(new String[]{
    864                 "name", "NAURU CENTRAL PACIFIC",
    865                 "lang", "en",
    866                 "languages", "en",
    867                 "fmt", "%N%n%O%n%A%n%S",
    868                 "require", "AS",
    869                 "state_name_type", "district",
    870         }),
    871         NU(new String[]{
    872                 "name", "NIUE",
    873         }),
    874         NZ(new String[]{
    875                 "name", "NEW ZEALAND",
    876                 "fmt", "%N%n%O%n%A%n%C %Z",
    877                 "require", "ACZ",
    878         }),
    879         OM(new String[]{
    880                 "name", "OMAN",
    881                 "fmt", "%N%n%O%n%A%n%Z%n%C",
    882         }),
    883         PA(new String[]{
    884                 "name", "PANAMA (REP.)",
    885                 "fmt", "%N%n%O%n%A%n%C%n%S",
    886                 "upper", "CS",
    887         }),
    888         PE(new String[]{
    889                 "name", "PERU",
    890         }),
    891         PF(new String[]{
    892                 "name", "FRENCH POLYNESIA",
    893                 "fmt", "%N%n%O%n%A%n%Z %C %S",
    894                 "require", "ACSZ",
    895                 "upper", "CS",
    896                 "state_name_type", "island",
    897         }),
    898         PG(new String[]{
    899                 "name", "PAPUA NEW GUINEA",
    900                 "fmt", "%N%n%O%n%A%n%C %Z %S",
    901                 "require", "ACS",
    902         }),
    903         PH(new String[]{
    904                 "name", "PHILIPPINES",
    905                 "fmt", "%N%n%O%n%A%n%Z %C%n%S",
    906                 "require", "AC",
    907         }),
    908         PK(new String[]{
    909                 "name", "PAKISTAN",
    910                 "fmt", "%N%n%O%n%A%n%C-%Z",
    911         }),
    912         PL(new String[]{
    913                 "name", "POLAND",
    914                 "fmt", "%N%n%O%n%A%n%Z %C",
    915                 "require", "ACZ",
    916         }),
    917         PM(new String[]{
    918                 "name", "ST. PIERRE AND MIQUELON",
    919                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    920                 "require", "ACZ",
    921                 "upper", "ACX",
    922         }),
    923         PN(new String[]{
    924                 "name", "PITCAIRN",
    925                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
    926                 "require", "ACZ",
    927                 "upper", "CZ",
    928         }),
    929         PR(new String[]{
    930                 "name", "PUERTO RICO",
    931                 "fmt", "%N%n%O%n%A%n%C PR %Z",
    932                 "require", "ACZ",
    933                 "upper", "ACNO",
    934                 "zip_name_type", "zip",
    935                 "postprefix", "PR",
    936         }),
    937         PS(new String[]{
    938                 "name", "PALESTINIAN TERRITORY",
    939         }),
    940         PT(new String[]{
    941                 "name", "PORTUGAL",
    942                 "fmt", "%N%n%O%n%A%n%Z %C",
    943                 "require", "ACZ",
    944         }),
    945         PW(new String[]{
    946                 "name", "PALAU",
    947                 "fmt", "%N%n%O%n%A%n%C %S %Z",
    948                 "require", "ACSZ",
    949                 "upper", "ACNOS",
    950                 "zip_name_type", "zip",
    951                 "state_name_type", "state",
    952         }),
    953         PY(new String[]{
    954                 "name", "PARAGUAY",
    955                 "fmt", "%N%n%O%n%A%n%Z %C",
    956         }),
    957         QA(new String[]{
    958                 "name", "QATAR",
    959                 "upper", "AC",
    960         }),
    961         RE(new String[]{
    962                 "name", "REUNION",
    963                 "fmt", "%O%n%N%n%A%n%Z %C %X",
    964                 "require", "ACZ",
    965                 "upper", "ACX",
    966         }),
    967         RO(new String[]{
    968                 "name", "ROMANIA",
    969                 "fmt", "%N%n%O%n%A%n%Z %C",
    970                 "upper", "AC",
    971         }),
    972         RS(new String[]{
    973                 "name", "REPUBLIC OF SERBIA",
    974                 "fmt", "%N%n%O%n%A%n%Z %C",
    975         }),
    976         RU(new String[]{
    977                 "name", "RUSSIAN FEDERATION",
    978                 "fmt", "%N%n%O%n%A%n%C%n%S%n%Z",
    979                 "require", "ACZ",
    980                 "state_name_type", "oblast",
    981                 "upper", "AC",
    982         }),
    983         RW(new String[]{
    984                 "name", "RWANDA",
    985                 "upper", "AC",
    986         }),
    987         SA(new String[]{
    988                 "name", "SAUDI ARABIA",
    989                 "fmt", "%N%n%O%n%A%n%C %Z",
    990         }),
    991         SB(new String[]{
    992                 "name", "SOLOMON ISLANDS",
    993         }),
    994         SC(new String[]{
    995                 "name", "SEYCHELLES",
    996                 "fmt", "%N%n%O%n%A%n%C%n%S",
    997                 "upper", "S",
    998                 "state_name_type", "island",
    999         }),
   1000         SE(new String[]{
   1001                 "name", "SWEDEN",
   1002                 "fmt", "%O%n%N%n%A%nSE-%Z %C",
   1003                 "require", "ACZ",
   1004                 "postprefix", "SE-",
   1005         }),
   1006         SG(new String[]{
   1007                 "name", "REP. OF SINGAPORE",
   1008                 "fmt", "%N%n%O%n%A%nSINGAPORE %Z",
   1009                 "require", "AZ",
   1010         }),
   1011         SH(new String[]{
   1012                 "name", "SAINT HELENA",
   1013                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
   1014                 "require", "ACZ",
   1015                 "upper", "CZ",
   1016         }),
   1017         SI(new String[]{
   1018                 "name", "SLOVENIA",
   1019                 "fmt", "%N%n%O%n%A%nSI- %Z %C",
   1020                 "postprefix", "SI-",
   1021         }),
   1022         SJ(new String[]{
   1023                 "name", "SVALBARD AND JAN MAYEN ISLANDS",
   1024                 "fmt", "%N%n%O%n%A%n%Z %C",
   1025                 "require", "ACZ",
   1026         }),
   1027         SK(new String[]{
   1028                 "name", "SLOVAKIA",
   1029                 "fmt", "%N%n%O%n%A%n%Z %C",
   1030         }),
   1031         SL(new String[]{
   1032                 "name", "SIERRA LEONE",
   1033         }),
   1034         SM(new String[]{
   1035                 "name", "SAN MARINO",
   1036                 "fmt", "%N%n%O%n%A%n%Z %C",
   1037                 "require", "AZ",
   1038         }),
   1039         SN(new String[]{
   1040                 "name", "SENEGAL",
   1041                 "fmt", "%N%n%O%n%A%n%Z %C",
   1042         }),
   1043         SO(new String[]{
   1044                 "name", "SOMALIA",
   1045                 "lang", "so",
   1046                 "languages", "so",
   1047                 "fmt", "%N%n%O%n%A%n%C, %S %Z",
   1048                 "require", "ACS",
   1049                 "upper", "ACS",
   1050         }),
   1051         SR(new String[]{
   1052                 "name", "SURINAME",
   1053                 "lang", "nl",
   1054                 "languages", "nl",
   1055                 "fmt", "%N%n%O%n%A%n%C %X%n%S",
   1056                 "upper", "AS",
   1057         }),
   1058         ST(new String[]{
   1059                 "name", "SAO TOME AND PRINCIPE",
   1060                 "fmt", "%N%n%O%n%A%n%C %X",
   1061         }),
   1062         SV(new String[]{
   1063                 "name", "EL SALVADOR",
   1064                 "lang", "es",
   1065                 "languages", "es",
   1066                 "fmt", "%N%n%O%n%A%n%Z-%C%n%S",
   1067                 "require", "ACS",
   1068                 "upper", "CSZ",
   1069         }),
   1070         SZ(new String[]{
   1071                 "name", "SWAZILAND",
   1072                 "fmt", "%N%n%O%n%A%n%C%n%Z",
   1073                 "upper", "ACZ",
   1074         }),
   1075         TA(new String[]{
   1076                 "name", "TRISTAN DA CUNHA",
   1077         }),
   1078         TC(new String[]{
   1079                 "name", "TURKS AND CAICOS ISLANDS",
   1080                 "fmt", "%N%n%O%n%A%n%X%n%C%n%Z",
   1081                 "require", "ACZ",
   1082                 "upper", "CZ",
   1083         }),
   1084         TD(new String[]{
   1085                 "name", "CHAD",
   1086         }),
   1087         TF(new String[]{
   1088                 "name", "FRENCH SOUTHERN TERRITORIES",
   1089         }),
   1090         TG(new String[]{
   1091                 "name", "TOGO",
   1092         }),
   1093         TH(new String[]{
   1094                 "name", "THAILAND",
   1095                 "lang", "th",
   1096                 "languages", "th",
   1097                 "fmt", "%N%n%O%n%A%n%D %C%n%S %Z",
   1098                 "lfmt", "%N%n%O%n%A%n%D, %C%n%S %Z",
   1099                 "upper", "S",
   1100         }),
   1101         TJ(new String[]{
   1102                 "name", "TAJIKISTAN",
   1103                 "fmt", "%N%n%O%n%A%n%Z %C",
   1104         }),
   1105         TK(new String[]{
   1106                 "name", "TOKELAU",
   1107         }),
   1108         TL(new String[]{
   1109                 "name", "TIMOR-LESTE",
   1110         }),
   1111         TM(new String[]{
   1112                 "name", "TURKMENISTAN",
   1113                 "fmt", "%N%n%O%n%A%n%Z %C",
   1114         }),
   1115         TN(new String[]{
   1116                 "name", "TUNISIA",
   1117                 "fmt", "%N%n%O%n%A%n%Z %C",
   1118         }),
   1119         TO(new String[]{
   1120                 "name", "TONGA",
   1121         }),
   1122         TR(new String[]{
   1123                 "name", "TURKEY",
   1124                 "fmt", "%N%n%O%n%A%n%Z %C/%S",
   1125                 "require", "ACZ",
   1126                 "locality_name_type", "district",
   1127         }),
   1128         TT(new String[]{
   1129                 "name", "TRINIDAD AND TOBAGO",
   1130         }),
   1131         TV(new String[]{
   1132                 "name", "TUVALU",
   1133                 "lang", "tyv",
   1134                 "languages", "tyv",
   1135                 "fmt", "%N%n%O%n%A%n%X%n%C%n%S",
   1136                 "upper", "ACS",
   1137                 "state_name_type", "island",
   1138         }),
   1139         TW(new String[]{
   1140                 "name", "TAIWAN",
   1141                 "lang", "zh-hant",
   1142                 "languages", "zh-hant",
   1143                 "fmt", "%Z%n%S%C%n%A%n%O%n%N",
   1144                 "lfmt", "%N%n%O%n%A%n%C, %S %Z",
   1145                 "require", "ACSZ",
   1146                 "state_name_type", "county",
   1147         }),
   1148         TZ(new String[]{
   1149                 "name", "TANZANIA (UNITED REP.)",
   1150         }),
   1151         UA(new String[]{
   1152                 "name", "UKRAINE",
   1153                 "fmt", "%Z %C%n%A%n%O%n%N",
   1154         }),
   1155         UG(new String[]{
   1156                 "name", "UGANDA",
   1157         }),
   1158         UM(new String[]{
   1159                 "name", "UNITED STATES MINOR OUTLYING ISLANDS",
   1160                 "fmt", "%N%n%O%n%A%n%C %S %Z",
   1161                 "require", "ACS",
   1162                 "upper", "ACNOS",
   1163                 "zip_name_type", "zip",
   1164                 "state_name_type", "state",
   1165         }),
   1166         US(new String[]{
   1167                 "name", "UNITED STATES",
   1168                 "lang", "en",
   1169                 "languages", "en",
   1170                 "fmt", "%N%n%O%n%A%n%C, %S %Z",
   1171                 "require", "ACSZ",
   1172                 "upper", "CS",
   1173                 "zip_name_type", "zip",
   1174                 "state_name_type", "state",
   1175         }),
   1176         UY(new String[]{
   1177                 "name", "URUGUAY",
   1178                 "lang", "es",
   1179                 "languages", "es",
   1180                 "fmt", "%N%n%O%n%A%n%Z %C %S",
   1181                 "upper", "CS",
   1182         }),
   1183         UZ(new String[]{
   1184                 "name", "UZBEKISTAN",
   1185                 "fmt", "%N%n%O%n%A%n%Z %C%n%S",
   1186                 "upper", "CS",
   1187         }),
   1188         VA(new String[]{
   1189                 "name", "VATICAN",
   1190                 "fmt", "%N%n%O%n%A%n%Z %C",
   1191         }),
   1192         VC(new String[]{
   1193                 "name", "SAINT VINCENT AND THE GRENADINES (ANTILLES)",
   1194         }),
   1195         VE(new String[]{
   1196                 "name", "VENEZUELA",
   1197                 "lang", "es",
   1198                 "languages", "es",
   1199                 "fmt", "%N%n%O%n%A%n%C %Z, %S",
   1200                 "require", "ACS",
   1201                 "upper", "CS",
   1202         }),
   1203         VG(new String[]{
   1204                 "name", "VIRGIN ISLANDS (BRITISH)",
   1205                 "require", "A",
   1206         }),
   1207         VI(new String[]{
   1208                 "name", "VIRGIN ISLANDS (U.S.)",
   1209                 "fmt", "%N%n%O%n%A%n%C %S %Z",
   1210                 "require", "ACSZ",
   1211                 "upper", "ACNOS",
   1212                 "zip_name_type", "zip",
   1213                 "state_name_type", "state",
   1214         }),
   1215         VN(new String[]{
   1216                 "name", "VIET NAM",
   1217                 "lang", "vi",
   1218                 "languages", "vi",
   1219                 "fmt", "%N%n%O%n%A%n%C%n%S",
   1220                 "lfmt", "%N%n%O%n%A%n%C%n%S",
   1221                 "require", "AC",
   1222         }),
   1223         VU(new String[]{
   1224                 "name", "VANUATU",
   1225         }),
   1226         WF(new String[]{
   1227                 "name", "WALLIS AND FUTUNA ISLANDS",
   1228                 "fmt", "%O%n%N%n%A%n%Z %C %X",
   1229                 "require", "ACZ",
   1230                 "upper", "ACX",
   1231         }),
   1232         WS(new String[]{
   1233                 "name", "SAMOA",
   1234         }),
   1235         XK(new String[]{
   1236                 "name", "KOSOVO",
   1237                 "fmt", "%N%n%O%n%A%n%Z %C"
   1238         }),
   1239         YE(new String[]{
   1240                 "name", "YEMEN",
   1241                 "require", "AC",
   1242         }),
   1243         YT(new String[]{
   1244                 "name", "MAYOTTE",
   1245                 "fmt", "%O%n%N%n%A%n%Z %C %X",
   1246                 "require", "ACZ",
   1247                 "upper", "ACX",
   1248         }),
   1249         YU(new String[]{
   1250                 "name", "SERBIA AND MONTENEGRO",
   1251                 "fmt", "%N%n%O%n%A%n%Z %C",
   1252         }),
   1253         ZA(new String[]{
   1254                 "name", "SOUTH AFRICA",
   1255                 "fmt", "%N%n%O%n%A%n%C%n%Z",
   1256                 "require", "ACZ",
   1257         }),
   1258         ZM(new String[]{
   1259                 "name", "ZAMBIA",
   1260                 "fmt", "%N%n%O%n%A%n%Z %C",
   1261                 "require", "AC",
   1262         }),
   1263         ZW(new String[]{
   1264                 "name", "ZIMBABWE",
   1265         }),
   1266         ZZ(new String[]{
   1267                 "fmt", "%N%n%O%n%A%n%C",
   1268                 "require", "AC",
   1269                 "upper", "C",
   1270                 "zip_name_type", "postal",
   1271                 "state_name_type", "province",
   1272                 "locality_name_type", "city",
   1273         });
   1274 
   1275         private String jsonString;
   1276 
   1277         private RegionDataEnum(String[] inputArray) {
   1278             jsonString = convertArrayToJsonString(inputArray);
   1279         }
   1280 
   1281         String getJsonString() {
   1282             return jsonString;
   1283         }
   1284     }
   1285 
   1286     static {
   1287         for (RegionDataEnum region : RegionDataEnum.values()) {
   1288             COUNTRY_FORMAT_MAP.put(region.toString(), region.getJsonString());
   1289         }
   1290     }
   1291 
   1292     static Map<String, String> getCountryFormatMap() {
   1293         return COUNTRY_FORMAT_MAP;
   1294     }
   1295 
   1296     /**
   1297      * Assumes the array is a well-formed array - i.e., there are no unmatched keys in the input.
   1298      * Package-private so it can be accessed by tests.
   1299      */
   1300     static String convertArrayToJsonString(String[] input) {
   1301         JSONObject object = new JSONObject();
   1302         for (int i = 0; i < input.length; i += 2) {
   1303             try {
   1304                 object.put(input[i], input[i + 1]);
   1305             } catch (JSONException e) {
   1306                 // Ignore for now.
   1307             }
   1308         }
   1309         return object.toString();
   1310     }
   1311 }
   1312