| /********************************************************************* |
| * Copyright (C) 2001, International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************* |
| * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/util/Attic/TimeZoneData.java,v $ |
| * $Date: 2001/02/02 19:30:02 $ |
| * $Revision: 1.3 $ |
| */ |
| package com.ibm.util; |
| import java.util.Hashtable; |
| |
| /** |
| * Internal class that encapsulates data about the system time zones. |
| * This includes the names of all zones, their raw offsets, their |
| * rules (for zones observing DST), and index tables that group |
| * together zones with the same raw offset, as well as zones that are |
| * equivalent (same raw offset and rules). |
| * |
| * <p>This class contains two parts: A narrow API for instantiating |
| * the system zone objects and for obtaining metainformation |
| * (available zone lists and equivalency group lists), and blocks of |
| * compressed data that take the form of static strings or string |
| * arrays. The compressed data is generated source code that cannot |
| * be hand edited. It is derived from the standard UNIX zone data at |
| * ftp://elsie.nci.nih.gov/pub and is processed by the tool gentz |
| * located at icu/source/tools/gentz. When the UNIX zone data |
| * changes, the gentz tool must be run to generate the new data and |
| * the compressed data blocks in this file and the new blocks must be |
| * pasted in. For step-by-step instructions, see |
| * icu/source/tools/gentz/readme.txt. |
| * |
| * @author Alan Liu |
| */ |
| class TimeZoneData { |
| |
| /** |
| * Construct and return the given system TimeZone, or return null if |
| * the given ID does not refer to a system TimeZone. |
| */ |
| public static TimeZone get(String ID) { |
| int i = lookup(ID); |
| return (i<0) ? null : new SimpleTimeZone(ID, DATA, i); |
| } |
| |
| /** |
| * Return a new String array containing all system TimeZone IDs. |
| * These IDs (and only these IDs) may be passed to |
| * <code>get()</code> to construct the corresponding TimeZone |
| * object. |
| * @return an array of all system TimeZone IDs |
| */ |
| public static String[] getAvailableIDs() { |
| String[] result = new String[IDS.length]; |
| System.arraycopy(IDS, 0, result, 0, IDS.length); |
| return result; |
| } |
| |
| /** |
| * Return a new String array containing all system TimeZone IDs |
| * with the given raw offset from GMT. These IDs may be passed to |
| * <code>get()</code> to construct the corresponding TimeZone |
| * object. |
| * @param rawOffset the offset in milliseconds from GMT |
| * @return an array of IDs for system TimeZones with the given |
| * raw offset. If there are none, return a zero-length array. |
| */ |
| public static String[] getAvailableIDs(int rawOffset) { |
| // Do a linear search; there are < 200 entries |
| for (int i=0; i<INDEX_BY_OFFSET.length;) { |
| int offset = INDEX_BY_OFFSET[i] * 1000; |
| if (offset > rawOffset) { |
| break; |
| } |
| if (offset == rawOffset) { |
| // Found our desired offset |
| int n = INDEX_BY_OFFSET[i+2]; |
| String[] result = new String[n]; |
| for (int j=0; j<n; ++j) { |
| result[j] = IDS[INDEX_BY_OFFSET[i+3+j]]; |
| } |
| return result; |
| } |
| // Advance to the next entry |
| i += INDEX_BY_OFFSET[i+2] + 3; |
| } |
| // Failed to find any; return empty array |
| return new String[0]; |
| } |
| |
| /** |
| * Return a new String array containing all system TimeZone IDs |
| * associated with the given country. These IDs may be passed to |
| * <code>get()</code> to construct the corresponding TimeZone |
| * object. |
| * @param a two-letter ISO 3166 country code, or <code>null</code> |
| * to return zones not associated with any country |
| * @return an array of IDs for system TimeZones with the given |
| * raw offset. If there are none, return a zero-length array. |
| */ |
| public static String[] getAvailableIDs(String countryCode) { |
| // Construct our key; this is an integer of the form |
| // 32*n1 + n0, where 0<=n<=25. |
| int countryHash = 0; |
| if (countryCode != null) { |
| countryHash = |
| ((Character.toUpperCase(countryCode.charAt(0)) - 'A') << 5) | |
| (Character.toUpperCase(countryCode.charAt(1)) - 'A'); |
| } |
| |
| // Do a linear search; there are ~ 250 entries |
| for (int i=0; i<INDEX_BY_COUNTRY.length; ) { |
| if (countryHash == INDEX_BY_COUNTRY[i]) { |
| // Found the desired country |
| int n = INDEX_BY_COUNTRY[i+1]; |
| String[] result = new String[n]; |
| for (int j=0; j<n; ++j) { |
| result[j] = IDS[INDEX_BY_COUNTRY[i+2+j]]; |
| } |
| return result; |
| } else { |
| i += INDEX_BY_COUNTRY[i+1] + 2; |
| } |
| } |
| // Failed to find any; return empty array |
| return new String[0]; |
| } |
| |
| /** |
| * Returns the number of IDs in the equivalency group that |
| * includes the given ID. An equivalency group contains zones |
| * that have the same GMT offset and rules. |
| * |
| * <p>The returned count includes the given ID; it is always >= 1 |
| * for valid IDs. The given ID must be a system time zone. If it |
| * is not, returns zero. |
| * @param ID a system time zone ID |
| * @return the number of zones in the equivalency group containing |
| * 'ID', or zero if 'ID' is not a valid system ID |
| * @see #getEquivalentID |
| */ |
| public static int countEquivalentIDs(String ID) { |
| int i = lookup(ID); |
| return (i<0) ? 0 : DATA[i + ((DATA[i+1]==0)?2:13)]; |
| } |
| |
| /** |
| * Returns an ID in the equivalency group that |
| * includes the given ID. An equivalency group contains zones |
| * that have the same GMT offset and rules. |
| * |
| * <p>The given index must be in the range 0..n-1, where n is the |
| * value returned by <code>countEquivalentIDs(id)</code>. For |
| * some value of 'index', the returned value will be equal to the |
| * given id. If the given id is not a valid system time zone, or |
| * if 'index' is out of range, then returns an empty string. |
| * @param ID a system time zone ID |
| * @param index a value from 0 to n-1, where n is the value |
| * returned by <code>countEquivalentIDs(id)</code> |
| * @return the ID of the index-th zone in the equivalency group |
| * containing 'ID', or an empty string if 'ID' is not a valid |
| * system ID or 'index' is out of range |
| * @see #countEquivalentIDs |
| */ |
| public static String getEquivalentID(String ID, int index) { |
| int i = lookup(ID); |
| if (i<0) { |
| return ""; |
| } |
| int j = i + ((DATA[i+1]==0)?2:13); |
| return (index<DATA[j]) ? IDS[DATA[j+index+1]] : ""; |
| } |
| |
| /** |
| * Given an ID, return the equivalency group index (index of |
| * DATA[] for the start of the group's data) or -1 if not found. |
| */ |
| static int lookup(String ID) { |
| Integer i = (Integer) INDEX_BY_NAME.get(ID); |
| return (i == null) ? -1 : i.intValue(); |
| } |
| |
| /** |
| * Equivalency group data in int[] form. This is represented as a |
| * single flat array of ints for compactness. Each equivalency |
| * group is represented by a sequence of ints of variable length. |
| * Groups are identified by a single integer, the offset to the |
| * start of the group. If i is the offset to the start of the |
| * group, then the layout of data is: |
| * |
| * Offset Data Notes |
| * i+0 isDST 0 for standard zones, 1 for DST |
| * i+1 rawOffset in seconds from GMT |
| * <DST zones contain additional entries here; see below> |
| * j+0 count number of IDs to follow, >= 1 |
| * j+1..k IDs indices into IDS[] array |
| * j+k+1 (next entry start) |
| * |
| * For standard zones, j = i+2. For DST zones, j = i+13 |
| * and the following entries apply: |
| * |
| * Offset Data Notes |
| * i+2 startMonth 0-based |
| * i+3 startDowim |
| * i+4 startDow |
| * i+5 startTime in minutes |
| * i+6 startMode w/s/u encoded as 0/1/2 |
| * i+7 endMonth 0-based |
| * i+8 endDowim |
| * i+9 endDow |
| * i+10 endTime in minutes |
| * i+11 endMode w/s/u encoded as 0/1/2 |
| * i+12 dstSavings in minutes |
| * |
| * A standard zone entry is 3+n ints long, and a DST zone entry is |
| * 14+n ints long, where n is count of IDs to follow (the value at |
| * j+0). |
| */ |
| static int[] DATA; |
| |
| /** |
| * Map from TimeZone ID to equivalency group offset. This is an |
| * index into DATA. The equivalency group data starts at DATA[i] |
| * and occupies the m ints that follow, where the value of m depends |
| * on whether the zone is standard or DST and how many IDs are in |
| * the group. |
| */ |
| static final Hashtable INDEX_BY_NAME = new Hashtable(); |
| |
| /** |
| * Index of rawOffset to list of zones. Entries are in order of |
| * ascending rawOffset. Format: |
| * |
| * Offset Data Notes |
| * i+0 rawOffset in milliseconds from GMT |
| * i+1 default default zone for this offset |
| * i+2 count number of IDs to follow |
| * i+3..j IDs indices into IDS |
| * i+j+1 (next entry start) |
| * |
| * If the number of equivalency groups is n, then j=n+2. |
| * |
| * Equivalency group IDs are indices in DATA to the start of each |
| * equivalency group. |
| */ |
| static int[] INDEX_BY_OFFSET; |
| |
| /** |
| * Index by country to list of zones. Entries are in order of |
| * ascending country code. Format: |
| * |
| * Offset Data Notes |
| * i+0 country as an integer 32n1 + n0; see below |
| * i+1 count number of IDs to follow |
| * i+2..j IDs indices into IDS[] |
| * |
| * If the number of zones is n, then j=n+1. |
| * |
| * The first integer in each entry is the country code as an integer |
| * from 0..(26-1)*32+(26-1). This is computed as follows: A two |
| * letter country code XY is converted to ((X-'A')<<5) | (Y-'A'). |
| * The special value 0 indicates no assigned country. This also |
| * maps to the country code 'AA' but currently this is not a valid |
| * country code. |
| * |
| * Zone ID values are indices into IDS[]. |
| */ |
| static int[] INDEX_BY_COUNTRY; |
| |
| //---------------------------------------------------------------- |
| // BEGIN GENERATED SOURCE CODE |
| // Date: Fri Feb 02 10:36:32 PST 2001 |
| // Version: tzdata2000h from ftp://elsie.nci.nih.gov/pub |
| // Tool: icu/source/tools/gentz |
| // See: icu/source/tools/gentz/readme.txt |
| // DO NOT EDIT THIS SECTION |
| |
| /** |
| * Array of IDs in lexicographic order. The INDEX_BY_OFFSET and DATA |
| * arrays refer to zones using indices into this array. To map from ID |
| * to equivalency group, use the INDEX_BY_NAME Hashtable. |
| * >> GENERATED DATA: DO NOT EDIT << |
| */ |
| static final String[] IDS = { |
| "ACT", |
| "AET", |
| "AGT", |
| "ART", |
| "AST", |
| "Africa/Abidjan", |
| "Africa/Accra", |
| "Africa/Addis_Ababa", |
| "Africa/Algiers", |
| "Africa/Asmera", |
| "Africa/Bamako", |
| "Africa/Bangui", |
| "Africa/Banjul", |
| "Africa/Bissau", |
| "Africa/Blantyre", |
| "Africa/Brazzaville", |
| "Africa/Bujumbura", |
| "Africa/Cairo", |
| "Africa/Casablanca", |
| "Africa/Ceuta", |
| "Africa/Conakry", |
| "Africa/Dakar", |
| "Africa/Dar_es_Salaam", |
| "Africa/Djibouti", |
| "Africa/Douala", |
| "Africa/El_Aaiun", |
| "Africa/Freetown", |
| "Africa/Gaborone", |
| "Africa/Harare", |
| "Africa/Johannesburg", |
| "Africa/Kampala", |
| "Africa/Khartoum", |
| "Africa/Kigali", |
| "Africa/Kinshasa", |
| "Africa/Lagos", |
| "Africa/Libreville", |
| "Africa/Lome", |
| "Africa/Luanda", |
| "Africa/Lubumbashi", |
| "Africa/Lusaka", |
| "Africa/Malabo", |
| "Africa/Maputo", |
| "Africa/Maseru", |
| "Africa/Mbabane", |
| "Africa/Mogadishu", |
| "Africa/Monrovia", |
| "Africa/Nairobi", |
| "Africa/Ndjamena", |
| "Africa/Niamey", |
| "Africa/Nouakchott", |
| "Africa/Ouagadougou", |
| "Africa/Porto-Novo", |
| "Africa/Sao_Tome", |
| "Africa/Timbuktu", |
| "Africa/Tripoli", |
| "Africa/Tunis", |
| "Africa/Windhoek", |
| "America/Adak", |
| "America/Anchorage", |
| "America/Anguilla", |
| "America/Antigua", |
| "America/Araguaina", |
| "America/Aruba", |
| "America/Asuncion", |
| "America/Barbados", |
| "America/Belem", |
| "America/Belize", |
| "America/Boa_Vista", |
| "America/Bogota", |
| "America/Boise", |
| "America/Buenos_Aires", |
| "America/Cambridge_Bay", |
| "America/Cancun", |
| "America/Caracas", |
| "America/Catamarca", |
| "America/Cayenne", |
| "America/Cayman", |
| "America/Chicago", |
| "America/Chihuahua", |
| "America/Cordoba", |
| "America/Costa_Rica", |
| "America/Cuiaba", |
| "America/Curacao", |
| "America/Dawson", |
| "America/Dawson_Creek", |
| "America/Denver", |
| "America/Detroit", |
| "America/Dominica", |
| "America/Edmonton", |
| "America/Eirunepe", |
| "America/El_Salvador", |
| "America/Fortaleza", |
| "America/Glace_Bay", |
| "America/Godthab", |
| "America/Goose_Bay", |
| "America/Grand_Turk", |
| "America/Grenada", |
| "America/Guadeloupe", |
| "America/Guatemala", |
| "America/Guayaquil", |
| "America/Guyana", |
| "America/Halifax", |
| "America/Havana", |
| "America/Hermosillo", |
| "America/Indiana/Knox", |
| "America/Indiana/Marengo", |
| "America/Indiana/Vevay", |
| "America/Indianapolis", |
| "America/Inuvik", |
| "America/Iqaluit", |
| "America/Jamaica", |
| "America/Jujuy", |
| "America/Juneau", |
| "America/Kentucky/Monticello", |
| "America/La_Paz", |
| "America/Lima", |
| "America/Los_Angeles", |
| "America/Louisville", |
| "America/Maceio", |
| "America/Managua", |
| "America/Manaus", |
| "America/Martinique", |
| "America/Mazatlan", |
| "America/Mendoza", |
| "America/Menominee", |
| "America/Merida", |
| "America/Mexico_City", |
| "America/Miquelon", |
| "America/Monterrey", |
| "America/Montevideo", |
| "America/Montreal", |
| "America/Montserrat", |
| "America/Nassau", |
| "America/New_York", |
| "America/Nipigon", |
| "America/Nome", |
| "America/Noronha", |
| "America/Panama", |
| "America/Pangnirtung", |
| "America/Paramaribo", |
| "America/Phoenix", |
| "America/Port-au-Prince", |
| "America/Port_of_Spain", |
| "America/Porto_Acre", |
| "America/Porto_Velho", |
| "America/Puerto_Rico", |
| "America/Rainy_River", |
| "America/Rankin_Inlet", |
| "America/Recife", |
| "America/Regina", |
| "America/Rosario", |
| "America/Santiago", |
| "America/Santo_Domingo", |
| "America/Sao_Paulo", |
| "America/Scoresbysund", |
| "America/St_Johns", |
| "America/St_Kitts", |
| "America/St_Lucia", |
| "America/St_Thomas", |
| "America/St_Vincent", |
| "America/Swift_Current", |
| "America/Tegucigalpa", |
| "America/Thule", |
| "America/Thunder_Bay", |
| "America/Tijuana", |
| "America/Tortola", |
| "America/Vancouver", |
| "America/Whitehorse", |
| "America/Winnipeg", |
| "America/Yakutat", |
| "America/Yellowknife", |
| "Antarctica/Casey", |
| "Antarctica/Davis", |
| "Antarctica/DumontDUrville", |
| "Antarctica/Mawson", |
| "Antarctica/McMurdo", |
| "Antarctica/Palmer", |
| "Antarctica/Syowa", |
| "Arctic/Longyearbyen", |
| "Asia/Aden", |
| "Asia/Almaty", |
| "Asia/Amman", |
| "Asia/Anadyr", |
| "Asia/Aqtau", |
| "Asia/Aqtobe", |
| "Asia/Ashgabat", |
| "Asia/Baghdad", |
| "Asia/Bahrain", |
| "Asia/Baku", |
| "Asia/Bangkok", |
| "Asia/Beirut", |
| "Asia/Bishkek", |
| "Asia/Brunei", |
| "Asia/Calcutta", |
| "Asia/Chungking", |
| "Asia/Colombo", |
| "Asia/Damascus", |
| "Asia/Dhaka", |
| "Asia/Dili", |
| "Asia/Dubai", |
| "Asia/Dushanbe", |
| "Asia/Gaza", |
| "Asia/Harbin", |
| "Asia/Hong_Kong", |
| "Asia/Hovd", |
| "Asia/Irkutsk", |
| "Asia/Jakarta", |
| "Asia/Jayapura", |
| "Asia/Jerusalem", |
| "Asia/Kabul", |
| "Asia/Kamchatka", |
| "Asia/Karachi", |
| "Asia/Kashgar", |
| "Asia/Katmandu", |
| "Asia/Krasnoyarsk", |
| "Asia/Kuala_Lumpur", |
| "Asia/Kuching", |
| "Asia/Kuwait", |
| "Asia/Macao", |
| "Asia/Magadan", |
| "Asia/Manila", |
| "Asia/Muscat", |
| "Asia/Nicosia", |
| "Asia/Novosibirsk", |
| "Asia/Omsk", |
| "Asia/Phnom_Penh", |
| "Asia/Pyongyang", |
| "Asia/Qatar", |
| "Asia/Rangoon", |
| "Asia/Riyadh", |
| "Asia/Riyadh87", |
| "Asia/Riyadh88", |
| "Asia/Riyadh89", |
| "Asia/Saigon", |
| "Asia/Samarkand", |
| "Asia/Seoul", |
| "Asia/Shanghai", |
| "Asia/Singapore", |
| "Asia/Taipei", |
| "Asia/Tashkent", |
| "Asia/Tbilisi", |
| "Asia/Tehran", |
| "Asia/Thimphu", |
| "Asia/Tokyo", |
| "Asia/Ujung_Pandang", |
| "Asia/Ulaanbaatar", |
| "Asia/Urumqi", |
| "Asia/Vientiane", |
| "Asia/Vladivostok", |
| "Asia/Yakutsk", |
| "Asia/Yekaterinburg", |
| "Asia/Yerevan", |
| "Atlantic/Azores", |
| "Atlantic/Bermuda", |
| "Atlantic/Canary", |
| "Atlantic/Cape_Verde", |
| "Atlantic/Faeroe", |
| "Atlantic/Jan_Mayen", |
| "Atlantic/Madeira", |
| "Atlantic/Reykjavik", |
| "Atlantic/South_Georgia", |
| "Atlantic/St_Helena", |
| "Atlantic/Stanley", |
| "Australia/Adelaide", |
| "Australia/Brisbane", |
| "Australia/Broken_Hill", |
| "Australia/Darwin", |
| "Australia/Hobart", |
| "Australia/Lindeman", |
| "Australia/Lord_Howe", |
| "Australia/Melbourne", |
| "Australia/Perth", |
| "Australia/Sydney", |
| "BET", |
| "BST", |
| "CAT", |
| "CET", |
| "CNT", |
| "CST", |
| "CTT", |
| "EAT", |
| "ECT", |
| "EET", |
| "EST", |
| "Etc/GMT", |
| "Etc/GMT+1", |
| "Etc/GMT+10", |
| "Etc/GMT+11", |
| "Etc/GMT+12", |
| "Etc/GMT+2", |
| "Etc/GMT+3", |
| "Etc/GMT+4", |
| "Etc/GMT+5", |
| "Etc/GMT+6", |
| "Etc/GMT+7", |
| "Etc/GMT+8", |
| "Etc/GMT+9", |
| "Etc/GMT-1", |
| "Etc/GMT-10", |
| "Etc/GMT-11", |
| "Etc/GMT-12", |
| "Etc/GMT-13", |
| "Etc/GMT-14", |
| "Etc/GMT-2", |
| "Etc/GMT-3", |
| "Etc/GMT-4", |
| "Etc/GMT-5", |
| "Etc/GMT-6", |
| "Etc/GMT-7", |
| "Etc/GMT-8", |
| "Etc/GMT-9", |
| "Etc/UCT", |
| "Etc/UTC", |
| "Europe/Amsterdam", |
| "Europe/Andorra", |
| "Europe/Athens", |
| "Europe/Belfast", |
| "Europe/Belgrade", |
| "Europe/Berlin", |
| "Europe/Bratislava", |
| "Europe/Brussels", |
| "Europe/Bucharest", |
| "Europe/Budapest", |
| "Europe/Chisinau", |
| "Europe/Copenhagen", |
| "Europe/Dublin", |
| "Europe/Gibraltar", |
| "Europe/Helsinki", |
| "Europe/Istanbul", |
| "Europe/Kaliningrad", |
| "Europe/Kiev", |
| "Europe/Lisbon", |
| "Europe/Ljubljana", |
| "Europe/London", |
| "Europe/Luxembourg", |
| "Europe/Madrid", |
| "Europe/Malta", |
| "Europe/Minsk", |
| "Europe/Monaco", |
| "Europe/Moscow", |
| "Europe/Oslo", |
| "Europe/Paris", |
| "Europe/Prague", |
| "Europe/Riga", |
| "Europe/Rome", |
| "Europe/Samara", |
| "Europe/San_Marino", |
| "Europe/Sarajevo", |
| "Europe/Simferopol", |
| "Europe/Skopje", |
| "Europe/Sofia", |
| "Europe/Stockholm", |
| "Europe/Tallinn", |
| "Europe/Tirane", |
| "Europe/Tiraspol", |
| "Europe/Uzhgorod", |
| "Europe/Vaduz", |
| "Europe/Vatican", |
| "Europe/Vienna", |
| "Europe/Vilnius", |
| "Europe/Warsaw", |
| "Europe/Zagreb", |
| "Europe/Zaporozhye", |
| "Europe/Zurich", |
| "GMT", |
| "HST", |
| "IET", |
| "IST", |
| "Indian/Antananarivo", |
| "Indian/Chagos", |
| "Indian/Christmas", |
| "Indian/Cocos", |
| "Indian/Comoro", |
| "Indian/Kerguelen", |
| "Indian/Mahe", |
| "Indian/Maldives", |
| "Indian/Mauritius", |
| "Indian/Mayotte", |
| "Indian/Reunion", |
| "JST", |
| "MET", |
| "MIT", |
| "MST", |
| "NET", |
| "NST", |
| "PLT", |
| "PNT", |
| "PRT", |
| "PST", |
| "Pacific/Apia", |
| "Pacific/Auckland", |
| "Pacific/Chatham", |
| "Pacific/Easter", |
| "Pacific/Efate", |
| "Pacific/Enderbury", |
| "Pacific/Fakaofo", |
| "Pacific/Fiji", |
| "Pacific/Funafuti", |
| "Pacific/Galapagos", |
| "Pacific/Gambier", |
| "Pacific/Guadalcanal", |
| "Pacific/Guam", |
| "Pacific/Honolulu", |
| "Pacific/Johnston", |
| "Pacific/Kiritimati", |
| "Pacific/Kosrae", |
| "Pacific/Kwajalein", |
| "Pacific/Majuro", |
| "Pacific/Marquesas", |
| "Pacific/Midway", |
| "Pacific/Nauru", |
| "Pacific/Niue", |
| "Pacific/Norfolk", |
| "Pacific/Noumea", |
| "Pacific/Pago_Pago", |
| "Pacific/Palau", |
| "Pacific/Pitcairn", |
| "Pacific/Ponape", |
| "Pacific/Port_Moresby", |
| "Pacific/Rarotonga", |
| "Pacific/Saipan", |
| "Pacific/Tahiti", |
| "Pacific/Tarawa", |
| "Pacific/Tongatapu", |
| "Pacific/Truk", |
| "Pacific/Wake", |
| "Pacific/Wallis", |
| "Pacific/Yap", |
| "SST", |
| "UTC", |
| "VST", |
| "WET", |
| }; |
| |
| /** |
| * RLE encoded form of DATA. |
| * @see com.ibm.util.Utility.RLEStringToIntArray |
| * >> GENERATED DATA: DO NOT EDIT << |
| */ |
| static final String DATA_RLE = |
| "\000\u06A0\000\000\uFFFF\u5740\000\001\000\u0120\000\000\uFFFF\u6550\000"+ |
| "\006\000\u011F\000\u017D\000\u0185\000\u0199\000\u019B\000\u019E\000\000"+ |
| "\uFFFF\u7360\000\006\000\u011E\000\u016D\000\u018B\000\u0192\000\u0193"+ |
| "\000\u01A5\000\001\uFFFF\u7360\000\003\000\001\uFFFF\uFFFF\000x\000\000"+ |
| "\000\011\uFFFF\uFFFF\000\001\000x\000\000\000<\000\001\0009\000\001\uFFFF"+ |
| "\u7360\000\011\uFFFF\uFFFF\000\001\000\000\000\000\000\002\000\001\uFFFF"+ |
| "\uFFFF\000\000\000\000\000\036\000\001\000\u01A3\000\000\uFFFF\u7A68\000"+ |
| "\001\000\u0198\000\000\uFFFF\u8170\000\002\000\u0128\000\u018F\000\001"+ |
| "\uFFFF\u8170\000\003\000\001\uFFFF\uFFFF\000x\000\000\000\011\uFFFF\uFFFF"+ |
| "\000\001\000x\000\000\000<\000\005\000\004\000:\000p\000\u0087\000\u00A9"+ |
| "\000\000\uFFFF\u8F80\000\002\000\u0127\000\u01A0\000\001\uFFFF\u8F80\000"+ |
| "\003\000\001\uFFFF\uFFFF\000x\000\000\000\011\uFFFF\uFFFF\000\001\000"+ |
| "x\000\000\000<\000\006\000S\000t\000\u00A4\000\u00A6\000\u00A7\000\u0184"+ |
| "\000\000\uFFFF\u9D90\000\005\000T\000g\000\u008C\000\u0126\000\u0182\000"+ |
| "\001\uFFFF\u9D90\000\003\000\001\uFFFF\uFFFF\000x\000\000\000\011\uFFFF"+ |
| "\uFFFF\000\001\000x\000\000\000<\000\010\000E\000N\000U\000X\000l\000"+ |
| "z\000\u00AA\000\u017E\000\000\uFFFF\uABA0\000\005\000w\000\u0095\000\u00A0"+ |
| "\000\u0125\000\u018E\000\001\uFFFF\uABA0\000\003\000\001\uFFFF\uFFFF\000"+ |
| "x\000\000\000\011\uFFFF\uFFFF\000\001\000x\000\000\000<\000\011\000G\000"+ |
| "H\000M\000|\000}\000~\000\u0080\000\u0092\000\u0116\000\001\uFFFF\uABA0"+ |
| "\000\003\000\001\uFFFF\uFFFF\000x\000\000\000\011\uFFFF\uFFFF\000\001"+ |
| "\000x\000\001\000<\000\001\000\u00A8\000\001\uFFFF\uABA0\000\013\000\022"+ |
| "\000\000\000\000\000\000\000\001\000\014\000\000\000\000\000\000\000<"+ |
| "\000\001\000B\000\001\uFFFF\uABA0\000\000\000\017\uFFFF\uFFF9\000\000"+ |
| "\000\000\000\002\000\017\000\000\000\000\000\000\000<\000\001\000P\000"+ |
| "\001\uFFFF\uABA0\000\002\000\027\000\000\000\000\000\000\000\010\000\007"+ |
| "\000\000\000\000\000\000\000<\000\001\000b\000\001\uFFFF\uABA0\000\004"+ |
| "\000\001\uFFFF\uFFFF\000\000\000\000\000\010\uFFFF\uFFFF\000\001\000\000"+ |
| "\000\000\000<\000\002\000Z\000\u00A1\000\001\uFFFF\uABA0\000\011\000\011"+ |
| "\uFFFF\uFFFF\000\000\000\000\000\002\000\011\uFFFF\uFFFF\000\000\000\000"+ |
| "\000<\000\001\000\u0188\000\000\uFFFF\uB9B0\000\017\000L\000Y\000c\000"+ |
| "h\000i\000j\000k\000m\000n\000\u0089\000\u008A\000\u008F\000\u0093\000"+ |
| "\u0124\000\u016E\000\001\uFFFF\uB9B0\000\003\000\001\uFFFF\uFFFF\000\000"+ |
| "\000\000\000\011\uFFFF\uFFFF\000\001\000\000\000\000\000<\000\001\000"+ |
| "_\000\001\uFFFF\uB9B0\000\003\000\001\uFFFF\uFFFF\000\000\000\001\000"+ |
| "\011\uFFFF\uFFFF\000\001\000\000\000\001\000<\000\001\000f\000\001\uFFFF"+ |
| "\uB9B0\000\003\000\001\uFFFF\uFFFF\000<\000\001\000\011\uFFFF\uFFFF\000"+ |
| "\001\000<\000\001\000<\000\001\000\u008D\000\001\uFFFF\uB9B0\000\003\000"+ |
| "\001\uFFFF\uFFFF\000x\000\000\000\011\uFFFF\uFFFF\000\001\000x\000\000"+ |
| "\000<\000\011\000V\000q\000u\000\u0082\000\u0084\000\u0085\000\u0086\000"+ |
| "\u00A3\000\u011B\000\001\uFFFF\uB9B0\000\000\000\001\000\000\000\000\000"+ |
| "\000\000\003\000\001\000\000\000\000\000\000\000<\000\001\000s\000\001"+ |
| "\uFFFF\uB9B0\000\004\000\002\000\000\000\000\000\000\000\013\000\037\000"+ |
| "\000\000\000\000\000\000<\000\001\000D\000\000\uFFFF\uC7C0\000\031\000"+ |
| ";\000<\000>\000C\000I\000R\000W\000`\000a\000d\000r\000x\000y\000\u0083"+ |
| "\000\u008E\000\u0090\000\u0091\000\u0098\000\u009C\000\u009D\000\u009E"+ |
| "\000\u009F\000\u00A5\000\u0123\000\u0183\000\001\uFFFF\uC7C0\000\003\000"+ |
| "\001\uFFFF\uFFFF\000\001\000\000\000\011\uFFFF\uFFFF\000\001\000\001\000"+ |
| "\000\000<\000\001\000^\000\001\uFFFF\uC7C0\000\003\000\001\uFFFF\uFFFF"+ |
| "\000x\000\000\000\011\uFFFF\uFFFF\000\001\000x\000\000\000<\000\004\000"+ |
| "\134\000e\000\u00A2\000\u00FD\000\001\uFFFF\uC7C0\000\003\000\017\uFFFF"+ |
| "\uFFFF\000x\000\000\000\010\000\031\000\000\000x\000\000\000<\000\001"+ |
| "\000@\000\001\uFFFF\uC7C0\000\011\000\001\uFFFF\uFFFF\000\000\000\000"+ |
| "\000\001\uFFFF\uFFFF\000\001\000\000\000\000\000<\000\001\000?\000\001"+ |
| "\uFFFF\uC7C0\000\011\000\010\uFFFF\uFFFF\000\000\000\000\000\001\000\017"+ |
| "\uFFFF\uFFFF\000\000\000\000\000<\000\001\000Q\000\001\uFFFF\uC7C0\000"+ |
| "\011\000\011\uFFFF\uFFFF\000\000\000\000\000\002\000\011\uFFFF\uFFFF\000"+ |
| "\000\000\000\000<\000\002\000\u0097\000\u00B0\000\001\uFFFF\uC7C0\000"+ |
| "\010\000\010\uFFFF\uFFFF\000\000\000\000\000\003\000\020\uFFFF\uFFFF\000"+ |
| "\000\000\000\000<\000\001\000\u0106\000\001\uFFFF\uCEC8\000\003\000\001"+ |
| "\uFFFF\uFFFF\000\001\000\000\000\011\uFFFF\uFFFF\000\001\000\001\000\000"+ |
| "\000<\000\002\000\u009B\000\u0115\000\000\uFFFF\uD5D0\000\016\000\002"+ |
| "\000A\000F\000J\000K\000O\000[\000o\000v\000{\000\u008B\000\u0094\000"+ |
| "\u0096\000\u0122\000\001\uFFFF\uD5D0\000\003\000\001\uFFFF\uFFFF\000x"+ |
| "\000\000\000\011\uFFFF\uFFFF\000\001\000x\000\000\000<\000\001\000\u007F"+ |
| "\000\001\uFFFF\uD5D0\000\002\uFFFF\uFFFF\000\001\000<\000\002\000\011"+ |
| "\uFFFF\uFFFF\000\001\000<\000\002\000<\000\001\000]\000\001\uFFFF\uD5D0"+ |
| "\000\011\000\022\000\000\000\000\000\000\000\001\000\034\000\000\000\000"+ |
| "\000\000\000<\000\001\000\u0081\000\001\uFFFF\uD5D0\000\011\000\010\uFFFF"+ |
| "\uFFFF\000\000\000\000\000\001\000\017\uFFFF\uFFFF\000\000\000\000\000"+ |
| "<\000\003\000=\000\u0099\000\u0111\000\000\uFFFF\uE3E0\000\003\000\u0088"+ |
| "\000\u0104\000\u0121\000\000\uFFFF\uF1F0\000\003\000\u00FF\000\u0101\000"+ |
| "\u011D\000\001\uFFFF\uF1F0\000\002\uFFFF\uFFFF\000\001\000<\000\002\000"+ |
| "\011\uFFFF\uFFFF\000\001\000<\000\002\000<\000\002\000\u009A\000\u00FC"+ |
| "\000\000\000\000\000\025\000\005\000\012\000\014\000\015\000\022\000\024"+ |
| "\000\025\000\031\000$\000-\0001\0002\0004\0005\000\u0103\000\u0105\000"+ |
| "\u011C\000\u0137\000\u0138\000\u016C\000\u01AD\000\001\000\000\000\005"+ |
| "\000\001\000\000\000\000\000\000\000\010\000\001\000\000\000\000\000\000"+ |
| "\000<\000\001\000\032\000\001\000\000\000\002\uFFFF\uFFFF\000\001\000"+ |
| "<\000\002\000\011\uFFFF\uFFFF\000\001\000<\000\002\000<\000\010\000\u00FE"+ |
| "\000\u0100\000\u0102\000\u013C\000\u0145\000\u014B\000\u014D\000\u01AF"+ |
| "\000\001\000\000\000\010\000\001\000\000\000\000\000\000\000\013\000\037"+ |
| "\000\000\000\000\000\000\000\024\000\001\000\006\000\000\000\u0E10\000"+ |
| "\015\000\010\000\013\000\017\000\030\000!\000\042\000#\000%\000(\000/"+ |
| "\0000\0003\000\u0129\000\001\000\u0E10\000\002\uFFFF\uFFFF\000\001\000"+ |
| "<\000\002\000\011\uFFFF\uFFFF\000\001\000<\000\002\000<\000 \000\023\000"+ |
| "\u00B2\000\u0119\000\u0139\000\u013A\000\u013D\000\u013E\000\u013F\000"+ |
| "\u0140\000\u0142\000\u0144\000\u0146\000\u014C\000\u014E\000\u014F\000"+ |
| "\u0150\000\u0152\000\u0154\000\u0155\000\u0156\000\u0158\000\u015A\000"+ |
| "\u015B\000\u015D\000\u015F\000\u0161\000\u0164\000\u0165\000\u0166\000"+ |
| "\u0168\000\u0169\000\u016B\000\001\000\u0E10\000\002\uFFFF\uFFFF\000\001"+ |
| "\000x\000\001\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\002\000"+ |
| "\u0114\000\u017C\000\001\000\u0E10\000\004\000\001\000\000\000\000\000"+ |
| "\001\000\010\uFFFF\uFFFF\000\001\000\000\000\001\000<\000\001\0007\000"+ |
| "\001\000\u0E10\000\010\000\001\uFFFF\uFFFF\000x\000\000\000\003\000\001"+ |
| "\uFFFF\uFFFF\000x\000\000\000<\000\001\0008\000\000\000\u1C20\000\020"+ |
| "\000\016\000\020\000\033\000\034\000 \000&\000'\000)\000*\000+\0006\000"+ |
| "\u0113\000\u012F\000\u0157\000\u0160\000\u0167\000\001\000\u1C20\000\003"+ |
| "\000\001\000\000\000\000\000\000\000\011\000\001\000\000\000\000\000\000"+ |
| "\000<\000\001\000\u00C4\000\001\000\u1C20\000\003\000\001\000\000\000"+ |
| "<\000\000\000\010\000\030\000\000\000<\000\000\000<\000\001\000\u00D0"+ |
| "\000\001\000\u1C20\000\003\000\017\uFFFF\uFFFA\000\000\000\000\000\011"+ |
| "\000\017\uFFFF\uFFFA\000\000\000\000\000<\000\001\000\u00C9\000\001\000"+ |
| "\u1C20\000\003\uFFFF\uFFFF\000\006\000\000\000\001\000\010\uFFFF\uFFFF"+ |
| "\000\005\000\u0564\000\001\000<\000\002\000\003\000\021\000\001\000\u1C20"+ |
| "\000\002\uFFFF\uFFFF\000\001\000\000\000\000\000\011\uFFFF\uFFFF\000\001"+ |
| "\000\000\000\000\000<\000\001\000\u00BE\000\001\000\u1C20\000\002\uFFFF"+ |
| "\uFFFF\000\001\000<\000\002\000\011\uFFFF\uFFFF\000\001\000<\000\002\000"+ |
| "<\000\014\000\u00DE\000\u011A\000\u013B\000\u0141\000\u0143\000\u0147"+ |
| "\000\u0148\000\u014A\000\u015C\000\u015E\000\u0163\000\u016A\000\001\000"+ |
| "\u1C20\000\002\uFFFF\uFFFF\000\001\000x\000\001\000\011\uFFFF\uFFFF\000"+ |
| "\001\000x\000\001\000<\000\002\000\u0149\000\u0151\000\001\000\u1C20\000"+ |
| "\002\uFFFF\uFFFF\000\005\000\000\000\001\000\010\uFFFF\uFFFF\000\005\000"+ |
| "\000\000\001\000<\000\001\000\u00B5\000\001\000\u1C20\000\010\000\017"+ |
| "\uFFFF\uFFFF\000x\000\000\000\002\000\017\uFFFF\uFFFF\000x\000\000\000"+ |
| "<\000\001\000\035\000\000\000\u2A30\000\023\000\007\000\011\000\026\000"+ |
| "\027\000\036\000\037\000,\000.\000\u00B1\000\u00B3\000\u00BB\000\u00D9"+ |
| "\000\u00E3\000\u00E5\000\u0118\000\u0130\000\u0170\000\u0174\000\u0179"+ |
| "\000\001\000\u2A30\000\003\000\001\000\000\000\u00B4\000\001\000\011\000"+ |
| "\001\000\000\000\u00B4\000\001\000<\000\001\000\u00BA\000\001\000\u2A30"+ |
| "\000\002\uFFFF\uFFFF\000\001\000x\000\001\000\011\uFFFF\uFFFF\000\001"+ |
| "\000x\000\001\000<\000\002\000\u0153\000\u0162\000\000\000\u2BD8\000\003"+ |
| "\000\u00E6\000\u00E7\000\u00E8\000\001\000\u3138\000\002\000\024\000\000"+ |
| "\000\000\000\000\000\010\000\027\000\000\000\000\000\000\000<\000\001"+ |
| "\000\u00F1\000\000\000\u3840\000\006\000\u00C7\000\u00DD\000\u0131\000"+ |
| "\u0176\000\u0178\000\u017A\000\001\000\u3840\000\002\uFFFF\uFFFF\000\001"+ |
| "\000\000\000\000\000\011\uFFFF\uFFFF\000\001\000\000\000\000\000<\000"+ |
| "\002\000\u00B7\000\u00F0\000\001\000\u3840\000\002\uFFFF\uFFFF\000\001"+ |
| "\000<\000\000\000\011\uFFFF\uFFFF\000\001\000<\000\000\000<\000\001\000"+ |
| "\u00BC\000\001\000\u3840\000\002\uFFFF\uFFFF\000\001\000x\000\001\000"+ |
| "\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\003\000\u00FB\000\u0159"+ |
| "\000\u017F\000\000\000\u3F48\000\001\000\u00D1\000\000\000\u4650\000\012"+ |
| "\000\u00B9\000\u00C8\000\u00D3\000\u00EA\000\u00EF\000\u0132\000\u0171"+ |
| "\000\u0175\000\u0177\000\u0181\000\001\000\u4650\000\002\uFFFF\uFFFF\000"+ |
| "\001\000\000\000\000\000\011\uFFFF\uFFFF\000\001\000\000\000\000\000<"+ |
| "\000\001\000\u00B8\000\001\000\u4650\000\002\uFFFF\uFFFF\000\001\000x"+ |
| "\000\001\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\001\000\u00FA"+ |
| "\000\001\000\u4650\000\002\uFFFF\uFFFF\000\001\000\u0096\000\000\000\011"+ |
| "\uFFFF\uFFFF\000\001\000\u0096\000\000\000<\000\001\000\u00BF\000\000"+ |
| "\000\u4D58\000\002\000\u00C1\000\u016F\000\000\000\u50DC\000\001\000\u00D5"+ |
| "\000\000\000\u5460\000\006\000\u00AE\000\u00C3\000\u00C5\000\u00F2\000"+ |
| "\u0112\000\u0133\000\001\000\u5460\000\002\uFFFF\uFFFF\000\001\000\000"+ |
| "\000\000\000\011\uFFFF\uFFFF\000\001\000\000\000\000\000<\000\001\000"+ |
| "\u00B4\000\001\000\u5460\000\002\uFFFF\uFFFF\000\001\000x\000\001\000"+ |
| "\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\002\000\u00DF\000\u00E0"+ |
| "\000\000\000\u5B68\000\002\000\u00E4\000\u0173\000\000\000\u6270\000\011"+ |
| "\000\u00AC\000\u00BD\000\u00CE\000\u00E1\000\u00E9\000\u00F7\000\u0134"+ |
| "\000\u0172\000\u01AE\000\001\000\u6270\000\002\uFFFF\uFFFF\000\001\000"+ |
| "\000\000\000\000\010\uFFFF\uFFFF\000\001\000\000\000\000\000<\000\001"+ |
| "\000\u00CC\000\001\000\u6270\000\002\uFFFF\uFFFF\000\001\000x\000\001"+ |
| "\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\001\000\u00D6\000\000"+ |
| "\000\u7080\000\010\000\u00AB\000\u00C0\000\u00D7\000\u00D8\000\u00ED\000"+ |
| "\u00F4\000\u010F\000\u0135\000\001\000\u7080\000\003\000\012\uFFFF\uFFFF"+ |
| "\000\000\000\000\000\010\000\013\uFFFF\uFFFF\000\000\000\000\000<\000"+ |
| "\007\000\u00C2\000\u00CA\000\u00D4\000\u00DA\000\u00EC\000\u00F6\000\u0117"+ |
| "\000\001\000\u7080\000\005\000\036\000\000\000\000\000\000\000\010\000"+ |
| "\036\000\000\000\000\000\000\000<\000\001\000\u00EE\000\001\000\u7080"+ |
| "\000\002\000\026\000\000\000\000\000\000\000\010\000\025\000\000\000\000"+ |
| "\000\000\000<\000\001\000\u00DC\000\001\000\u7080\000\002\uFFFF\uFFFF"+ |
| "\000\001\000\000\000\000\000\010\uFFFF\uFFFF\000\001\000\000\000\000\000"+ |
| "<\000\001\000\u00F5\000\001\000\u7080\000\002\uFFFF\uFFFF\000\001\000"+ |
| "x\000\001\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\001\000\u00CD"+ |
| "\000\001\000\u7080\000\004\000\010\uFFFF\uFFFF\000\u00D2\000\000\000\011"+ |
| "\000\020\uFFFF\uFFFF\000\u00D2\000\000\000<\000\001\000\u00CB\000\000"+ |
| "\000\u7E90\000\007\000\u00C6\000\u00CF\000\u00E2\000\u00F3\000\u0136\000"+ |
| "\u017B\000\u019F\000\001\000\u7E90\000\002\uFFFF\uFFFF\000\001\000x\000"+ |
| "\001\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\001\000\u00F9\000"+ |
| "\001\000\u7E90\000\004\uFFFF\uFFF2\uFFFF\uFFFF\000\000\000\000\000\011"+ |
| "\uFFFF\uFFF2\uFFFF\uFFFF\000\000\000\000\000<\000\001\000\u00EB\000\001"+ |
| "\000\u8598\000\011\000\003\000\000\000x\000\000\000\002\uFFFF\uFFFF\000"+ |
| "\001\000x\000\000\000<\000\002\000\000\000\u010A\000\001\000\u8598\000"+ |
| "\011\uFFFF\uFFFF\000\001\000x\000\001\000\002\uFFFF\uFFFF\000\001\000"+ |
| "x\000\001\000<\000\002\000\u0107\000\u0109\000\000\000\u8CA0\000\007\000"+ |
| "\u00AD\000\u012A\000\u0191\000\u01A2\000\u01A4\000\u01A8\000\u01AB\000"+ |
| "\001\000\u8CA0\000\002\uFFFF\uFFFF\000\001\000x\000\001\000\011\uFFFF"+ |
| "\uFFFF\000\001\000x\000\001\000<\000\001\000\u00F8\000\001\000\u8CA0\000"+ |
| "\011\uFFFF\uFFFF\000\001\000x\000\001\000\002\uFFFF\uFFFF\000\001\000"+ |
| "x\000\001\000<\000\003\000\001\000\u010E\000\u0110\000\001\000\u8CA0\000"+ |
| "\011\uFFFF\uFFFF\000\001\000x\000\001\000\002\000\001\uFFFF\uFFFF\000"+ |
| "x\000\001\000<\000\002\000\u0108\000\u010C\000\001\000\u8CA0\000\011\000"+ |
| "\001\uFFFF\uFFFF\000x\000\001\000\002\uFFFF\uFFFF\000\001\000x\000\001"+ |
| "\000<\000\001\000\u010B\000\001\000\u93A8\000\011\uFFFF\uFFFF\000\001"+ |
| "\000x\000\001\000\002\uFFFF\uFFFF\000\001\000x\000\001\000\036\000\001"+ |
| "\000\u010D\000\000\000\u9AB0\000\005\000\u012B\000\u0190\000\u0195\000"+ |
| "\u01A1\000\u01AC\000\001\000\u9AB0\000\013\000\001\000\000\000x\000\001"+ |
| "\000\002\000\002\000\000\000x\000\001\000<\000\001\000\u019D\000\001\000"+ |
| "\u9AB0\000\002\uFFFF\uFFFF\000\001\000x\000\001\000\011\uFFFF\uFFFF\000"+ |
| "\001\000x\000\001\000<\000\001\000\u00DB\000\001\000\u9AB0\000\011\000"+ |
| "\027\uFFFF\uFFFF\000\000\000\000\000\000\000\027\uFFFF\uFFFF\000\000\000"+ |
| "\000\000<\000\001\000\u0189\000\000\000\uA1B8\000\001\000\u019C\000\000"+ |
| "\000\uA8C0\000\010\000\u012C\000\u018D\000\u0196\000\u0197\000\u019A\000"+ |
| "\u01A6\000\u01A9\000\u01AA\000\001\000\uA8C0\000\002\uFFFF\uFFFF\000\001"+ |
| "\000x\000\001\000\011\uFFFF\uFFFF\000\001\000x\000\001\000<\000\002\000"+ |
| "\u00B6\000\u00D2\000\001\000\uA8C0\000\012\000\001\uFFFF\uFFFF\000x\000"+ |
| "\000\000\001\uFFFF\uFFFF\000\001\000\u00B4\000\000\000<\000\001\000\u018C"+ |
| "\000\001\000\uA8C0\000\011\000\001\uFFFF\uFFFF\000x\000\001\000\002\000"+ |
| "\017\uFFFF\uFFFF\000x\000\001\000<\000\003\000\u00AF\000\u0180\000\u0186"+ |
| "\000\001\000\uB34C\000\011\000\001\uFFFF\uFFFF\000\u00A5\000\001\000\002"+ |
| "\000\017\uFFFF\uFFFF\000\u00A5\000\001\000<\000\001\000\u0187\000\000"+ |
| "\000\uB6D0\000\002\000\u012D\000\u018A\000\001\000\uB6D0\000\012\000\004"+ |
| "\000\000\000x\000\001\000\000\000\033\000\000\000x\000\001\000<\000\001"+ |
| "\000\u01A7\000\000\000\uC4E0\000\002\000\u012E\000\u0194" |
| ; |
| |
| /** |
| * RLE encoded form of INDEX_BY_NAME_ARRAY. |
| * @see com.ibm.util.Utility.RLEStringToIntArray |
| * >> GENERATED DATA: DO NOT EDIT << |
| */ |
| static final String INDEX_BY_NAME_ARRAY_RLE = |
| "\000\u01B0\000\u058C\000\u05C5\000\u020E\000\u0371\000=\000\u0279\000"+ |
| "\u02B6\000\u03D8\000\u02C5\000\u03D8\000\u0279\000\u02C5\000\u0279\000"+ |
| "\u0279\000\u0331\000\u02C5\000\u0331\000\u0371\000\u0279\000\u02D5\000"+ |
| "\u0279\000\u0279\000\u03D8\000\u03D8\000\u02C5\000\u0279\000\u0291\000"+ |
| "\u0331\000\u0331\000\u03C9\000\u03D8\000\u03D8\000\u0331\000\u02C5\000"+ |
| "\u02C5\000\u02C5\000\u0279\000\u02C5\000\u0331\000\u0331\000\u02C5\000"+ |
| "\u0331\000\u0331\000\u0331\000\u03D8\000\u0279\000\u03D8\000\u02C5\000"+ |
| "\u02C5\000\u0279\000\u0279\000\u02C5\000\u0279\000\u0279\000\u0331\000"+ |
| "\u0313\000\u0322\000\026\000=\000\u0175\000\u0175\000\u024C\000\u0175"+ |
| "\000\u01C1\000\u01B2\000\u020E\000\u00B5\000\u0175\000\u0166\000q\000"+ |
| "\u020E\000\u008F\000\u008F\000\u0175\000\u020E\000\u020E\000\u0101\000"+ |
| "\u008F\000q\000\u020E\000\u00C4\000\u01D0\000\u0175\000U\000i\000q\000"+ |
| "\u0140\000\u0175\000q\000\u0101\000\u00E2\000\u020E\000\u01A0\000\u022E"+ |
| "\000\u0191\000\u0113\000\u0175\000\u0175\000\u00D3\000\u0101\000\u0175"+ |
| "\000\u01A0\000\u0122\000i\000\uA5A5\000\004\000\u0101\000q\000\u0101\000"+ |
| "\u0101\000\u020E\000=\000\u0140\000\u0175\000\u0157\000U\000\u0140\000"+ |
| "\u020E\000\u0087\000\u0175\000\u0175\000q\000\u020E\000\u008F\000\u008F"+ |
| "\000\u008F\000\u021F\000\u008F\000\u023D\000\u0140\000\u0175\000\u0140"+ |
| "\000\u0140\000\u0140\000=\000\u025D\000\u0101\000\u0101\000\u020E\000"+ |
| "i\000\u0131\000\u0175\000\u0101\000\u0175\000\u0175\000\u008F\000\u0101"+ |
| "\000\u020E\000\u0087\000\u020E\000\u01DF\000\u0175\000\u024C\000\u0269"+ |
| "\000\u01FE\000\uA5A5\000\004\000\u0175\000\u0087\000\u00E2\000\u01A0\000"+ |
| "\u0140\000U\000\u0175\000U\000U\000\u00A6\000=\000q\000\u04F9\000\u04CF"+ |
| "\000\u05AC\000\u04A2\000\u0667\000\u01DF\000\u03D8\000\u02D5\000\u03D8"+ |
| "\000\u04AB\000\u03BA\000\u0648\000\u042B\000\u046C\000\u045F\000\u03EE"+ |
| "\000\u03D8\000\u043B\000\u04CF\000\u0381\000\u048A\000\u04F9\000\u0499"+ |
| "\000\u0504\000\u04A2\000\u0344\000\u04A2\000\u0564\000\u0422\000\u045F"+ |
| "\000\u0362\000\u0504\000\u0555\000\u04DB\000\u0546\000\u04CF\000\u0564"+ |
| "\000\u0353\000\u045B\000\u0648\000\u045F\000\u0504\000\u049E\000\u04EA"+ |
| "\000\u04F9\000\u04F9\000\u03D8\000\u0504\000\u061B\000\u0528\000\u0422"+ |
| "\000\u0390\000\u04BA\000\u04BA\000\u04CF\000\u0564\000\u03D8\000\u04CA"+ |
| "\000\u03D8\000\u040D\000\u040D\000\u040D\000\u04CF\000\u045F\000\u057D"+ |
| "\000\u0504\000\u04F9\000\u0519\000\u045F\000\u042B\000\u0413\000\u04A2"+ |
| "\000\u0564\000\u04F9\000\u0537\000\u0504\000\u04CF\000\u05B6\000\u056E"+ |
| "\000\u047B\000\u044A\000\u0269\000\u01A0\000\u02A0\000\u0263\000\u02A0"+ |
| "\000\u0263\000\u02A0\000\u0279\000\u025D\000\u0279\000\u01EF\000\u059C"+ |
| "\000\u05D6\000\u059C\000\u058C\000\u05E6\000\u05D6\000\u05F5\000\u05C5"+ |
| "\000\u04F9\000\u05C5\000\u024C\000\u04A2\000\u0331\000\u0303\000\u01FE"+ |
| "\000\u008F\000\u0504\000\u03D8\000\u02D5\000\u0390\000\u0140\000\u0279"+ |
| "\000\u0263\000\015\000\004\000\000\000\u025D\000\u020E\000\u0175\000\u0101"+ |
| "\000\u0087\000i\000P\0008\000\u02C5\000\u05AC\000\u0604\000\u063D\000"+ |
| "\u0687\000\u069B\000\u0331\000\u03D8\000\u0422\000\u045F\000\u04A2\000"+ |
| "\u04CF\000\u04F9\000\u0564\000\u0279\000\u0279\000\u02D5\000\u02D5\000"+ |
| "\u0390\000\u02A0\000\uA5A5\000\004\000\u02D5\000\u0390\000\u02D5\000\u0390"+ |
| "\000\u02D5\000\u02A0\000\u02D5\000\u0390\000\u0390\000\u03AA\000\u0390"+ |
| "\000\u02A0\000\u02D5\000\u02A0\000\u02D5\000\u02D5\000\u02D5\000\u03AA"+ |
| "\000\u02D5\000\u03FD\000\u02D5\000\u02D5\000\u02D5\000\u0331\000\u02D5"+ |
| "\000\u044A\000\u02D5\000\u02D5\000\u0390\000\u02D5\000\u0390\000\u02D5"+ |
| "\000\u0331\000\u02D5\000\u03FD\000\u0390\000\u02D5\000\u02D5\000\u02D5"+ |
| "\000\u0331\000\u02D5\000\u02D5\000\u0390\000\u02D5\000\u0279\000\015\000"+ |
| "\u0101\000\u0499\000\u03D8\000\u045F\000\u04CF\000\u04CA\000\u03D8\000"+ |
| "\u045F\000\u0422\000\u045F\000\u0422\000\u03D8\000\u0422\000\u0564\000"+ |
| "\u0303\000\004\000q\000\u044A\000\u0667\000\u045F\000i\000\u0175\000U"+ |
| "\000\004\000\u0667\000\u0678\000\u00F2\000\u062A\000\u0687\000\015\000"+ |
| "\u0658\000\u063D\000\u0087\0008\000\u0604\000\u05AC\000\015\000\015\000"+ |
| "\u069B\000\u0604\000\u063D\000\u063D\0004\000\004\000\u063D\000\004\000"+ |
| "\u0639\000\u060C\000\004\000\u0564\000P\000\u0604\000\u05AC\000%\000\u05AC"+ |
| "\000\015\000\u063D\000\u068C\000\u05AC\000\u063D\000\u063D\000\u05AC\000"+ |
| "\u0604\000\u0279\000\u04CF\000\u02A0" |
| ; |
| |
| /** |
| * RLE encoded form of INDEX_BY_OFFSET. |
| * @see com.ibm.util.Utility.RLEStringToIntArray |
| * >> GENERATED DATA: DO NOT EDIT << |
| */ |
| static final String INDEX_BY_OFFSET_RLE = |
| "\000\u0225\uFFFF\u5740\000\u0120\000\001\000\u0120\uFFFF\u6550\000\u0185"+ |
| "\000\006\000\u011F\000\u017D\000\u0185\000\u0199\000\u019B\000\u019E\uFFFF"+ |
| "\u7360\000\u0192\000\010\0009\000\u011E\000\u016D\000\u018B\000\u0192"+ |
| "\000\u0193\000\u01A3\000\u01A5\uFFFF\u7A68\000\u0198\000\001\000\u0198"+ |
| "\uFFFF\u8170\000:\000\007\000\004\000:\000p\000\u0087\000\u00A9\000\u0128"+ |
| "\000\u018F\uFFFF\u8F80\000t\000\010\000S\000t\000\u00A4\000\u00A6\000"+ |
| "\u00A7\000\u0127\000\u0184\000\u01A0\uFFFF\u9D90\000U\000\015\000E\000"+ |
| "N\000T\000U\000X\000g\000l\000z\000\u008C\000\u00AA\000\u0126\000\u017E"+ |
| "\000\u0182\uFFFF\uABA0\000M\000\025\000B\000G\000H\000M\000P\000Z\000"+ |
| "b\000w\000|\000}\000~\000\u0080\000\u0092\000\u0095\000\u00A0\000\u00A1"+ |
| "\000\u00A8\000\u0116\000\u0125\000\u0188\000\u018E\uFFFF\uB9B0\000k\000"+ |
| "\035\000D\000L\000V\000Y\000_\000c\000f\000h\000i\000j\000k\000m\000n"+ |
| "\000q\000s\000u\000\u0082\000\u0084\000\u0085\000\u0086\000\u0089\000"+ |
| "\u008A\000\u008D\000\u008F\000\u0093\000\u00A3\000\u011B\000\u0124\000"+ |
| "\u016E\uFFFF\uC7C0\000\u0091\000$\000;\000<\000>\000?\000@\000C\000I\000"+ |
| "Q\000R\000W\000\134\000^\000`\000a\000d\000e\000r\000x\000y\000\u0083"+ |
| "\000\u008E\000\u0090\000\u0091\000\u0097\000\u0098\000\u009C\000\u009D"+ |
| "\000\u009E\000\u009F\000\u00A2\000\u00A5\000\u00B0\000\u00FD\000\u0106"+ |
| "\000\u0123\000\u0183\uFFFF\uCEC8\000\u009B\000\002\000\u009B\000\u0115"+ |
| "\uFFFF\uD5D0\000F\000\024\000\002\000=\000A\000F\000J\000K\000O\000[\000"+ |
| "]\000o\000v\000{\000\u007F\000\u0081\000\u008B\000\u0094\000\u0096\000"+ |
| "\u0099\000\u0111\000\u0122\uFFFF\uE3E0\000\u0088\000\003\000\u0088\000"+ |
| "\u0104\000\u0121\uFFFF\uF1F0\000\u00FC\000\005\000\u009A\000\u00FC\000"+ |
| "\u00FF\000\u0101\000\u011D\000\000\000\u016C\000\037\000\005\000\006\000"+ |
| "\012\000\014\000\015\000\022\000\024\000\025\000\031\000\032\000$\000"+ |
| "-\0001\0002\0004\0005\000\u00FE\000\u0100\000\u0102\000\u0103\000\u0105"+ |
| "\000\u011C\000\u0137\000\u0138\000\u013C\000\u0145\000\u014B\000\u014D"+ |
| "\000\u016C\000\u01AD\000\u01AF\000\u0E10\000\u0155\0001\000\010\000\013"+ |
| "\000\017\000\023\000\030\000!\000\042\000#\000%\000(\000/\0000\0003\000"+ |
| "7\0008\000\u00B2\000\u0114\000\u0119\000\u0129\000\u0139\000\u013A\000"+ |
| "\u013D\000\u013E\000\u013F\000\u0140\000\u0142\000\u0144\000\u0146\000"+ |
| "\u014C\000\u014E\000\u014F\000\u0150\000\u0152\000\u0154\000\u0155\000"+ |
| "\u0156\000\u0158\000\u015A\000\u015B\000\u015D\000\u015F\000\u0161\000"+ |
| "\u0164\000\u0165\000\u0166\000\u0168\000\u0169\000\u016B\000\u017C\000"+ |
| "\u1C20\000\021\000&\000\003\000\016\000\020\000\021\000\033\000\034\000"+ |
| "\035\000 \000&\000'\000)\000*\000+\0006\000\u00B5\000\u00BE\000\u00C4"+ |
| "\000\u00C9\000\u00D0\000\u00DE\000\u0113\000\u011A\000\u012F\000\u013B"+ |
| "\000\u0141\000\u0143\000\u0147\000\u0148\000\u0149\000\u014A\000\u0151"+ |
| "\000\u0157\000\u015C\000\u015E\000\u0160\000\u0163\000\u0167\000\u016A"+ |
| "\000\u2A30\000\007\000\026\000\007\000\011\000\026\000\027\000\036\000"+ |
| "\037\000,\000.\000\u00B1\000\u00B3\000\u00BA\000\u00BB\000\u00D9\000\u00E3"+ |
| "\000\u00E5\000\u0118\000\u0130\000\u0153\000\u0162\000\u0170\000\u0174"+ |
| "\000\u0179\000\u2BD8\000\u00E8\000\003\000\u00E6\000\u00E7\000\u00E8\000"+ |
| "\u3138\000\u00F1\000\001\000\u00F1\000\u3840\000\u00FB\000\014\000\u00B7"+ |
| "\000\u00BC\000\u00C7\000\u00DD\000\u00F0\000\u00FB\000\u0131\000\u0159"+ |
| "\000\u0176\000\u0178\000\u017A\000\u017F\000\u3F48\000\u00D1\000\001\000"+ |
| "\u00D1\000\u4650\000\u00D3\000\015\000\u00B8\000\u00B9\000\u00BF\000\u00C8"+ |
| "\000\u00D3\000\u00EA\000\u00EF\000\u00FA\000\u0132\000\u0171\000\u0175"+ |
| "\000\u0177\000\u0181\000\u4D58\000\u00C1\000\002\000\u00C1\000\u016F\000"+ |
| "\u50DC\000\u00D5\000\001\000\u00D5\000\u5460\000\u00C5\000\011\000\u00AE"+ |
| "\000\u00B4\000\u00C3\000\u00C5\000\u00DF\000\u00E0\000\u00F2\000\u0112"+ |
| "\000\u0133\000\u5B68\000\u00E4\000\002\000\u00E4\000\u0173\000\u6270\000"+ |
| "\u00E9\000\013\000\u00AC\000\u00BD\000\u00CC\000\u00CE\000\u00D6\000\u00E1"+ |
| "\000\u00E9\000\u00F7\000\u0134\000\u0172\000\u01AE\000\u7080\000\u00EC"+ |
| "\000\024\000\u00AB\000\u00C0\000\u00C2\000\u00CA\000\u00CB\000\u00CD\000"+ |
| "\u00D4\000\u00D7\000\u00D8\000\u00DA\000\u00DC\000\u00EC\000\u00ED\000"+ |
| "\u00EE\000\u00F4\000\u00F5\000\u00F6\000\u010F\000\u0117\000\u0135\000"+ |
| "\u7E90\000\u00F3\000\011\000\u00C6\000\u00CF\000\u00E2\000\u00EB\000\u00F3"+ |
| "\000\u00F9\000\u0136\000\u017B\000\u019F\000\u8598\000\u010A\000\004\000"+ |
| "\000\000\u0107\000\u0109\000\u010A\000\u8CA0\000\u0110\000\016\000\001"+ |
| "\000\u00AD\000\u00F8\000\u0108\000\u010B\000\u010C\000\u010E\000\u0110"+ |
| "\000\u012A\000\u0191\000\u01A2\000\u01A4\000\u01A8\000\u01AB\000\u93A8"+ |
| "\000\u010D\000\001\000\u010D\000\u9AB0\000\u0190\000\010\000\u00DB\000"+ |
| "\u012B\000\u0189\000\u0190\000\u0195\000\u019D\000\u01A1\000\u01AC\000"+ |
| "\uA1B8\000\u019C\000\001\000\u019C\000\uA8C0\000\u0186\000\016\000\u00AF"+ |
| "\000\u00B6\000\u00D2\000\u012C\000\u0180\000\u0186\000\u018C\000\u018D"+ |
| "\000\u0196\000\u0197\000\u019A\000\u01A6\000\u01A9\000\u01AA\000\uB34C"+ |
| "\000\u0187\000\001\000\u0187\000\uB6D0\000\u018A\000\003\000\u012D\000"+ |
| "\u018A\000\u01A7\000\uC4E0\000\u0194\000\002\000\u012E\000\u0194" |
| ; |
| |
| /** |
| * RLE encoded form of INDEX_BY_COUNTRY. |
| * @see com.ibm.util.Utility.RLEStringToIntArray |
| * >> GENERATED DATA: DO NOT EDIT << |
| */ |
| static final String INDEX_BY_COUNTRY_RLE = |
| "\000\u038C\000\000\000&\000\u00E6\000\u00E7\000\u00E8\000\u0114\000\u011A"+ |
| "\000\u011C\000\u011D\000\u011E\000\u011F\000\u0120\000\u0121\000\u0122"+ |
| "\000\u0123\000\u0124\000\u0125\000\u0126\000\u0127\000\u0128\000\u0129"+ |
| "\000\u012A\000\u012B\000\u012C\000\u012D\000\u012E\000\u012F\000\u0130"+ |
| "\000\u0131\000\u0132\000\u0133\000\u0134\000\u0135\000\u0136\000\u0137"+ |
| "\000\u0138\000\u016C\000\u017C\000\u01AD\000\u01AF\000\003\000\001\000"+ |
| "\u013A\000\004\000\001\000\u00C7\000\005\000\001\000\u00D1\000\006\000"+ |
| "\001\000<\000\010\000\001\000;\000\013\000\001\000\u0161\000\014\000\002"+ |
| "\000\u00FB\000\u017F\000\015\000\001\000R\000\016\000\001\000%\000\020"+ |
| "\000\007\000\u00AB\000\u00AC\000\u00AD\000\u00AE\000\u00AF\000\u00B0\000"+ |
| "\u00B1\000\021\000\007\000\002\000F\000J\000O\000o\000{\000\u0096\000"+ |
| "\022\000\001\000\u019E\000\023\000\001\000\u0166\000\024\000\014\000\000"+ |
| "\000\001\000\u0107\000\u0108\000\u0109\000\u010A\000\u010B\000\u010C\000"+ |
| "\u010D\000\u010E\000\u010F\000\u0110\000\026\000\001\000>\000\031\000"+ |
| "\001\000\u00BC\000 \000\001\000\u015B\000!\000\001\000@\000#\000\002\000"+ |
| "\u00C5\000\u0112\000$\000\001\000\u0140\000%\000\001\0002\000&\000\001"+ |
| "\000\u015E\000'\000\001\000\u00BB\000(\000\001\000\020\000)\000\001\000"+ |
| "3\000,\000\001\000\u00FD\000-\000\001\000\u00C0\000.\000\001\000r\000"+ |
| "1\000\016\000=\000A\000C\000Q\000Y\000[\000v\000x\000\u0088\000\u008F"+ |
| "\000\u0090\000\u0094\000\u0099\000\u0111\0002\000\001\000\u0084\0003\000"+ |
| "\001\000\u00F2\0006\000\001\000\033\0008\000\001\000\u0151\0009\000\001"+ |
| "\000B\000@\000\027\000G\000S\000T\000X\000\134\000^\000e\000l\000m\000"+ |
| "\u0082\000\u0086\000\u008A\000\u0092\000\u0093\000\u0095\000\u009B\000"+ |
| "\u00A0\000\u00A3\000\u00A6\000\u00A7\000\u00A8\000\u00AA\000\u0115\000"+ |
| "B\000\001\000\u0173\000C\000\002\000!\000&\000E\000\001\000\013\000F\000"+ |
| "\001\000\017\000G\000\001\000\u016B\000H\000\001\000\005\000J\000\001"+ |
| "\000\u01A3\000K\000\002\000\u0097\000\u0188\000L\000\001\000\030\000M"+ |
| "\000\006\000\u00C2\000\u00CA\000\u00D4\000\u00EC\000\u00F6\000\u0117\000"+ |
| "N\000\001\000D\000Q\000\001\000P\000T\000\001\000f\000U\000\001\000\u00FF"+ |
| "\000W\000\001\000\u0172\000X\000\001\000\u00DE\000Y\000\001\000\u0156"+ |
| "\000d\000\001\000\u013E\000i\000\001\000\027\000j\000\001\000\u0144\000"+ |
| "l\000\001\000W\000n\000\001\000\u0098\000y\000\001\000\010\000\u0082\000"+ |
| "\002\000c\000\u018E\000\u0084\000\001\000\u0160\000\u0086\000\002\000"+ |
| "\003\000\021\000\u0087\000\001\000\031\000\u0091\000\001\000\011\000\u0092"+ |
| "\000\003\000\023\000\u00FE\000\u014F\000\u0093\000\002\000\007\000\u0118"+ |
| "\000\u00A8\000\001\000\u0147\000\u00A9\000\001\000\u018C\000\u00AA\000"+ |
| "\001\000\u0106\000\u00AC\000\004\000\u0195\000\u01A1\000\u01A8\000\u01AB"+ |
| "\000\u00AE\000\001\000\u0100\000\u00B1\000\002\000\u0119\000\u0155\000"+ |
| "\u00C0\000\001\000#\000\u00C1\000\002\000\u013C\000\u014D\000\u00C3\000"+ |
| "\001\000`\000\u00C4\000\001\000\u00F0\000\u00C5\000\001\000K\000\u00C7"+ |
| "\000\001\000\006\000\u00C8\000\001\000\u0146\000\u00CB\000\003\000]\000"+ |
| "\u009A\000\u00A2\000\u00CC\000\001\000\014\000\u00CD\000\001\000\024\000"+ |
| "\u00CF\000\001\000a\000\u00D0\000\001\000(\000\u00D1\000\001\000\u013B"+ |
| "\000\u00D2\000\001\000\u0104\000\u00D3\000\001\000b\000\u00D4\000\001"+ |
| "\000\u0191\000\u00D6\000\001\000\015\000\u00D8\000\001\000d\000\u00EA"+ |
| "\000\001\000\u00CB\000\u00ED\000\001\000\u00A1\000\u00F1\000\001\000\u0169"+ |
| "\000\u00F3\000\001\000\u008D\000\u00F4\000\001\000\u0142\000\u0103\000"+ |
| "\003\000\u00CE\000\u00CF\000\u00F4\000\u0104\000\001\000\u0145\000\u010B"+ |
| "\000\001\000\u00D0\000\u010D\000\002\000\u00C1\000\u016F\000\u010E\000"+ |
| "\001\000\u0171\000\u0110\000\001\000\u00BA\000\u0111\000\001\000\u00F1"+ |
| "\000\u0112\000\001\000\u0103\000\u0113\000\001\000\u0158\000\u012C\000"+ |
| "\001\000n\000\u012E\000\001\000\u00B5\000\u012F\000\002\000\u00F3\000"+ |
| "\u017B\000\u0144\000\001\000.\000\u0146\000\001\000\u00BF\000\u0147\000"+ |
| "\001\000\u00E1\000\u0148\000\003\000\u018A\000\u0194\000\u01A6\000\u014C"+ |
| "\000\001\000\u0174\000\u014D\000\001\000\u009C\000\u014F\000\001\000\u00E2"+ |
| "\000\u0151\000\001\000\u00EB\000\u0156\000\001\000\u00D9\000\u0158\000"+ |
| "\001\000L\000\u0159\000\003\000\u00B4\000\u00B7\000\u00B8\000\u0160\000"+ |
| "\001\000\u00F7\000\u0161\000\001\000\u00BE\000\u0162\000\001\000\u009D"+ |
| "\000\u0168\000\001\000\u0164\000\u016A\000\001\000\u00C3\000\u0171\000"+ |
| "\001\000-\000\u0172\000\001\000*\000\u0173\000\001\000\u0167\000\u0174"+ |
| "\000\001\000\u014E\000\u0175\000\001\000\u0157\000\u0178\000\001\0006"+ |
| "\000\u0180\000\001\000\022\000\u0182\000\001\000\u0152\000\u0183\000\002"+ |
| "\000\u0143\000\u0162\000\u0186\000\001\000\u0170\000\u0187\000\002\000"+ |
| "\u0196\000\u0197\000\u018A\000\001\000\u015D\000\u018B\000\002\000\012"+ |
| "\0005\000\u018C\000\001\000\u00E4\000\u018D\000\002\000\u00CC\000\u00F5"+ |
| "\000\u018E\000\001\000\u00DA\000\u018F\000\001\000\u01A4\000\u0190\000"+ |
| "\001\000y\000\u0191\000\001\0001\000\u0192\000\001\000\u0083\000\u0193"+ |
| "\000\001\000\u0150\000\u0194\000\001\000\u0178\000\u0195\000\001\000\u0177"+ |
| "\000\u0196\000\001\000\016\000\u0197\000\010\000H\000N\000g\000z\000}"+ |
| "\000~\000\u0080\000\u00A4\000\u0198\000\002\000\u00D7\000\u00D8\000\u0199"+ |
| "\000\001\000)\000\u01A0\000\001\0008\000\u01A2\000\001\000\u019D\000\u01A4"+ |
| "\000\001\0000\000\u01A5\000\001\000\u019C\000\u01A6\000\001\000\042\000"+ |
| "\u01A8\000\001\000w\000\u01AB\000\001\000\u0139\000\u01AE\000\001\000"+ |
| "\u0154\000\u01AF\000\001\000\u00D5\000\u01B1\000\001\000\u019A\000\u01B4"+ |
| "\000\001\000\u019B\000\u01B9\000\003\000\u0180\000\u0186\000\u0187\000"+ |
| "\u01CC\000\001\000\u00DD\000\u01E0\000\001\000\u0089\000\u01E4\000\001"+ |
| "\000s\000\u01E5\000\003\000\u018F\000\u0198\000\u01A5\000\u01E6\000\001"+ |
| "\000\u01A2\000\u01E7\000\001\000\u00DC\000\u01EA\000\002\000\u00D3\000"+ |
| "\u0181\000\u01EB\000\001\000\u0168\000\u01EC\000\001\000\u007F\000\u01ED"+ |
| "\000\001\000\u01A0\000\u01F1\000\002\000\u0091\000\u0183\000\u01F2\000"+ |
| "\001\000\u00C9\000\u01F3\000\003\000\u00FC\000\u0102\000\u014B\000\u01F6"+ |
| "\000\001\000\u019F\000\u01F8\000\001\000?\000\u0200\000\001\000\u00E3"+ |
| "\000\u0224\000\001\000\u017A\000\u022E\000\001\000\u0141\000\u0234\000"+ |
| "\015\000\u00B6\000\u00CD\000\u00D2\000\u00D6\000\u00DB\000\u00DF\000\u00E0"+ |
| "\000\u00F8\000\u00F9\000\u00FA\000\u0149\000\u0153\000\u0159\000\u0236"+ |
| "\000\001\000 \000\u0240\000\001\000\u00E5\000\u0241\000\002\000\u0190"+ |
| "\000\u01AC\000\u0242\000\001\000\u0176\000\u0243\000\001\000\037\000\u0244"+ |
| "\000\001\000\u015F\000\u0246\000\001\000\u00ED\000\u0247\000\001\000\u0105"+ |
| "\000\u0248\000\001\000\u014C\000\u0249\000\002\000\u00B2\000\u0101\000"+ |
| "\u024A\000\001\000\u013F\000\u024B\000\001\000\032\000\u024C\000\001\000"+ |
| "\u015A\000\u024D\000\001\000\025\000\u024E\000\001\000,\000\u0251\000"+ |
| "\001\000\u008B\000\u0253\000\001\0004\000\u0255\000\001\000Z\000\u0258"+ |
| "\000\001\000\u00C4\000\u0259\000\001\000+\000\u0262\000\001\000_\000\u0263"+ |
| "\000\001\000/\000\u0265\000\001\000\u0175\000\u0266\000\001\000$\000\u0267"+ |
| "\000\001\000\u00BD\000\u0269\000\001\000\u00C8\000\u026A\000\001\000\u018B"+ |
| "\000\u026C\000\001\000\u00B9\000\u026D\000\001\0007\000\u026E\000\001"+ |
| "\000\u01A7\000\u026F\000\001\000\u00C6\000\u0271\000\001\000\u0148\000"+ |
| "\u0273\000\001\000\u008E\000\u0275\000\001\000\u018D\000\u0276\000\001"+ |
| "\000\u00EE\000\u0279\000\001\000\026\000\u0280\000\004\000\u014A\000\u015C"+ |
| "\000\u0163\000\u016A\000\u0286\000\001\000\036\000\u028C\000\003\000\u0193"+ |
| "\000\u0199\000\u01A9\000\u0292\000\034\000\004\0009\000:\000E\000M\000"+ |
| "U\000V\000h\000i\000j\000k\000p\000q\000t\000u\000|\000\u0085\000\u0087"+ |
| "\000\u008C\000\u00A9\000\u0116\000\u011B\000\u016D\000\u016E\000\u017E"+ |
| "\000\u0182\000\u0184\000\u0192\000\u0298\000\001\000\u0081\000\u0299\000"+ |
| "\002\000\u00EA\000\u00EF\000\u02A0\000\001\000\u0165\000\u02A2\000\001"+ |
| "\000\u009F\000\u02A4\000\001\000I\000\u02A6\000\001\000\u00A5\000\u02A8"+ |
| "\000\001\000\u009E\000\u02AD\000\002\000\u00E9\000\u01AE\000\u02B4\000"+ |
| "\001\000\u0189\000\u02C5\000\001\000\u01AA\000\u02D2\000\002\000\u017D"+ |
| "\000\u0185\000\u0304\000\001\000\u00B3\000\u0313\000\001\000\u0179\000"+ |
| "\u0314\000\001\000\u013D\000\u0320\000\001\000\035\000\u032C\000\001\000"+ |
| "'\000\u0336\000\002\000\034\000\u0113" |
| ; |
| |
| // END GENERATED SOURCE CODE |
| //---------------------------------------------------------------- |
| |
| static { |
| // Unpack the int[] DATA array |
| DATA = Utility.RLEStringToIntArray(DATA_RLE); |
| |
| // Unpack the int[] INDEX_BY_OFFSET array |
| INDEX_BY_OFFSET = Utility.RLEStringToIntArray(INDEX_BY_OFFSET_RLE); |
| |
| // Unpack the int[] INDEX_BY_COUNTRY array |
| INDEX_BY_COUNTRY = Utility.RLEStringToIntArray(INDEX_BY_COUNTRY_RLE); |
| |
| // Construct the index by name. We unpack this array and then |
| // discard it after we're done with it. |
| int[] index_by_name_array = Utility.RLEStringToIntArray(INDEX_BY_NAME_ARRAY_RLE); |
| for (int i=0; i<IDS.length; ++i) { |
| INDEX_BY_NAME.put(IDS[i], new Integer(index_by_name_array[i])); |
| } |
| } |
| } |