diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 03:01:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 03:01:46 +0000 |
commit | f8fe689a81f906d1b91bb3220acde2a4ecb14c5b (patch) | |
tree | 26484e9d7e2c67806c2d1760196ff01aaa858e8c /src/VBox/Runtime/common/time/timezoneinfo.cpp | |
parent | Initial commit. (diff) | |
download | virtualbox-upstream.tar.xz virtualbox-upstream.zip |
Adding upstream version 6.0.4-dfsg.upstream/6.0.4-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/VBox/Runtime/common/time/timezoneinfo.cpp | 1161 |
1 files changed, 1161 insertions, 0 deletions
diff --git a/src/VBox/Runtime/common/time/timezoneinfo.cpp b/src/VBox/Runtime/common/time/timezoneinfo.cpp new file mode 100644 index 00000000..ff4e1b52 --- /dev/null +++ b/src/VBox/Runtime/common/time/timezoneinfo.cpp @@ -0,0 +1,1161 @@ +/* $Id: timezoneinfo.cpp $ */ +/** @file + * IPRT - Time zone mapping info. + */ + +/* + * Copyright (C) 2017-2019 Oracle Corporation + * + * This file is part of VirtualBox Open Source Edition (OSE), as + * available from http://www.virtualbox.org. This file is free software; + * you can redistribute it and/or modify it under the terms of the GNU + * General Public License (GPL) as published by the Free Software + * Foundation, in version 2 as it comes in the "COPYING" file of the + * VirtualBox OSE distribution. VirtualBox OSE is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + * + * The contents of this file may alternatively be used under the terms + * of the Common Development and Distribution License Version 1.0 + * (CDDL) only, as it comes in the "COPYING.CDDL" file of the + * VirtualBox OSE distribution, in which case the provisions of the + * CDDL are applicable instead of those of the GPL. + * + * You may elect to license modified versions of this file under the + * terms and conditions of either the GPL or the CDDL or both. + */ + + +/********************************************************************************************************************************* +* Header Files * +*********************************************************************************************************************************/ +#define LOG_GROUP RTLOGGROUP_TIME +#include <iprt/time.h> +#include "internal/iprt.h" + +#include <iprt/string.h> + + +/********************************************************************************************************************************* +* Global Variables * +*********************************************************************************************************************************/ +/** + * Static time zone mapping info. Sorted by pszUnixName. + */ +static const RTTIMEZONEINFO g_aTimeZones[] = +{ + { "Africa/Abidjan", "Greenwich Standard Time", 14, 23, "CI", "CI", 0x0000005a, 0, }, /* 0x000 */ + { "Africa/Accra", "Greenwich Standard Time", 12, 23, "GH", "GH", 0x0000005a, 0, }, /* 0x001 */ + { "Africa/Addis_Ababa", "E. Africa Standard Time", 18, 23, "KE", "ET", 0x00000000, 0, }, /* 0x002 */ + { "Africa/Algiers", "W. Central Africa Standard Time", 14, 31, "DZ", "DZ", 0x00000071, 0, }, /* 0x003 */ + { "Africa/Asmara", NULL, 13, 0, "KE", "", 0x00000000, 0, }, /* 0x004 */ + { "Africa/Asmera", "E. Africa Standard Time", 13, 23, "KE", "ER", 0x00000000, 0, }, /* 0x005 */ + { "Africa/Bamako", "Greenwich Standard Time", 13, 23, "CI", "ML", 0x00000000, 0, }, /* 0x006 */ + { "Africa/Bangui", "W. Central Africa Standard Time", 13, 31, "NG", "CF", 0x00000000, 0, }, /* 0x007 */ + { "Africa/Banjul", "Greenwich Standard Time", 13, 23, "CI", "GM", 0x00000000, 0, }, /* 0x008 */ + { "Africa/Bissau", "Greenwich Standard Time", 13, 23, "GW", "GW", 0x0000005a, 0, }, /* 0x009 */ + { "Africa/Blantyre", "South Africa Standard Time", 15, 26, "MZ", "MW", 0x00000000, 0, }, /* 0x00a */ + { "Africa/Brazzaville", "W. Central Africa Standard Time", 18, 31, "NG", "CG", 0x00000000, 0, }, /* 0x00b */ + { "Africa/Bujumbura", "South Africa Standard Time", 16, 26, "MZ", "BI", 0x00000000, 0, }, /* 0x00c */ + { "Africa/Cairo", "Egypt Standard Time", 12, 19, "EG", "EG", 0x00000078, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x00d */ + { "Africa/Casablanca", "Morocco Standard Time", 17, 21, "MA", "MA", 0x8000004d, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x00e */ + { "Africa/Ceuta", "Romance Standard Time", 12, 21, "ES", "ES", 0x00000069, 0, }, /* 0x00f */ + { "Africa/Conakry", "Greenwich Standard Time", 14, 23, "CI", "GN", 0x00000000, 0, }, /* 0x010 */ + { "Africa/Dakar", "Greenwich Standard Time", 12, 23, "CI", "SN", 0x00000000, 0, }, /* 0x011 */ + { "Africa/Dar_es_Salaam", "E. Africa Standard Time", 20, 23, "KE", "TZ", 0x00000000, 0, }, /* 0x012 */ + { "Africa/Djibouti", "E. Africa Standard Time", 15, 23, "KE", "DJ", 0x00000000, 0, }, /* 0x013 */ + { "Africa/Douala", "W. Central Africa Standard Time", 13, 31, "NG", "CM", 0x00000000, 0, }, /* 0x014 */ + { "Africa/El_Aaiun", "Morocco Standard Time", 15, 21, "EH", "EH", 0x8000004d, 0, }, /* 0x015 */ + { "Africa/Freetown", "Greenwich Standard Time", 15, 23, "CI", "SL", 0x00000000, 0, }, /* 0x016 */ + { "Africa/Gaborone", "South Africa Standard Time", 15, 26, "MZ", "BW", 0x00000000, 0, }, /* 0x017 */ + { "Africa/Harare", "South Africa Standard Time", 13, 26, "MZ", "ZW", 0x00000000, 0, }, /* 0x018 */ + { "Africa/Johannesburg", "South Africa Standard Time", 19, 26, "ZA", "ZA", 0x0000008c, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x019 */ + { "Africa/Juba", "E. Africa Standard Time", 11, 23, "SD", "SS", 0x00000000, 0, }, /* 0x01a */ + { "Africa/Kampala", "E. Africa Standard Time", 14, 23, "KE", "UG", 0x00000000, 0, }, /* 0x01b */ + { "Africa/Khartoum", "E. Africa Standard Time", 15, 23, "SD", "SD", 0x0000009b, 0, }, /* 0x01c */ + { "Africa/Kigali", "South Africa Standard Time", 13, 26, "MZ", "RW", 0x00000000, 0, }, /* 0x01d */ + { "Africa/Kinshasa", "W. Central Africa Standard Time", 15, 31, "NG", "CD", 0x00000000, 0, }, /* 0x01e */ + { "Africa/Lagos", "W. Central Africa Standard Time", 12, 31, "NG", "NG", 0x00000071, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x01f */ + { "Africa/Libreville", "W. Central Africa Standard Time", 17, 31, "NG", "GA", 0x00000000, 0, }, /* 0x020 */ + { "Africa/Lome", "Greenwich Standard Time", 11, 23, "CI", "TG", 0x00000000, 0, }, /* 0x021 */ + { "Africa/Luanda", "W. Central Africa Standard Time", 13, 31, "NG", "AO", 0x00000000, 0, }, /* 0x022 */ + { "Africa/Lubumbashi", "South Africa Standard Time", 17, 26, "MZ", "CD", 0x00000000, 0, }, /* 0x023 */ + { "Africa/Lusaka", "South Africa Standard Time", 13, 26, "MZ", "ZM", 0x00000000, 0, }, /* 0x024 */ + { "Africa/Malabo", "W. Central Africa Standard Time", 13, 31, "NG", "GQ", 0x00000000, 0, }, /* 0x025 */ + { "Africa/Maputo", "South Africa Standard Time", 13, 26, "MZ", "MZ", 0x0000008c, 0, }, /* 0x026 */ + { "Africa/Maseru", "South Africa Standard Time", 13, 26, "ZA", "LS", 0x00000000, 0, }, /* 0x027 */ + { "Africa/Mbabane", "South Africa Standard Time", 14, 26, "ZA", "SZ", 0x00000000, 0, }, /* 0x028 */ + { "Africa/Mogadishu", "E. Africa Standard Time", 16, 23, "KE", "SO", 0x00000000, 0, }, /* 0x029 */ + { "Africa/Monrovia", "Greenwich Standard Time", 15, 23, "LR", "LR", 0x0000005a, 0, }, /* 0x02a */ + { "Africa/Nairobi", "E. Africa Standard Time", 14, 23, "KE", "KE", 0x0000009b, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x02b */ + { "Africa/Ndjamena", "W. Central Africa Standard Time", 15, 31, "TD", "TD", 0x00000071, 0, }, /* 0x02c */ + { "Africa/Niamey", "W. Central Africa Standard Time", 13, 31, "NG", "NE", 0x00000000, 0, }, /* 0x02d */ + { "Africa/Nouakchott", "Greenwich Standard Time", 17, 23, "CI", "MR", 0x00000000, 0, }, /* 0x02e */ + { "Africa/Ouagadougou", "Greenwich Standard Time", 18, 23, "CI", "BF", 0x00000000, 0, }, /* 0x02f */ + { "Africa/Porto-Novo", "W. Central Africa Standard Time", 17, 31, "NG", "BJ", 0x00000000, 0, }, /* 0x030 */ + { "Africa/Sao_Tome", "Greenwich Standard Time", 15, 23, "CI", "ST", 0x00000000, 0, }, /* 0x031 */ + { "Africa/Timbuktu", NULL, 15, 0, "CI", "", 0x00000000, 0, }, /* 0x032 */ + { "Africa/Tripoli", "Libya Standard Time", 14, 19, "LY", "LY", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x033 */ + { "Africa/Tunis", "W. Central Africa Standard Time", 12, 31, "TN", "TN", 0x00000071, 0, }, /* 0x034 */ + { "Africa/Windhoek", "Namibia Standard Time", 15, 21, "NA", "NA", 0x80000046, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x035 */ + { "America/Adak", "Aleutian Standard Time", 12, 22, "US", "US", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x036 */ + { "America/Anchorage", "Alaskan Standard Time", 17, 21, "US", "US", 0x00000003, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x037 */ + { "America/Anguilla", "SA Western Standard Time", 16, 24, "TT", "AI", 0x00000000, 0, }, /* 0x038 */ + { "America/Antigua", "SA Western Standard Time", 15, 24, "TT", "AG", 0x00000000, 0, }, /* 0x039 */ + { "America/Araguaina", "Tocantins Standard Time", 17, 23, "BR", "BR", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x03a */ + { "America/Argentina/Buenos_Aires", NULL, 30, 0, "AR", "", 0x00000000, 0, }, /* 0x03b */ + { "America/Argentina/Catamarca", NULL, 27, 0, "AR", "", 0x00000000, 0, }, /* 0x03c */ + { "America/Argentina/ComodRivadavia", NULL, 32, 0, "AR", "", 0x00000000, 0, }, /* 0x03d */ + { "America/Argentina/Cordoba", NULL, 25, 0, "AR", "", 0x00000000, 0, }, /* 0x03e */ + { "America/Argentina/Jujuy", NULL, 23, 0, "AR", "", 0x00000000, 0, }, /* 0x03f */ + { "America/Argentina/La_Rioja", "Argentina Standard Time", 26, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x040 */ + { "America/Argentina/Mendoza", NULL, 25, 0, "AR", "", 0x00000000, 0, }, /* 0x041 */ + { "America/Argentina/Rio_Gallegos", "Argentina Standard Time", 30, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x042 */ + { "America/Argentina/Salta", "Argentina Standard Time", 23, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x043 */ + { "America/Argentina/San_Juan", "Argentina Standard Time", 26, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x044 */ + { "America/Argentina/San_Luis", "Argentina Standard Time", 26, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x045 */ + { "America/Argentina/Tucuman", "Argentina Standard Time", 25, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x046 */ + { "America/Argentina/Ushuaia", "Argentina Standard Time", 25, 23, "AR", "AR", 0x8000004c, 0, }, /* 0x047 */ + { "America/Aruba", "SA Western Standard Time", 13, 24, "CW", "AW", 0x00000000, 0, }, /* 0x048 */ + { "America/Asuncion", "Paraguay Standard Time", 16, 22, "PY", "PY", 0x80000051, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x049 */ + { "America/Atikokan", NULL, 16, 0, "CA", "", 0x00000000, 0, }, /* 0x04a */ + { "America/Atka", NULL, 12, 0, "US", "", 0x00000000, 0, }, /* 0x04b */ + { "America/Bahia", "Bahia Standard Time", 13, 19, "BR", "BR", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x04c */ + { "America/Bahia_Banderas", "Central Standard Time (Mexico)", 22, 30, "MX", "MX", 0x80000043, 0, }, /* 0x04d */ + { "America/Barbados", "SA Western Standard Time", 16, 24, "BB", "BB", 0x00000037, 0, }, /* 0x04e */ + { "America/Belem", "SA Eastern Standard Time", 13, 24, "BR", "BR", 0x00000046, 0, }, /* 0x04f */ + { "America/Belize", "Central America Standard Time", 14, 29, "BZ", "BZ", 0x00000021, 0, }, /* 0x050 */ + { "America/Blanc-Sablon", "SA Western Standard Time", 20, 24, "CA", "CA", 0x00000037, 0, }, /* 0x051 */ + { "America/Boa_Vista", "SA Western Standard Time", 17, 24, "BR", "BR", 0x00000037, 0, }, /* 0x052 */ + { "America/Bogota", "SA Pacific Standard Time", 14, 24, "CO", "CO", 0x0000002d, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x053 */ + { "America/Boise", "Mountain Standard Time", 13, 22, "US", "US", 0x0000000a, 0, }, /* 0x054 */ + { "America/Buenos_Aires", "Argentina Standard Time", 20, 23, "AR", "AR", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x055 */ + { "America/Cambridge_Bay", "Mountain Standard Time", 21, 22, "CA", "CA", 0x0000000a, 0, }, /* 0x056 */ + { "America/Campo_Grande", "Central Brazilian Standard Time", 20, 31, "BR", "BR", 0x80000048, 0, }, /* 0x057 */ + { "America/Cancun", "Eastern Standard Time (Mexico)", 14, 30, "MX", "MX", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x058 */ + { "America/Caracas", "Venezuela Standard Time", 15, 23, "VE", "VE", 0x8000004b, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x059 */ + { "America/Catamarca", "Argentina Standard Time", 17, 23, "AR", "AR", 0x00000000, 0, }, /* 0x05a */ + { "America/Cayenne", "SA Eastern Standard Time", 15, 24, "GF", "GF", 0x00000046, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x05b */ + { "America/Cayman", "SA Pacific Standard Time", 14, 24, "PA", "KY", 0x00000000, 0, }, /* 0x05c */ + { "America/Chicago", "Central Standard Time", 15, 21, "US", "US", 0x00000014, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x05d */ + { "America/Chihuahua", "Mountain Standard Time (Mexico)", 17, 31, "MX", "MX", 0x80000044, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x05e */ + { "America/Coral_Harbour", "SA Pacific Standard Time", 21, 24, "CA", "CA", 0x00000000, 0, }, /* 0x05f */ + { "America/Cordoba", "Argentina Standard Time", 15, 23, "AR", "AR", 0x00000000, 0, }, /* 0x060 */ + { "America/Costa_Rica", "Central America Standard Time", 18, 29, "CR", "CR", 0x00000021, 0, }, /* 0x061 */ + { "America/Creston", "US Mountain Standard Time", 15, 25, "CA", "CA", 0x0000000f, 0, }, /* 0x062 */ + { "America/Cuiaba", "Central Brazilian Standard Time", 14, 31, "BR", "BR", 0x80000048, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x063 */ + { "America/Curacao", "SA Western Standard Time", 15, 24, "CW", "CW", 0x00000037, 0, }, /* 0x064 */ + { "America/Danmarkshavn", "UTC", 20, 3, "GL", "GL", 0x80000050, 0, }, /* 0x065 */ + { "America/Dawson", "Pacific Standard Time", 14, 21, "CA", "CA", 0x00000004, 0, }, /* 0x066 */ + { "America/Dawson_Creek", "US Mountain Standard Time", 20, 25, "CA", "CA", 0x0000000f, 0, }, /* 0x067 */ + { "America/Denver", "Mountain Standard Time", 14, 22, "US", "US", 0x0000000a, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x068 */ + { "America/Detroit", "Eastern Standard Time", 15, 21, "US", "US", 0x00000023, 0, }, /* 0x069 */ + { "America/Dominica", "SA Western Standard Time", 16, 24, "TT", "DM", 0x00000000, 0, }, /* 0x06a */ + { "America/Edmonton", "Mountain Standard Time", 16, 22, "CA", "CA", 0x0000000a, 0, }, /* 0x06b */ + { "America/Eirunepe", "SA Pacific Standard Time", 16, 24, "BR", "BR", 0x0000002d, 0, }, /* 0x06c */ + { "America/El_Salvador", "Central America Standard Time", 19, 29, "SV", "SV", 0x00000021, 0, }, /* 0x06d */ + { "America/Ensenada", NULL, 16, 0, "MX", "", 0x00000000, 0, }, /* 0x06e */ + { "America/Fort_Nelson", "US Mountain Standard Time", 19, 25, "CA", "CA", 0x0000000f, 0, }, /* 0x06f */ + { "America/Fort_Wayne", NULL, 18, 0, "US", "", 0x00000000, 0, }, /* 0x070 */ + { "America/Fortaleza", "SA Eastern Standard Time", 17, 24, "BR", "BR", 0x00000046, 0, }, /* 0x071 */ + { "America/Glace_Bay", "Atlantic Standard Time", 17, 22, "CA", "CA", 0x00000032, 0, }, /* 0x072 */ + { "America/Godthab", "Greenland Standard Time", 15, 23, "GL", "GL", 0x00000049, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x073 */ + { "America/Goose_Bay", "Atlantic Standard Time", 17, 22, "CA", "CA", 0x00000032, 0, }, /* 0x074 */ + { "America/Grand_Turk", "Turks And Caicos Standard Time", 18, 30, "TC", "TC", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x075 */ + { "America/Grenada", "SA Western Standard Time", 15, 24, "TT", "GD", 0x00000000, 0, }, /* 0x076 */ + { "America/Guadeloupe", "SA Western Standard Time", 18, 24, "TT", "GP", 0x00000000, 0, }, /* 0x077 */ + { "America/Guatemala", "Central America Standard Time", 17, 29, "GT", "GT", 0x00000021, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x078 */ + { "America/Guayaquil", "SA Pacific Standard Time", 17, 24, "EC", "EC", 0x0000002d, 0, }, /* 0x079 */ + { "America/Guyana", "SA Western Standard Time", 14, 24, "GY", "GY", 0x00000037, 0, }, /* 0x07a */ + { "America/Halifax", "Atlantic Standard Time", 15, 22, "CA", "CA", 0x00000032, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x07b */ + { "America/Havana", "Cuba Standard Time", 14, 18, "CU", "CU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x07c */ + { "America/Hermosillo", "US Mountain Standard Time", 18, 25, "MX", "MX", 0x0000000f, 0, }, /* 0x07d */ + { "America/Indiana/Indianapolis", NULL, 28, 0, "US", "", 0x00000000, 0, }, /* 0x07e */ + { "America/Indiana/Knox", "Central Standard Time", 20, 21, "US", "US", 0x00000014, 0, }, /* 0x07f */ + { "America/Indiana/Marengo", "US Eastern Standard Time", 23, 24, "US", "US", 0x00000028, 0, }, /* 0x080 */ + { "America/Indiana/Petersburg", "Eastern Standard Time", 26, 21, "US", "US", 0x00000023, 0, }, /* 0x081 */ + { "America/Indiana/Tell_City", "Central Standard Time", 25, 21, "US", "US", 0x00000014, 0, }, /* 0x082 */ + { "America/Indiana/Vevay", "US Eastern Standard Time", 21, 24, "US", "US", 0x00000028, 0, }, /* 0x083 */ + { "America/Indiana/Vincennes", "Eastern Standard Time", 25, 21, "US", "US", 0x00000023, 0, }, /* 0x084 */ + { "America/Indiana/Winamac", "Eastern Standard Time", 23, 21, "US", "US", 0x00000023, 0, }, /* 0x085 */ + { "America/Indianapolis", "US Eastern Standard Time", 20, 24, "US", "US", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x086 */ + { "America/Inuvik", "Mountain Standard Time", 14, 22, "CA", "CA", 0x0000000a, 0, }, /* 0x087 */ + { "America/Iqaluit", "Eastern Standard Time", 15, 21, "CA", "CA", 0x00000023, 0, }, /* 0x088 */ + { "America/Jamaica", "SA Pacific Standard Time", 15, 24, "JM", "JM", 0x0000002d, 0, }, /* 0x089 */ + { "America/Jujuy", "Argentina Standard Time", 13, 23, "AR", "AR", 0x00000000, 0, }, /* 0x08a */ + { "America/Juneau", "Alaskan Standard Time", 14, 21, "US", "US", 0x00000003, 0, }, /* 0x08b */ + { "America/Kentucky/Louisville", NULL, 27, 0, "US", "", 0x00000000, 0, }, /* 0x08c */ + { "America/Kentucky/Monticello", "Eastern Standard Time", 27, 21, "US", "US", 0x00000023, 0, }, /* 0x08d */ + { "America/Knox_IN", NULL, 15, 0, "US", "", 0x00000000, 0, }, /* 0x08e */ + { "America/Kralendijk", "SA Western Standard Time", 18, 24, "CW", "BQ", 0x00000000, 0, }, /* 0x08f */ + { "America/La_Paz", "SA Western Standard Time", 14, 24, "BO", "BO", 0x00000037, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x090 */ + { "America/Lima", "SA Pacific Standard Time", 12, 24, "PE", "PE", 0x0000002d, 0, }, /* 0x091 */ + { "America/Los_Angeles", "Pacific Standard Time", 19, 21, "US", "US", 0x00000004, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x092 */ + { "America/Louisville", "Eastern Standard Time", 18, 21, "US", "US", 0x00000000, 0, }, /* 0x093 */ + { "America/Lower_Princes", "SA Western Standard Time", 21, 24, "CW", "SX", 0x00000000, 0, }, /* 0x094 */ + { "America/Maceio", "SA Eastern Standard Time", 14, 24, "BR", "BR", 0x00000046, 0, }, /* 0x095 */ + { "America/Managua", "Central America Standard Time", 15, 29, "NI", "NI", 0x00000021, 0, }, /* 0x096 */ + { "America/Manaus", "SA Western Standard Time", 14, 24, "BR", "BR", 0x00000037, 0, }, /* 0x097 */ + { "America/Marigot", "SA Western Standard Time", 15, 24, "TT", "MF", 0x00000000, 0, }, /* 0x098 */ + { "America/Martinique", "SA Western Standard Time", 18, 24, "MQ", "MQ", 0x00000037, 0, }, /* 0x099 */ + { "America/Matamoros", "Central Standard Time", 17, 21, "MX", "MX", 0x00000014, 0, }, /* 0x09a */ + { "America/Mazatlan", "Mountain Standard Time (Mexico)", 16, 31, "MX", "MX", 0x80000044, 0, }, /* 0x09b */ + { "America/Mendoza", "Argentina Standard Time", 15, 23, "AR", "AR", 0x00000000, 0, }, /* 0x09c */ + { "America/Menominee", "Central Standard Time", 17, 21, "US", "US", 0x00000014, 0, }, /* 0x09d */ + { "America/Merida", "Central Standard Time (Mexico)", 14, 30, "MX", "MX", 0x80000043, 0, }, /* 0x09e */ + { "America/Metlakatla", "Alaskan Standard Time", 18, 21, "US", "US", 0x00000003, 0, }, /* 0x09f */ + { "America/Mexico_City", "Central Standard Time (Mexico)", 19, 30, "MX", "MX", 0x80000043, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0a0 */ + { "America/Miquelon", "Saint Pierre Standard Time", 16, 26, "PM", "PM", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0a1 */ + { "America/Moncton", "Atlantic Standard Time", 15, 22, "CA", "CA", 0x00000032, 0, }, /* 0x0a2 */ + { "America/Monterrey", "Central Standard Time (Mexico)", 17, 30, "MX", "MX", 0x80000043, 0, }, /* 0x0a3 */ + { "America/Montevideo", "Montevideo Standard Time", 18, 24, "UY", "UY", 0x80000049, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0a4 */ + { "America/Montreal", "Eastern Standard Time", 16, 21, "CA", "CA", 0x00000000, 0, }, /* 0x0a5 */ + { "America/Montserrat", "SA Western Standard Time", 18, 24, "TT", "MS", 0x00000000, 0, }, /* 0x0a6 */ + { "America/Nassau", "Eastern Standard Time", 14, 21, "BS", "BS", 0x00000023, 0, }, /* 0x0a7 */ + { "America/New_York", "Eastern Standard Time", 16, 21, "US", "US", 0x00000023, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0a8 */ + { "America/Nipigon", "Eastern Standard Time", 15, 21, "CA", "CA", 0x00000023, 0, }, /* 0x0a9 */ + { "America/Nome", "Alaskan Standard Time", 12, 21, "US", "US", 0x00000003, 0, }, /* 0x0aa */ + { "America/Noronha", "UTC-02", 15, 6, "BR", "BR", 0x00000000, 0, }, /* 0x0ab */ + { "America/North_Dakota/Beulah", "Central Standard Time", 27, 21, "US", "US", 0x00000014, 0, }, /* 0x0ac */ + { "America/North_Dakota/Center", "Central Standard Time", 27, 21, "US", "US", 0x00000014, 0, }, /* 0x0ad */ + { "America/North_Dakota/New_Salem", "Central Standard Time", 30, 21, "US", "US", 0x00000014, 0, }, /* 0x0ae */ + { "America/Ojinaga", "Mountain Standard Time", 15, 22, "MX", "MX", 0x0000000a, 0, }, /* 0x0af */ + { "America/Panama", "SA Pacific Standard Time", 14, 24, "PA", "PA", 0x0000002d, 0, }, /* 0x0b0 */ + { "America/Pangnirtung", "Eastern Standard Time", 19, 21, "CA", "CA", 0x00000023, 0, }, /* 0x0b1 */ + { "America/Paramaribo", "SA Eastern Standard Time", 18, 24, "SR", "SR", 0x00000046, 0, }, /* 0x0b2 */ + { "America/Phoenix", "US Mountain Standard Time", 15, 25, "US", "US", 0x0000000f, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0b3 */ + { "America/Port-au-Prince", "Haiti Standard Time", 22, 19, "HT", "HT", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0b4 */ + { "America/Port_of_Spain", "SA Western Standard Time", 21, 24, "TT", "TT", 0x00000037, 0, }, /* 0x0b5 */ + { "America/Porto_Acre", NULL, 18, 0, "BR", "", 0x00000000, 0, }, /* 0x0b6 */ + { "America/Porto_Velho", "SA Western Standard Time", 19, 24, "BR", "BR", 0x00000037, 0, }, /* 0x0b7 */ + { "America/Puerto_Rico", "SA Western Standard Time", 19, 24, "PR", "PR", 0x00000037, 0, }, /* 0x0b8 */ + { "America/Punta_Arenas", "SA Eastern Standard Time", 20, 24, "CL", "CL", 0x00000046, 0, }, /* 0x0b9 */ + { "America/Rainy_River", "Central Standard Time", 19, 21, "CA", "CA", 0x00000014, 0, }, /* 0x0ba */ + { "America/Rankin_Inlet", "Central Standard Time", 20, 21, "CA", "CA", 0x00000014, 0, }, /* 0x0bb */ + { "America/Recife", "SA Eastern Standard Time", 14, 24, "BR", "BR", 0x00000046, 0, }, /* 0x0bc */ + { "America/Regina", "Canada Central Standard Time", 14, 28, "CA", "CA", 0x00000019, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0bd */ + { "America/Resolute", "Central Standard Time", 16, 21, "CA", "CA", 0x00000014, 0, }, /* 0x0be */ + { "America/Rio_Branco", "SA Pacific Standard Time", 18, 24, "BR", "BR", 0x0000002d, 0, }, /* 0x0bf */ + { "America/Rosario", NULL, 15, 0, "AR", "", 0x00000000, 0, }, /* 0x0c0 */ + { "America/Santa_Isabel", "Pacific Standard Time (Mexico)", 20, 30, "MX", "MX", 0x00000000, 0, }, /* 0x0c1 */ + { "America/Santarem", "SA Eastern Standard Time", 16, 24, "BR", "BR", 0x00000046, 0, }, /* 0x0c2 */ + { "America/Santiago", "Pacific SA Standard Time", 16, 24, "CL", "CL", 0x00000038, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0c3 */ + { "America/Santo_Domingo", "SA Western Standard Time", 21, 24, "DO", "DO", 0x00000037, 0, }, /* 0x0c4 */ + { "America/Sao_Paulo", "E. South America Standard Time", 17, 30, "BR", "BR", 0x00000041, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0c5 */ + { "America/Scoresbysund", "Azores Standard Time", 20, 20, "GL", "GL", 0x00000050, 0, }, /* 0x0c6 */ + { "America/Shiprock", NULL, 16, 0, "US", "", 0x00000000, 0, }, /* 0x0c7 */ + { "America/Sitka", "Alaskan Standard Time", 13, 21, "US", "US", 0x00000003, 0, }, /* 0x0c8 */ + { "America/St_Barthelemy", "SA Western Standard Time", 21, 24, "TT", "BL", 0x00000000, 0, }, /* 0x0c9 */ + { "America/St_Johns", "Newfoundland Standard Time", 16, 26, "CA", "CA", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0ca */ + { "America/St_Kitts", "SA Western Standard Time", 16, 24, "TT", "KN", 0x00000000, 0, }, /* 0x0cb */ + { "America/St_Lucia", "SA Western Standard Time", 16, 24, "TT", "LC", 0x00000000, 0, }, /* 0x0cc */ + { "America/St_Thomas", "SA Western Standard Time", 17, 24, "TT", "VI", 0x00000000, 0, }, /* 0x0cd */ + { "America/St_Vincent", "SA Western Standard Time", 18, 24, "TT", "VC", 0x00000000, 0, }, /* 0x0ce */ + { "America/Swift_Current", "Canada Central Standard Time", 21, 28, "CA", "CA", 0x00000019, 0, }, /* 0x0cf */ + { "America/Tegucigalpa", "Central America Standard Time", 19, 29, "HN", "HN", 0x00000021, 0, }, /* 0x0d0 */ + { "America/Thule", "Atlantic Standard Time", 13, 22, "GL", "GL", 0x00000032, 0, }, /* 0x0d1 */ + { "America/Thunder_Bay", "Eastern Standard Time", 19, 21, "CA", "CA", 0x00000023, 0, }, /* 0x0d2 */ + { "America/Tijuana", "Pacific Standard Time (Mexico)", 15, 30, "MX", "MX", 0x80000045, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0d3 */ + { "America/Toronto", "Eastern Standard Time", 15, 21, "CA", "CA", 0x00000023, 0, }, /* 0x0d4 */ + { "America/Tortola", "SA Western Standard Time", 15, 24, "TT", "VG", 0x00000000, 0, }, /* 0x0d5 */ + { "America/Vancouver", "Pacific Standard Time", 17, 21, "CA", "CA", 0x00000004, 0, }, /* 0x0d6 */ + { "America/Virgin", NULL, 14, 0, "TT", "", 0x00000000, 0, }, /* 0x0d7 */ + { "America/Whitehorse", "Pacific Standard Time", 18, 21, "CA", "CA", 0x00000004, 0, }, /* 0x0d8 */ + { "America/Winnipeg", "Central Standard Time", 16, 21, "CA", "CA", 0x00000014, 0, }, /* 0x0d9 */ + { "America/Yakutat", "Alaskan Standard Time", 15, 21, "US", "US", 0x00000003, 0, }, /* 0x0da */ + { "America/Yellowknife", "Mountain Standard Time", 19, 22, "CA", "CA", 0x0000000a, 0, }, /* 0x0db */ + { "Antarctica/Casey", "Central Pacific Standard Time", 16, 29, "AQ", "AQ", 0x00000118, 0, }, /* 0x0dc */ + { "Antarctica/Davis", "SE Asia Standard Time", 16, 21, "AQ", "AQ", 0x000000cd, 0, }, /* 0x0dd */ + { "Antarctica/DumontDUrville", "West Pacific Standard Time", 25, 26, "AQ", "AQ", 0x00000113, 0, }, /* 0x0de */ + { "Antarctica/Macquarie", "Central Pacific Standard Time", 20, 29, "AU", "AU", 0x00000118, 0, }, /* 0x0df */ + { "Antarctica/Mawson", "West Asia Standard Time", 17, 23, "AQ", "AQ", 0x000000b9, 0, }, /* 0x0e0 */ + { "Antarctica/McMurdo", "New Zealand Standard Time", 18, 25, "NZ", "AQ", 0x00000000, 0, }, /* 0x0e1 */ + { "Antarctica/Palmer", "SA Eastern Standard Time", 17, 24, "AQ", "AQ", 0x00000046, 0, }, /* 0x0e2 */ + { "Antarctica/Rothera", "SA Eastern Standard Time", 18, 24, "AQ", "AQ", 0x00000046, 0, }, /* 0x0e3 */ + { "Antarctica/South_Pole", NULL, 21, 0, "NZ", "", 0x00000000, 0, }, /* 0x0e4 */ + { "Antarctica/Syowa", "E. Africa Standard Time", 16, 23, "AQ", "AQ", 0x0000009b, 0, }, /* 0x0e5 */ + { "Antarctica/Troll", NULL, 16, 0, "AQ", "", 0x00000000, 0, }, /* 0x0e6 */ + { "Antarctica/Vostok", "Central Asia Standard Time", 17, 26, "AQ", "AQ", 0x000000c3, 0, }, /* 0x0e7 */ + { "Arctic/Longyearbyen", "W. Europe Standard Time", 19, 23, "NO", "SJ", 0x00000000, 0, }, /* 0x0e8 */ + { "Asia/Aden", "Arab Standard Time", 9, 18, "SA", "YE", 0x00000000, 0, }, /* 0x0e9 */ + { "Asia/Almaty", "Central Asia Standard Time", 11, 26, "KZ", "KZ", 0x000000c3, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0ea */ + { "Asia/Amman", "Jordan Standard Time", 10, 20, "JO", "JO", 0x80000042, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0eb */ + { "Asia/Anadyr", "Russia Time Zone 11", 11, 19, "RU", "RU", 0x00000000, 0, }, /* 0x0ec */ + { "Asia/Aqtau", "West Asia Standard Time", 10, 23, "KZ", "KZ", 0x000000b9, 0, }, /* 0x0ed */ + { "Asia/Aqtobe", "West Asia Standard Time", 11, 23, "KZ", "KZ", 0x000000b9, 0, }, /* 0x0ee */ + { "Asia/Ashgabat", "West Asia Standard Time", 13, 23, "TM", "TM", 0x000000b9, 0, }, /* 0x0ef */ + { "Asia/Ashkhabad", NULL, 14, 0, "TM", "", 0x00000000, 0, }, /* 0x0f0 */ + { "Asia/Atyrau", "West Asia Standard Time", 11, 23, "KZ", "KZ", 0x000000b9, 0, }, /* 0x0f1 */ + { "Asia/Baghdad", "Arabic Standard Time", 12, 20, "IQ", "IQ", 0x0000009e, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0f2 */ + { "Asia/Bahrain", "Arab Standard Time", 12, 18, "QA", "BH", 0x00000000, 0, }, /* 0x0f3 */ + { "Asia/Baku", "Azerbaijan Standard Time", 9, 24, "AZ", "AZ", 0x80000040, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0f4 */ + { "Asia/Bangkok", "SE Asia Standard Time", 12, 21, "TH", "TH", 0x000000cd, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0f5 */ + { "Asia/Barnaul", "Altai Standard Time", 12, 19, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0f6 */ + { "Asia/Beirut", "Middle East Standard Time", 11, 25, "LB", "LB", 0x80000041, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0f7 */ + { "Asia/Bishkek", "Central Asia Standard Time", 12, 26, "KG", "KG", 0x000000c3, 0, }, /* 0x0f8 */ + { "Asia/Brunei", "Singapore Standard Time", 11, 23, "BN", "BN", 0x000000d7, 0, }, /* 0x0f9 */ + { "Asia/Calcutta", "India Standard Time", 13, 19, "IN", "IN", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0fa */ + { "Asia/Chita", "Transbaikal Standard Time", 10, 25, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0fb */ + { "Asia/Choibalsan", "Ulaanbaatar Standard Time", 15, 25, "MN", "MN", 0x00000000, 0, }, /* 0x0fc */ + { "Asia/Chongqing", NULL, 14, 0, "CN", "", 0x00000000, 0, }, /* 0x0fd */ + { "Asia/Chungking", NULL, 14, 0, "CN", "", 0x00000000, 0, }, /* 0x0fe */ + { "Asia/Colombo", "Sri Lanka Standard Time", 12, 23, "LK", "LK", 0x000000c8, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x0ff */ + { "Asia/Dacca", NULL, 10, 0, "BD", "", 0x00000000, 0, }, /* 0x100 */ + { "Asia/Damascus", "Syria Standard Time", 13, 19, "SY", "SY", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x101 */ + { "Asia/Dhaka", "Bangladesh Standard Time", 10, 24, "BD", "BD", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x102 */ + { "Asia/Dili", "Tokyo Standard Time", 9, 19, "TL", "TL", 0x000000eb, 0, }, /* 0x103 */ + { "Asia/Dubai", "Arabian Standard Time", 10, 21, "AE", "AE", 0x000000a5, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x104 */ + { "Asia/Dushanbe", "West Asia Standard Time", 13, 23, "TJ", "TJ", 0x000000b9, 0, }, /* 0x105 */ + { "Asia/Famagusta", "Turkey Standard Time", 14, 20, "CY", "CY", 0x00000000, 0, }, /* 0x106 */ + { "Asia/Gaza", "West Bank Standard Time", 9, 23, "PS", "PS", 0x00000000, 0, }, /* 0x107 */ + { "Asia/Harbin", NULL, 11, 0, "CN", "", 0x00000000, 0, }, /* 0x108 */ + { "Asia/Hebron", "West Bank Standard Time", 11, 23, "PS", "PS", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x109 */ + { "Asia/Ho_Chi_Minh", NULL, 16, 0, "VN", "", 0x00000000, 0, }, /* 0x10a */ + { "Asia/Hong_Kong", "China Standard Time", 14, 19, "HK", "HK", 0x000000d2, 0, }, /* 0x10b */ + { "Asia/Hovd", "W. Mongolia Standard Time", 9, 25, "MN", "MN", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x10c */ + { "Asia/Irkutsk", "North Asia East Standard Time", 12, 29, "RU", "RU", 0x000000e3, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x10d */ + { "Asia/Istanbul", NULL, 13, 0, "TR", "", 0x00000000, 0, }, /* 0x10e */ + { "Asia/Jakarta", "SE Asia Standard Time", 12, 21, "ID", "ID", 0x000000cd, 0, }, /* 0x10f */ + { "Asia/Jayapura", "Tokyo Standard Time", 13, 19, "ID", "ID", 0x000000eb, 0, }, /* 0x110 */ + { "Asia/Jerusalem", "Israel Standard Time", 14, 20, "IL", "IL", 0x00000087, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x111 */ + { "Asia/Kabul", "Afghanistan Standard Time", 10, 25, "AF", "AF", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x112 */ + { "Asia/Kamchatka", "Russia Time Zone 11", 14, 19, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x113 */ + { "Asia/Karachi", "Pakistan Standard Time", 12, 22, "PK", "PK", 0x8000004e, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x114 */ + { "Asia/Kashgar", NULL, 12, 0, "CN", "", 0x00000000, 0, }, /* 0x115 */ + { "Asia/Kathmandu", NULL, 14, 0, "NP", "", 0x00000000, 0, }, /* 0x116 */ + { "Asia/Katmandu", "Nepal Standard Time", 13, 19, "NP", "NP", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x117 */ + { "Asia/Khandyga", "Yakutsk Standard Time", 13, 21, "RU", "RU", 0x000000f0, 0, }, /* 0x118 */ + { "Asia/Kolkata", NULL, 12, 0, "IN", "", 0x00000000, 0, }, /* 0x119 */ + { "Asia/Krasnoyarsk", "North Asia Standard Time", 16, 24, "RU", "RU", 0x000000cf, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x11a */ + { "Asia/Kuala_Lumpur", "Singapore Standard Time", 17, 23, "MY", "MY", 0x000000d7, 0, }, /* 0x11b */ + { "Asia/Kuching", "Singapore Standard Time", 12, 23, "MY", "MY", 0x000000d7, 0, }, /* 0x11c */ + { "Asia/Kuwait", "Arab Standard Time", 11, 18, "SA", "KW", 0x00000000, 0, }, /* 0x11d */ + { "Asia/Macao", NULL, 10, 0, "MO", "", 0x00000000, 0, }, /* 0x11e */ + { "Asia/Macau", "China Standard Time", 10, 19, "MO", "MO", 0x000000d2, 0, }, /* 0x11f */ + { "Asia/Magadan", "Magadan Standard Time", 12, 21, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x120 */ + { "Asia/Makassar", "Singapore Standard Time", 13, 23, "ID", "ID", 0x000000d7, 0, }, /* 0x121 */ + { "Asia/Manila", "Singapore Standard Time", 11, 23, "PH", "PH", 0x000000d7, 0, }, /* 0x122 */ + { "Asia/Muscat", "Arabian Standard Time", 11, 21, "AE", "OM", 0x00000000, 0, }, /* 0x123 */ + { "Asia/Nicosia", "GTB Standard Time", 12, 17, "CY", "CY", 0x00000082, 0, }, /* 0x124 */ + { "Asia/Novokuznetsk", "North Asia Standard Time", 17, 24, "RU", "RU", 0x000000cf, 0, }, /* 0x125 */ + { "Asia/Novosibirsk", "N. Central Asia Standard Time", 16, 29, "RU", "RU", 0x000000c9, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x126 */ + { "Asia/Omsk", "Omsk Standard Time", 9, 18, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x127 */ + { "Asia/Oral", "West Asia Standard Time", 9, 23, "KZ", "KZ", 0x000000b9, 0, }, /* 0x128 */ + { "Asia/Phnom_Penh", "SE Asia Standard Time", 15, 21, "TH", "KH", 0x00000000, 0, }, /* 0x129 */ + { "Asia/Pontianak", "SE Asia Standard Time", 14, 21, "ID", "ID", 0x000000cd, 0, }, /* 0x12a */ + { "Asia/Pyongyang", "North Korea Standard Time", 14, 25, "KP", "KP", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x12b */ + { "Asia/Qatar", "Arab Standard Time", 10, 18, "QA", "QA", 0x00000096, 0, }, /* 0x12c */ + { "Asia/Qyzylorda", "Central Asia Standard Time", 14, 26, "KZ", "KZ", 0x000000c3, 0, }, /* 0x12d */ + { "Asia/Rangoon", "Myanmar Standard Time", 12, 21, "MM", "MM", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x12e */ + { "Asia/Riyadh", "Arab Standard Time", 11, 18, "SA", "SA", 0x00000096, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x12f */ + { "Asia/Saigon", "SE Asia Standard Time", 11, 21, "VN", "VN", 0x00000000, 0, }, /* 0x130 */ + { "Asia/Sakhalin", "Sakhalin Standard Time", 13, 22, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x131 */ + { "Asia/Samarkand", "West Asia Standard Time", 14, 23, "UZ", "UZ", 0x000000b9, 0, }, /* 0x132 */ + { "Asia/Seoul", "Korea Standard Time", 10, 19, "KR", "KR", 0x000000e6, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x133 */ + { "Asia/Shanghai", "China Standard Time", 13, 19, "CN", "CN", 0x000000d2, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x134 */ + { "Asia/Singapore", "Singapore Standard Time", 14, 23, "SG", "SG", 0x000000d7, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x135 */ + { "Asia/Srednekolymsk", "Russia Time Zone 10", 18, 19, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x136 */ + { "Asia/Taipei", "Taipei Standard Time", 11, 20, "TW", "TW", 0x000000dc, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x137 */ + { "Asia/Tashkent", "West Asia Standard Time", 13, 23, "UZ", "UZ", 0x000000b9, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x138 */ + { "Asia/Tbilisi", "Georgian Standard Time", 12, 22, "GE", "GE", 0x80000047, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x139 */ + { "Asia/Tehran", "Iran Standard Time", 11, 18, "IR", "IR", 0x000000a0, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x13a */ + { "Asia/Tel_Aviv", NULL, 13, 0, "IL", "", 0x00000000, 0, }, /* 0x13b */ + { "Asia/Thimbu", NULL, 11, 0, "BT", "", 0x00000000, 0, }, /* 0x13c */ + { "Asia/Thimphu", "Bangladesh Standard Time", 12, 24, "BT", "BT", 0x00000000, 0, }, /* 0x13d */ + { "Asia/Tokyo", "Tokyo Standard Time", 10, 19, "JP", "JP", 0x000000eb, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x13e */ + { "Asia/Tomsk", "Tomsk Standard Time", 10, 19, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x13f */ + { "Asia/Ujung_Pandang", NULL, 18, 0, "ID", "", 0x00000000, 0, }, /* 0x140 */ + { "Asia/Ulaanbaatar", "Ulaanbaatar Standard Time", 16, 25, "MN", "MN", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x141 */ + { "Asia/Ulan_Bator", NULL, 15, 0, "MN", "", 0x00000000, 0, }, /* 0x142 */ + { "Asia/Urumqi", "Central Asia Standard Time", 11, 26, "CN", "CN", 0x000000c3, 0, }, /* 0x143 */ + { "Asia/Ust-Nera", "Vladivostok Standard Time", 13, 25, "RU", "RU", 0x0000010e, 0, }, /* 0x144 */ + { "Asia/Vientiane", "SE Asia Standard Time", 14, 21, "TH", "LA", 0x00000000, 0, }, /* 0x145 */ + { "Asia/Vladivostok", "Vladivostok Standard Time", 16, 25, "RU", "RU", 0x0000010e, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x146 */ + { "Asia/Yakutsk", "Yakutsk Standard Time", 12, 21, "RU", "RU", 0x000000f0, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x147 */ + { "Asia/Yangon", NULL, 11, 0, "MM", "", 0x00000000, 0, }, /* 0x148 */ + { "Asia/Yekaterinburg", "Ekaterinburg Standard Time", 18, 26, "RU", "RU", 0x000000b4, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x149 */ + { "Asia/Yerevan", "Caucasus Standard Time", 12, 22, "AM", "AM", 0x000000aa, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x14a */ + { "Atlantic/Azores", "Azores Standard Time", 15, 20, "PT", "PT", 0x00000050, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x14b */ + { "Atlantic/Bermuda", "Atlantic Standard Time", 16, 22, "BM", "BM", 0x00000032, 0, }, /* 0x14c */ + { "Atlantic/Canary", "GMT Standard Time", 15, 17, "ES", "ES", 0x00000055, 0, }, /* 0x14d */ + { "Atlantic/Cape_Verde", "Cape Verde Standard Time", 19, 24, "CV", "CV", 0x00000053, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x14e */ + { "Atlantic/Faeroe", "GMT Standard Time", 15, 17, "FO", "FO", 0x00000000, 0, }, /* 0x14f */ + { "Atlantic/Faroe", NULL, 14, 0, "FO", "", 0x00000000, 0, }, /* 0x150 */ + { "Atlantic/Jan_Mayen", NULL, 18, 0, "NO", "", 0x00000000, 0, }, /* 0x151 */ + { "Atlantic/Madeira", "GMT Standard Time", 16, 17, "PT", "PT", 0x00000055, 0, }, /* 0x152 */ + { "Atlantic/Reykjavik", "Greenwich Standard Time", 18, 23, "IS", "IS", 0x0000005a, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x153 */ + { "Atlantic/South_Georgia", "UTC-02", 22, 6, "GS", "GS", 0x00000000, 0, }, /* 0x154 */ + { "Atlantic/St_Helena", "Greenwich Standard Time", 18, 23, "CI", "SH", 0x00000000, 0, }, /* 0x155 */ + { "Atlantic/Stanley", "SA Eastern Standard Time", 16, 24, "FK", "FK", 0x00000046, 0, }, /* 0x156 */ + { "Australia/ACT", NULL, 13, 0, "AU", "", 0x00000000, 0, }, /* 0x157 */ + { "Australia/Adelaide", "Cen. Australia Standard Time", 18, 28, "AU", "AU", 0x000000fa, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x158 */ + { "Australia/Brisbane", "E. Australia Standard Time", 18, 26, "AU", "AU", 0x00000104, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x159 */ + { "Australia/Broken_Hill", "Cen. Australia Standard Time", 21, 28, "AU", "AU", 0x000000fa, 0, }, /* 0x15a */ + { "Australia/Canberra", NULL, 18, 0, "AU", "", 0x00000000, 0, }, /* 0x15b */ + { "Australia/Currie", "Tasmania Standard Time", 16, 22, "AU", "AU", 0x00000109, 0, }, /* 0x15c */ + { "Australia/Darwin", "AUS Central Standard Time", 16, 25, "AU", "AU", 0x000000f5, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x15d */ + { "Australia/Eucla", "Aus Central W. Standard Time", 15, 28, "AU", "AU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x15e */ + { "Australia/Hobart", "Tasmania Standard Time", 16, 22, "AU", "AU", 0x00000109, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x15f */ + { "Australia/LHI", NULL, 13, 0, "AU", "", 0x00000000, 0, }, /* 0x160 */ + { "Australia/Lindeman", "E. Australia Standard Time", 18, 26, "AU", "AU", 0x00000104, 0, }, /* 0x161 */ + { "Australia/Lord_Howe", "Lord Howe Standard Time", 19, 23, "AU", "AU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x162 */ + { "Australia/Melbourne", "AUS Eastern Standard Time", 19, 25, "AU", "AU", 0x000000ff, 0, }, /* 0x163 */ + { "Australia/NSW", NULL, 13, 0, "AU", "", 0x00000000, 0, }, /* 0x164 */ + { "Australia/North", NULL, 15, 0, "AU", "", 0x00000000, 0, }, /* 0x165 */ + { "Australia/Perth", "W. Australia Standard Time", 15, 26, "AU", "AU", 0x000000e1, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x166 */ + { "Australia/Queensland", NULL, 20, 0, "AU", "", 0x00000000, 0, }, /* 0x167 */ + { "Australia/South", NULL, 15, 0, "AU", "", 0x00000000, 0, }, /* 0x168 */ + { "Australia/Sydney", "AUS Eastern Standard Time", 16, 25, "AU", "AU", 0x000000ff, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x169 */ + { "Australia/Tasmania", NULL, 18, 0, "AU", "", 0x00000000, 0, }, /* 0x16a */ + { "Australia/Victoria", NULL, 18, 0, "AU", "", 0x00000000, 0, }, /* 0x16b */ + { "Australia/West", NULL, 14, 0, "AU", "", 0x00000000, 0, }, /* 0x16c */ + { "Australia/Yancowinna", NULL, 20, 0, "AU", "", 0x00000000, 0, }, /* 0x16d */ + { "Brazil/Acre", NULL, 11, 0, "BR", "", 0x00000000, 0, }, /* 0x16e */ + { "Brazil/DeNoronha", NULL, 16, 0, "BR", "", 0x00000000, 0, }, /* 0x16f */ + { "Brazil/East", NULL, 11, 0, "BR", "", 0x00000000, 0, }, /* 0x170 */ + { "Brazil/West", NULL, 11, 0, "BR", "", 0x00000000, 0, }, /* 0x171 */ + { "CET", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x172 */ + { "CST6CDT", "Central Standard Time", 7, 21, "ZZ", "ZZ", 0x00000014, 0, }, /* 0x173 */ + { "Canada/Atlantic", NULL, 15, 0, "CA", "", 0x00000000, 0, }, /* 0x174 */ + { "Canada/Central", NULL, 14, 0, "CA", "", 0x00000000, 0, }, /* 0x175 */ + { "Canada/East-Saskatchewan", NULL, 24, 0, "CA", "", 0x00000000, 0, }, /* 0x176 */ + { "Canada/Eastern", NULL, 14, 0, "CA", "", 0x00000000, 0, }, /* 0x177 */ + { "Canada/Mountain", NULL, 15, 0, "CA", "", 0x00000000, 0, }, /* 0x178 */ + { "Canada/Newfoundland", NULL, 19, 0, "CA", "", 0x00000000, 0, }, /* 0x179 */ + { "Canada/Pacific", NULL, 14, 0, "CA", "", 0x00000000, 0, }, /* 0x17a */ + { "Canada/Saskatchewan", NULL, 19, 0, "CA", "", 0x00000000, 0, }, /* 0x17b */ + { "Canada/Yukon", NULL, 12, 0, "CA", "", 0x00000000, 0, }, /* 0x17c */ + { "Chile/Continental", NULL, 17, 0, "CL", "", 0x00000000, 0, }, /* 0x17d */ + { "Chile/EasterIsland", NULL, 18, 0, "CL", "", 0x00000000, 0, }, /* 0x17e */ + { "Cuba", NULL, 4, 0, "CU", "", 0x00000000, 0, }, /* 0x17f */ + { "EET", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x180 */ + { "EST", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x181 */ + { "EST5EDT", "Eastern Standard Time", 7, 21, "ZZ", "ZZ", 0x00000023, 0, }, /* 0x182 */ + { "Egypt", NULL, 5, 0, "EG", "", 0x00000000, 0, }, /* 0x183 */ + { "Eire", NULL, 4, 0, "IE", "", 0x00000000, 0, }, /* 0x184 */ + { "Etc/GMT", "UTC", 7, 3, "ZZ", "ZZ", 0x80000050, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x185 */ + { "Etc/GMT+0", NULL, 9, 0, "ZZ", "", 0x00000000, 0, }, /* 0x186 */ + { "Etc/GMT+1", "Cape Verde Standard Time", 9, 24, "ZZ", "ZZ", 0x00000053, 0, }, /* 0x187 */ + { "Etc/GMT+10", "Hawaiian Standard Time", 10, 22, "ZZ", "ZZ", 0x00000002, 0, }, /* 0x188 */ + { "Etc/GMT+11", "UTC-11", 10, 6, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x189 */ + { "Etc/GMT+12", "Dateline Standard Time", 10, 22, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x18a */ + { "Etc/GMT+2", "UTC-02", 9, 6, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x18b */ + { "Etc/GMT+3", "SA Eastern Standard Time", 9, 24, "ZZ", "ZZ", 0x00000046, 0, }, /* 0x18c */ + { "Etc/GMT+4", "SA Western Standard Time", 9, 24, "ZZ", "ZZ", 0x00000037, 0, }, /* 0x18d */ + { "Etc/GMT+5", "SA Pacific Standard Time", 9, 24, "ZZ", "ZZ", 0x0000002d, 0, }, /* 0x18e */ + { "Etc/GMT+6", "Central America Standard Time", 9, 29, "ZZ", "ZZ", 0x00000021, 0, }, /* 0x18f */ + { "Etc/GMT+7", "US Mountain Standard Time", 9, 25, "ZZ", "ZZ", 0x0000000f, 0, }, /* 0x190 */ + { "Etc/GMT+8", "UTC-08", 9, 6, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x191 */ + { "Etc/GMT+9", "UTC-09", 9, 6, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x192 */ + { "Etc/GMT-0", NULL, 9, 0, "ZZ", "", 0x00000000, 0, }, /* 0x193 */ + { "Etc/GMT-1", "W. Central Africa Standard Time", 9, 31, "ZZ", "ZZ", 0x00000071, 0, }, /* 0x194 */ + { "Etc/GMT-10", "West Pacific Standard Time", 10, 26, "ZZ", "ZZ", 0x00000113, 0, }, /* 0x195 */ + { "Etc/GMT-11", "Central Pacific Standard Time", 10, 29, "ZZ", "ZZ", 0x00000118, 0, }, /* 0x196 */ + { "Etc/GMT-12", "UTC+12", 10, 6, "ZZ", "ZZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x197 */ + { "Etc/GMT-13", "Tonga Standard Time", 10, 19, "ZZ", "ZZ", 0x0000012c, 0, }, /* 0x198 */ + { "Etc/GMT-14", "Line Islands Standard Time", 10, 26, "ZZ", "ZZ", 0x00000000, 0, }, /* 0x199 */ + { "Etc/GMT-2", "South Africa Standard Time", 9, 26, "ZZ", "ZZ", 0x0000008c, 0, }, /* 0x19a */ + { "Etc/GMT-3", "E. Africa Standard Time", 9, 23, "ZZ", "ZZ", 0x0000009b, 0, }, /* 0x19b */ + { "Etc/GMT-4", "Arabian Standard Time", 9, 21, "ZZ", "ZZ", 0x000000a5, 0, }, /* 0x19c */ + { "Etc/GMT-5", "West Asia Standard Time", 9, 23, "ZZ", "ZZ", 0x000000b9, 0, }, /* 0x19d */ + { "Etc/GMT-6", "Central Asia Standard Time", 9, 26, "ZZ", "ZZ", 0x000000c3, 0, }, /* 0x19e */ + { "Etc/GMT-7", "SE Asia Standard Time", 9, 21, "ZZ", "ZZ", 0x000000cd, 0, }, /* 0x19f */ + { "Etc/GMT-8", "Singapore Standard Time", 9, 23, "ZZ", "ZZ", 0x000000d7, 0, }, /* 0x1a0 */ + { "Etc/GMT-9", "Tokyo Standard Time", 9, 19, "ZZ", "ZZ", 0x000000eb, 0, }, /* 0x1a1 */ + { "Etc/GMT0", NULL, 8, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1a2 */ + { "Etc/Greenwich", NULL, 13, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1a3 */ + { "Etc/UCT", NULL, 7, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1a4 */ + { "Etc/UTC", "UTC", 7, 3, "ZZ", "ZZ", 0x80000050, 0, }, /* 0x1a5 */ + { "Etc/Universal", NULL, 13, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1a6 */ + { "Etc/Zulu", NULL, 8, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1a7 */ + { "Europe/Amsterdam", "W. Europe Standard Time", 16, 23, "NL", "NL", 0x0000006e, 0, }, /* 0x1a8 */ + { "Europe/Andorra", "W. Europe Standard Time", 14, 23, "AD", "AD", 0x0000006e, 0, }, /* 0x1a9 */ + { "Europe/Astrakhan", "Astrakhan Standard Time", 16, 23, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1aa */ + { "Europe/Athens", "GTB Standard Time", 13, 17, "GR", "GR", 0x00000082, 0, }, /* 0x1ab */ + { "Europe/Belfast", NULL, 14, 0, "GB", "", 0x00000000, 0, }, /* 0x1ac */ + { "Europe/Belgrade", "Central Europe Standard Time", 15, 28, "RS", "RS", 0x0000005f, 0, }, /* 0x1ad */ + { "Europe/Berlin", "W. Europe Standard Time", 13, 23, "DE", "DE", 0x0000006e, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1ae */ + { "Europe/Bratislava", "Central Europe Standard Time", 17, 28, "CZ", "SK", 0x00000000, 0, }, /* 0x1af */ + { "Europe/Brussels", "Romance Standard Time", 15, 21, "BE", "BE", 0x00000069, 0, }, /* 0x1b0 */ + { "Europe/Bucharest", "GTB Standard Time", 16, 17, "RO", "RO", 0x00000082, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1b1 */ + { "Europe/Budapest", "Central Europe Standard Time", 15, 28, "HU", "HU", 0x0000005f, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1b2 */ + { "Europe/Busingen", "W. Europe Standard Time", 15, 23, "CH", "DE", 0x00000000, 0, }, /* 0x1b3 */ + { "Europe/Chisinau", "E. Europe Standard Time", 15, 23, "MD", "MD", 0x00000073, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1b4 */ + { "Europe/Copenhagen", "Romance Standard Time", 17, 21, "DK", "DK", 0x00000069, 0, }, /* 0x1b5 */ + { "Europe/Dublin", "GMT Standard Time", 13, 17, "IE", "IE", 0x00000055, 0, }, /* 0x1b6 */ + { "Europe/Gibraltar", "W. Europe Standard Time", 16, 23, "GI", "GI", 0x0000006e, 0, }, /* 0x1b7 */ + { "Europe/Guernsey", "GMT Standard Time", 15, 17, "GB", "GG", 0x00000000, 0, }, /* 0x1b8 */ + { "Europe/Helsinki", "FLE Standard Time", 15, 17, "FI", "FI", 0x0000007d, 0, }, /* 0x1b9 */ + { "Europe/Isle_of_Man", "GMT Standard Time", 18, 17, "GB", "IM", 0x00000000, 0, }, /* 0x1ba */ + { "Europe/Istanbul", "Turkey Standard Time", 15, 20, "TR", "TR", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1bb */ + { "Europe/Jersey", "GMT Standard Time", 13, 17, "GB", "JE", 0x00000000, 0, }, /* 0x1bc */ + { "Europe/Kaliningrad", "Kaliningrad Standard Time", 18, 25, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1bd */ + { "Europe/Kiev", "FLE Standard Time", 11, 17, "UA", "UA", 0x0000007d, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1be */ + { "Europe/Kirov", "Russian Standard Time", 12, 21, "RU", "RU", 0x00000091, 0, }, /* 0x1bf */ + { "Europe/Lisbon", "GMT Standard Time", 13, 17, "PT", "PT", 0x00000055, 0, }, /* 0x1c0 */ + { "Europe/Ljubljana", "Central Europe Standard Time", 16, 28, "RS", "SI", 0x00000000, 0, }, /* 0x1c1 */ + { "Europe/London", "GMT Standard Time", 13, 17, "GB", "GB", 0x00000055, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1c2 */ + { "Europe/Luxembourg", "W. Europe Standard Time", 17, 23, "LU", "LU", 0x0000006e, 0, }, /* 0x1c3 */ + { "Europe/Madrid", "Romance Standard Time", 13, 21, "ES", "ES", 0x00000069, 0, }, /* 0x1c4 */ + { "Europe/Malta", "W. Europe Standard Time", 12, 23, "MT", "MT", 0x0000006e, 0, }, /* 0x1c5 */ + { "Europe/Mariehamn", "FLE Standard Time", 16, 17, "FI", "AX", 0x00000000, 0, }, /* 0x1c6 */ + { "Europe/Minsk", "Belarus Standard Time", 12, 21, "BY", "BY", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1c7 */ + { "Europe/Monaco", "W. Europe Standard Time", 13, 23, "MC", "MC", 0x0000006e, 0, }, /* 0x1c8 */ + { "Europe/Moscow", "Russian Standard Time", 13, 21, "RU", "RU", 0x00000091, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1c9 */ + { "Europe/Nicosia", NULL, 14, 0, "CY", "", 0x00000000, 0, }, /* 0x1ca */ + { "Europe/Oslo", "W. Europe Standard Time", 11, 23, "NO", "NO", 0x0000006e, 0, }, /* 0x1cb */ + { "Europe/Paris", "Romance Standard Time", 12, 21, "FR", "FR", 0x00000069, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1cc */ + { "Europe/Podgorica", "Central Europe Standard Time", 16, 28, "RS", "ME", 0x00000000, 0, }, /* 0x1cd */ + { "Europe/Prague", "Central Europe Standard Time", 13, 28, "CZ", "CZ", 0x0000005f, 0, }, /* 0x1ce */ + { "Europe/Riga", "FLE Standard Time", 11, 17, "LV", "LV", 0x0000007d, 0, }, /* 0x1cf */ + { "Europe/Rome", "W. Europe Standard Time", 11, 23, "IT", "IT", 0x0000006e, 0, }, /* 0x1d0 */ + { "Europe/Samara", "Russia Time Zone 3", 13, 18, "RU", "RU", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1d1 */ + { "Europe/San_Marino", "W. Europe Standard Time", 17, 23, "IT", "SM", 0x00000000, 0, }, /* 0x1d2 */ + { "Europe/Sarajevo", "Central European Standard Time", 15, 30, "RS", "BA", 0x00000000, 0, }, /* 0x1d3 */ + { "Europe/Saratov", "Astrakhan Standard Time", 14, 23, "RU", "RU", 0x00000000, 0, }, /* 0x1d4 */ + { "Europe/Simferopol", "Russian Standard Time", 17, 21, "RU", "UA", 0x00000091, 0, }, /* 0x1d5 */ + { "Europe/Skopje", "Central European Standard Time", 13, 30, "RS", "MK", 0x00000000, 0, }, /* 0x1d6 */ + { "Europe/Sofia", "FLE Standard Time", 12, 17, "BG", "BG", 0x0000007d, 0, }, /* 0x1d7 */ + { "Europe/Stockholm", "W. Europe Standard Time", 16, 23, "SE", "SE", 0x0000006e, 0, }, /* 0x1d8 */ + { "Europe/Tallinn", "FLE Standard Time", 14, 17, "EE", "EE", 0x0000007d, 0, }, /* 0x1d9 */ + { "Europe/Tirane", "Central Europe Standard Time", 13, 28, "AL", "AL", 0x0000005f, 0, }, /* 0x1da */ + { "Europe/Tiraspol", NULL, 15, 0, "MD", "", 0x00000000, 0, }, /* 0x1db */ + { "Europe/Ulyanovsk", "Astrakhan Standard Time", 16, 23, "RU", "RU", 0x00000000, 0, }, /* 0x1dc */ + { "Europe/Uzhgorod", "FLE Standard Time", 15, 17, "UA", "UA", 0x0000007d, 0, }, /* 0x1dd */ + { "Europe/Vaduz", "W. Europe Standard Time", 12, 23, "CH", "LI", 0x00000000, 0, }, /* 0x1de */ + { "Europe/Vatican", "W. Europe Standard Time", 14, 23, "IT", "VA", 0x00000000, 0, }, /* 0x1df */ + { "Europe/Vienna", "W. Europe Standard Time", 13, 23, "AT", "AT", 0x0000006e, 0, }, /* 0x1e0 */ + { "Europe/Vilnius", "FLE Standard Time", 14, 17, "LT", "LT", 0x0000007d, 0, }, /* 0x1e1 */ + { "Europe/Volgograd", "Russian Standard Time", 16, 21, "RU", "RU", 0x00000091, 0, }, /* 0x1e2 */ + { "Europe/Warsaw", "Central European Standard Time", 13, 30, "PL", "PL", 0x00000064, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1e3 */ + { "Europe/Zagreb", "Central European Standard Time", 13, 30, "RS", "HR", 0x00000000, 0, }, /* 0x1e4 */ + { "Europe/Zaporozhye", "FLE Standard Time", 17, 17, "UA", "UA", 0x0000007d, 0, }, /* 0x1e5 */ + { "Europe/Zurich", "W. Europe Standard Time", 13, 23, "CH", "CH", 0x0000006e, 0, }, /* 0x1e6 */ + { "Factory", NULL, 7, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1e7 */ + { "GB", NULL, 2, 0, "GB", "", 0x00000000, 0, }, /* 0x1e8 */ + { "GB-Eire", NULL, 7, 0, "GB", "", 0x00000000, 0, }, /* 0x1e9 */ + { "GMT", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1ea */ + { "GMT+0", NULL, 5, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1eb */ + { "GMT-0", NULL, 5, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1ec */ + { "GMT0", NULL, 4, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1ed */ + { "Greenwich", NULL, 9, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1ee */ + { "HST", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x1ef */ + { "Hongkong", NULL, 8, 0, "HK", "", 0x00000000, 0, }, /* 0x1f0 */ + { "Iceland", NULL, 7, 0, "IS", "", 0x00000000, 0, }, /* 0x1f1 */ + { "Indian/Antananarivo", "E. Africa Standard Time", 19, 23, "KE", "MG", 0x00000000, 0, }, /* 0x1f2 */ + { "Indian/Chagos", "Central Asia Standard Time", 13, 26, "IO", "IO", 0x000000c3, 0, }, /* 0x1f3 */ + { "Indian/Christmas", "SE Asia Standard Time", 16, 21, "CX", "CX", 0x000000cd, 0, }, /* 0x1f4 */ + { "Indian/Cocos", "Myanmar Standard Time", 12, 21, "CC", "CC", 0x000000cb, 0, }, /* 0x1f5 */ + { "Indian/Comoro", "E. Africa Standard Time", 13, 23, "KE", "KM", 0x00000000, 0, }, /* 0x1f6 */ + { "Indian/Kerguelen", "West Asia Standard Time", 16, 23, "TF", "TF", 0x000000b9, 0, }, /* 0x1f7 */ + { "Indian/Mahe", "Mauritius Standard Time", 11, 23, "SC", "SC", 0x8000004f, 0, }, /* 0x1f8 */ + { "Indian/Maldives", "West Asia Standard Time", 15, 23, "MV", "MV", 0x000000b9, 0, }, /* 0x1f9 */ + { "Indian/Mauritius", "Mauritius Standard Time", 16, 23, "MU", "MU", 0x8000004f, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x1fa */ + { "Indian/Mayotte", "E. Africa Standard Time", 14, 23, "KE", "YT", 0x00000000, 0, }, /* 0x1fb */ + { "Indian/Reunion", "Mauritius Standard Time", 14, 23, "RE", "RE", 0x8000004f, 0, }, /* 0x1fc */ + { "Iran", NULL, 4, 0, "IR", "", 0x00000000, 0, }, /* 0x1fd */ + { "Israel", NULL, 6, 0, "IL", "", 0x00000000, 0, }, /* 0x1fe */ + { "Jamaica", NULL, 7, 0, "JM", "", 0x00000000, 0, }, /* 0x1ff */ + { "Japan", NULL, 5, 0, "JP", "", 0x00000000, 0, }, /* 0x200 */ + { "Kwajalein", NULL, 9, 0, "MH", "", 0x00000000, 0, }, /* 0x201 */ + { "Libya", NULL, 5, 0, "LY", "", 0x00000000, 0, }, /* 0x202 */ + { "MET", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x203 */ + { "MST", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x204 */ + { "MST7MDT", "Mountain Standard Time", 7, 22, "ZZ", "ZZ", 0x0000000a, 0, }, /* 0x205 */ + { "Mexico/BajaNorte", NULL, 16, 0, "MX", "", 0x00000000, 0, }, /* 0x206 */ + { "Mexico/BajaSur", NULL, 14, 0, "MX", "", 0x00000000, 0, }, /* 0x207 */ + { "Mexico/General", NULL, 14, 0, "MX", "", 0x00000000, 0, }, /* 0x208 */ + { "NZ", NULL, 2, 0, "NZ", "", 0x00000000, 0, }, /* 0x209 */ + { "NZ-CHAT", NULL, 7, 0, "NZ", "", 0x00000000, 0, }, /* 0x20a */ + { "Navajo", NULL, 6, 0, "US", "", 0x00000000, 0, }, /* 0x20b */ + { "PRC", NULL, 3, 0, "CN", "", 0x00000000, 0, }, /* 0x20c */ + { "PST8PDT", "Pacific Standard Time", 7, 21, "ZZ", "ZZ", 0x00000004, 0, }, /* 0x20d */ + { "Pacific/Apia", "Samoa Standard Time", 12, 19, "WS", "WS", 0x00000001, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x20e */ + { "Pacific/Auckland", "New Zealand Standard Time", 16, 25, "NZ", "NZ", 0x00000122, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x20f */ + { "Pacific/Bougainville", "Bougainville Standard Time", 20, 26, "PG", "PG", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x210 */ + { "Pacific/Chatham", "Chatham Islands Standard Time", 15, 29, "NZ", "NZ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x211 */ + { "Pacific/Chuuk", NULL, 13, 0, "FM", "", 0x00000000, 0, }, /* 0x212 */ + { "Pacific/Easter", "Easter Island Standard Time", 14, 27, "CL", "CL", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x213 */ + { "Pacific/Efate", "Central Pacific Standard Time", 13, 29, "VU", "VU", 0x00000118, 0, }, /* 0x214 */ + { "Pacific/Enderbury", "Tonga Standard Time", 17, 19, "KI", "KI", 0x0000012c, 0, }, /* 0x215 */ + { "Pacific/Fakaofo", "Tonga Standard Time", 15, 19, "TK", "TK", 0x0000012c, 0, }, /* 0x216 */ + { "Pacific/Fiji", "Fiji Standard Time", 12, 18, "FJ", "FJ", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x217 */ + { "Pacific/Funafuti", "UTC+12", 16, 6, "TV", "TV", 0x00000000, 0, }, /* 0x218 */ + { "Pacific/Galapagos", "Central America Standard Time", 17, 29, "EC", "EC", 0x00000021, 0, }, /* 0x219 */ + { "Pacific/Gambier", "UTC-09", 15, 6, "PF", "PF", 0x00000000, 0, }, /* 0x21a */ + { "Pacific/Guadalcanal", "Central Pacific Standard Time", 19, 29, "SB", "SB", 0x00000118, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x21b */ + { "Pacific/Guam", "West Pacific Standard Time", 12, 26, "GU", "GU", 0x00000113, 0, }, /* 0x21c */ + { "Pacific/Honolulu", "Hawaiian Standard Time", 16, 22, "US", "US", 0x00000002, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x21d */ + { "Pacific/Johnston", "Hawaiian Standard Time", 16, 22, "US", "UM", 0x00000000, 0, }, /* 0x21e */ + { "Pacific/Kiritimati", "Line Islands Standard Time", 18, 26, "KI", "KI", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x21f */ + { "Pacific/Kosrae", "Central Pacific Standard Time", 14, 29, "FM", "FM", 0x00000118, 0, }, /* 0x220 */ + { "Pacific/Kwajalein", "UTC+12", 17, 6, "MH", "MH", 0x00000000, 0, }, /* 0x221 */ + { "Pacific/Majuro", "UTC+12", 14, 6, "MH", "MH", 0x00000000, 0, }, /* 0x222 */ + { "Pacific/Marquesas", "Marquesas Standard Time", 17, 23, "PF", "PF", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x223 */ + { "Pacific/Midway", "UTC-11", 14, 6, "AS", "UM", 0x00000000, 0, }, /* 0x224 */ + { "Pacific/Nauru", "UTC+12", 13, 6, "NR", "NR", 0x00000000, 0, }, /* 0x225 */ + { "Pacific/Niue", "UTC-11", 12, 6, "NU", "NU", 0x00000000, 0, }, /* 0x226 */ + { "Pacific/Norfolk", "Norfolk Standard Time", 15, 21, "NF", "NF", 0x00000000, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x227 */ + { "Pacific/Noumea", "Central Pacific Standard Time", 14, 29, "NC", "NC", 0x00000118, 0, }, /* 0x228 */ + { "Pacific/Pago_Pago", "UTC-11", 17, 6, "AS", "AS", 0x00000000, 0, }, /* 0x229 */ + { "Pacific/Palau", "Tokyo Standard Time", 13, 19, "PW", "PW", 0x000000eb, 0, }, /* 0x22a */ + { "Pacific/Pitcairn", "UTC-08", 16, 6, "PN", "PN", 0x00000000, 0, }, /* 0x22b */ + { "Pacific/Pohnpei", NULL, 15, 0, "FM", "", 0x00000000, 0, }, /* 0x22c */ + { "Pacific/Ponape", "Central Pacific Standard Time", 14, 29, "FM", "FM", 0x00000000, 0, }, /* 0x22d */ + { "Pacific/Port_Moresby", "West Pacific Standard Time", 20, 26, "PG", "PG", 0x00000113, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x22e */ + { "Pacific/Rarotonga", "Hawaiian Standard Time", 17, 22, "CK", "CK", 0x00000002, 0, }, /* 0x22f */ + { "Pacific/Saipan", "West Pacific Standard Time", 14, 26, "GU", "MP", 0x00000000, 0, }, /* 0x230 */ + { "Pacific/Samoa", NULL, 13, 0, "AS", "", 0x00000000, 0, }, /* 0x231 */ + { "Pacific/Tahiti", "Hawaiian Standard Time", 14, 22, "PF", "PF", 0x00000002, 0, }, /* 0x232 */ + { "Pacific/Tarawa", "UTC+12", 14, 6, "KI", "KI", 0x00000000, 0, }, /* 0x233 */ + { "Pacific/Tongatapu", "Tonga Standard Time", 17, 19, "TO", "TO", 0x0000012c, RTTIMEZONEINFO_F_GOLDEN, }, /* 0x234 */ + { "Pacific/Truk", "West Pacific Standard Time", 12, 26, "FM", "FM", 0x00000000, 0, }, /* 0x235 */ + { "Pacific/Wake", "UTC+12", 12, 6, "UM", "UM", 0x00000000, 0, }, /* 0x236 */ + { "Pacific/Wallis", "UTC+12", 14, 6, "WF", "WF", 0x00000000, 0, }, /* 0x237 */ + { "Pacific/Yap", NULL, 11, 0, "FM", "", 0x00000000, 0, }, /* 0x238 */ + { "Poland", NULL, 6, 0, "PL", "", 0x00000000, 0, }, /* 0x239 */ + { "Portugal", NULL, 8, 0, "PT", "", 0x00000000, 0, }, /* 0x23a */ + { "ROC", NULL, 3, 0, "TW", "", 0x00000000, 0, }, /* 0x23b */ + { "ROK", NULL, 3, 0, "KR", "", 0x00000000, 0, }, /* 0x23c */ + { "Singapore", NULL, 9, 0, "SG", "", 0x00000000, 0, }, /* 0x23d */ + { "Turkey", NULL, 6, 0, "TR", "", 0x00000000, 0, }, /* 0x23e */ + { "UCT", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x23f */ + { "US/Alaska", NULL, 9, 0, "US", "", 0x00000000, 0, }, /* 0x240 */ + { "US/Aleutian", NULL, 11, 0, "US", "", 0x00000000, 0, }, /* 0x241 */ + { "US/Arizona", NULL, 10, 0, "US", "", 0x00000000, 0, }, /* 0x242 */ + { "US/Central", NULL, 10, 0, "US", "", 0x00000000, 0, }, /* 0x243 */ + { "US/East-Indiana", NULL, 15, 0, "US", "", 0x00000000, 0, }, /* 0x244 */ + { "US/Eastern", NULL, 10, 0, "US", "", 0x00000000, 0, }, /* 0x245 */ + { "US/Hawaii", NULL, 9, 0, "US", "", 0x00000000, 0, }, /* 0x246 */ + { "US/Indiana-Starke", NULL, 17, 0, "US", "", 0x00000000, 0, }, /* 0x247 */ + { "US/Michigan", NULL, 11, 0, "US", "", 0x00000000, 0, }, /* 0x248 */ + { "US/Mountain", NULL, 11, 0, "US", "", 0x00000000, 0, }, /* 0x249 */ + { "US/Pacific", NULL, 10, 0, "US", "", 0x00000000, 0, }, /* 0x24a */ + { "US/Pacific-New", NULL, 14, 0, "US", "", 0x00000000, 0, }, /* 0x24b */ + { "US/Samoa", NULL, 8, 0, "AS", "", 0x00000000, 0, }, /* 0x24c */ + { "UTC", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x24d */ + { "Universal", NULL, 9, 0, "ZZ", "", 0x00000000, 0, }, /* 0x24e */ + { "W-SU", NULL, 4, 0, "RU", "", 0x00000000, 0, }, /* 0x24f */ + { "WET", NULL, 3, 0, "ZZ", "", 0x00000000, 0, }, /* 0x250 */ + { "Zulu", NULL, 4, 0, "ZZ", "", 0x00000000, 0, }, /* 0x251 */ +}; + +/** + * Windows time zone lookup table. Sorted by name, golden flag and territory. + */ +static const uint16_t g_aidxWinTimeZones[] = +{ + 0x15d, /* AUS Central Standard Time / AU+ ==> Australia/Darwin */ + 0x169, /* AUS Eastern Standard Time / AU+ ==> Australia/Sydney */ + 0x163, /* AUS Eastern Standard Time / AU ==> Australia/Melbourne */ + 0x112, /* Afghanistan Standard Time / AF+ ==> Asia/Kabul */ + 0x037, /* Alaskan Standard Time / US+ ==> America/Anchorage */ + 0x08b, /* Alaskan Standard Time / US ==> America/Juneau */ + 0x09f, /* Alaskan Standard Time / US ==> America/Metlakatla */ + 0x0aa, /* Alaskan Standard Time / US ==> America/Nome */ + 0x0c8, /* Alaskan Standard Time / US ==> America/Sitka */ + 0x0da, /* Alaskan Standard Time / US ==> America/Yakutat */ + 0x036, /* Aleutian Standard Time / US+ ==> America/Adak */ + 0x0f6, /* Altai Standard Time / RU+ ==> Asia/Barnaul */ + 0x12f, /* Arab Standard Time / SA+ ==> Asia/Riyadh */ + 0x0f3, /* Arab Standard Time / BH ==> Asia/Bahrain */ + 0x11d, /* Arab Standard Time / KW ==> Asia/Kuwait */ + 0x12c, /* Arab Standard Time / QA ==> Asia/Qatar */ + 0x0e9, /* Arab Standard Time / YE ==> Asia/Aden */ + 0x104, /* Arabian Standard Time / AE+ ==> Asia/Dubai */ + 0x123, /* Arabian Standard Time / OM ==> Asia/Muscat */ + 0x19c, /* Arabian Standard Time / ZZ ==> Etc/GMT-4 */ + 0x0f2, /* Arabic Standard Time / IQ+ ==> Asia/Baghdad */ + 0x055, /* Argentina Standard Time / AR+ ==> America/Buenos_Aires */ + 0x040, /* Argentina Standard Time / AR ==> America/Argentina/La_Rioja */ + 0x042, /* Argentina Standard Time / AR ==> America/Argentina/Rio_Gallegos */ + 0x043, /* Argentina Standard Time / AR ==> America/Argentina/Salta */ + 0x044, /* Argentina Standard Time / AR ==> America/Argentina/San_Juan */ + 0x045, /* Argentina Standard Time / AR ==> America/Argentina/San_Luis */ + 0x046, /* Argentina Standard Time / AR ==> America/Argentina/Tucuman */ + 0x047, /* Argentina Standard Time / AR ==> America/Argentina/Ushuaia */ + 0x05a, /* Argentina Standard Time / AR ==> America/Catamarca */ + 0x060, /* Argentina Standard Time / AR ==> America/Cordoba */ + 0x08a, /* Argentina Standard Time / AR ==> America/Jujuy */ + 0x09c, /* Argentina Standard Time / AR ==> America/Mendoza */ + 0x1aa, /* Astrakhan Standard Time / RU+ ==> Europe/Astrakhan */ + 0x1d4, /* Astrakhan Standard Time / RU ==> Europe/Saratov */ + 0x1dc, /* Astrakhan Standard Time / RU ==> Europe/Ulyanovsk */ + 0x07b, /* Atlantic Standard Time / CA+ ==> America/Halifax */ + 0x14c, /* Atlantic Standard Time / BM ==> Atlantic/Bermuda */ + 0x072, /* Atlantic Standard Time / CA ==> America/Glace_Bay */ + 0x074, /* Atlantic Standard Time / CA ==> America/Goose_Bay */ + 0x0a2, /* Atlantic Standard Time / CA ==> America/Moncton */ + 0x0d1, /* Atlantic Standard Time / GL ==> America/Thule */ + 0x15e, /* Aus Central W. Standard Time / AU+ ==> Australia/Eucla */ + 0x0f4, /* Azerbaijan Standard Time / AZ+ ==> Asia/Baku */ + 0x14b, /* Azores Standard Time / PT+ ==> Atlantic/Azores */ + 0x0c6, /* Azores Standard Time / GL ==> America/Scoresbysund */ + 0x04c, /* Bahia Standard Time / BR+ ==> America/Bahia */ + 0x102, /* Bangladesh Standard Time / BD+ ==> Asia/Dhaka */ + 0x13d, /* Bangladesh Standard Time / BT ==> Asia/Thimphu */ + 0x1c7, /* Belarus Standard Time / BY+ ==> Europe/Minsk */ + 0x210, /* Bougainville Standard Time / PG+ ==> Pacific/Bougainville */ + 0x0bd, /* Canada Central Standard Time / CA+ ==> America/Regina */ + 0x0cf, /* Canada Central Standard Time / CA ==> America/Swift_Current */ + 0x14e, /* Cape Verde Standard Time / CV+ ==> Atlantic/Cape_Verde */ + 0x187, /* Cape Verde Standard Time / ZZ ==> Etc/GMT+1 */ + 0x14a, /* Caucasus Standard Time / AM+ ==> Asia/Yerevan */ + 0x158, /* Cen. Australia Standard Time / AU+ ==> Australia/Adelaide */ + 0x15a, /* Cen. Australia Standard Time / AU ==> Australia/Broken_Hill */ + 0x078, /* Central America Standard Time / GT+ ==> America/Guatemala */ + 0x050, /* Central America Standard Time / BZ ==> America/Belize */ + 0x061, /* Central America Standard Time / CR ==> America/Costa_Rica */ + 0x219, /* Central America Standard Time / EC ==> Pacific/Galapagos */ + 0x0d0, /* Central America Standard Time / HN ==> America/Tegucigalpa */ + 0x096, /* Central America Standard Time / NI ==> America/Managua */ + 0x06d, /* Central America Standard Time / SV ==> America/El_Salvador */ + 0x18f, /* Central America Standard Time / ZZ ==> Etc/GMT+6 */ + 0x0ea, /* Central Asia Standard Time / KZ+ ==> Asia/Almaty */ + 0x0e7, /* Central Asia Standard Time / AQ ==> Antarctica/Vostok */ + 0x143, /* Central Asia Standard Time / CN ==> Asia/Urumqi */ + 0x1f3, /* Central Asia Standard Time / IO ==> Indian/Chagos */ + 0x0f8, /* Central Asia Standard Time / KG ==> Asia/Bishkek */ + 0x12d, /* Central Asia Standard Time / KZ ==> Asia/Qyzylorda */ + 0x19e, /* Central Asia Standard Time / ZZ ==> Etc/GMT-6 */ + 0x063, /* Central Brazilian Standard Time / BR+ ==> America/Cuiaba */ + 0x057, /* Central Brazilian Standard Time / BR ==> America/Campo_Grande */ + 0x1b2, /* Central Europe Standard Time / HU+ ==> Europe/Budapest */ + 0x1da, /* Central Europe Standard Time / AL ==> Europe/Tirane */ + 0x1ce, /* Central Europe Standard Time / CZ ==> Europe/Prague */ + 0x1cd, /* Central Europe Standard Time / ME ==> Europe/Podgorica */ + 0x1ad, /* Central Europe Standard Time / RS ==> Europe/Belgrade */ + 0x1c1, /* Central Europe Standard Time / SI ==> Europe/Ljubljana */ + 0x1af, /* Central Europe Standard Time / SK ==> Europe/Bratislava */ + 0x1e3, /* Central European Standard Time / PL+ ==> Europe/Warsaw */ + 0x1d3, /* Central European Standard Time / BA ==> Europe/Sarajevo */ + 0x1e4, /* Central European Standard Time / HR ==> Europe/Zagreb */ + 0x1d6, /* Central European Standard Time / MK ==> Europe/Skopje */ + 0x21b, /* Central Pacific Standard Time / SB+ ==> Pacific/Guadalcanal */ + 0x0dc, /* Central Pacific Standard Time / AQ ==> Antarctica/Casey */ + 0x0df, /* Central Pacific Standard Time / AU ==> Antarctica/Macquarie */ + 0x220, /* Central Pacific Standard Time / FM ==> Pacific/Kosrae */ + 0x22d, /* Central Pacific Standard Time / FM ==> Pacific/Ponape */ + 0x228, /* Central Pacific Standard Time / NC ==> Pacific/Noumea */ + 0x214, /* Central Pacific Standard Time / VU ==> Pacific/Efate */ + 0x196, /* Central Pacific Standard Time / ZZ ==> Etc/GMT-11 */ + 0x0a0, /* Central Standard Time (Mexico) / MX+ ==> America/Mexico_City */ + 0x04d, /* Central Standard Time (Mexico) / MX ==> America/Bahia_Banderas */ + 0x09e, /* Central Standard Time (Mexico) / MX ==> America/Merida */ + 0x0a3, /* Central Standard Time (Mexico) / MX ==> America/Monterrey */ + 0x05d, /* Central Standard Time / US+ ==> America/Chicago */ + 0x0ba, /* Central Standard Time / CA ==> America/Rainy_River */ + 0x0bb, /* Central Standard Time / CA ==> America/Rankin_Inlet */ + 0x0be, /* Central Standard Time / CA ==> America/Resolute */ + 0x0d9, /* Central Standard Time / CA ==> America/Winnipeg */ + 0x09a, /* Central Standard Time / MX ==> America/Matamoros */ + 0x07f, /* Central Standard Time / US ==> America/Indiana/Knox */ + 0x082, /* Central Standard Time / US ==> America/Indiana/Tell_City */ + 0x09d, /* Central Standard Time / US ==> America/Menominee */ + 0x0ac, /* Central Standard Time / US ==> America/North_Dakota/Beulah */ + 0x0ad, /* Central Standard Time / US ==> America/North_Dakota/Center */ + 0x0ae, /* Central Standard Time / US ==> America/North_Dakota/New_Salem */ + 0x173, /* Central Standard Time / ZZ ==> CST6CDT */ + 0x211, /* Chatham Islands Standard Time / NZ+ ==> Pacific/Chatham */ + 0x134, /* China Standard Time / CN+ ==> Asia/Shanghai */ + 0x10b, /* China Standard Time / HK ==> Asia/Hong_Kong */ + 0x11f, /* China Standard Time / MO ==> Asia/Macau */ + 0x07c, /* Cuba Standard Time / CU+ ==> America/Havana */ + 0x18a, /* Dateline Standard Time / ZZ+ ==> Etc/GMT+12 */ + 0x02b, /* E. Africa Standard Time / KE+ ==> Africa/Nairobi */ + 0x0e5, /* E. Africa Standard Time / AQ ==> Antarctica/Syowa */ + 0x013, /* E. Africa Standard Time / DJ ==> Africa/Djibouti */ + 0x005, /* E. Africa Standard Time / ER ==> Africa/Asmera */ + 0x002, /* E. Africa Standard Time / ET ==> Africa/Addis_Ababa */ + 0x1f6, /* E. Africa Standard Time / KM ==> Indian/Comoro */ + 0x1f2, /* E. Africa Standard Time / MG ==> Indian/Antananarivo */ + 0x01c, /* E. Africa Standard Time / SD ==> Africa/Khartoum */ + 0x029, /* E. Africa Standard Time / SO ==> Africa/Mogadishu */ + 0x01a, /* E. Africa Standard Time / SS ==> Africa/Juba */ + 0x012, /* E. Africa Standard Time / TZ ==> Africa/Dar_es_Salaam */ + 0x01b, /* E. Africa Standard Time / UG ==> Africa/Kampala */ + 0x1fb, /* E. Africa Standard Time / YT ==> Indian/Mayotte */ + 0x19b, /* E. Africa Standard Time / ZZ ==> Etc/GMT-3 */ + 0x159, /* E. Australia Standard Time / AU+ ==> Australia/Brisbane */ + 0x161, /* E. Australia Standard Time / AU ==> Australia/Lindeman */ + 0x1b4, /* E. Europe Standard Time / MD+ ==> Europe/Chisinau */ + 0x0c5, /* E. South America Standard Time / BR+ ==> America/Sao_Paulo */ + 0x213, /* Easter Island Standard Time / CL+ ==> Pacific/Easter */ + 0x058, /* Eastern Standard Time (Mexico) / MX+ ==> America/Cancun */ + 0x0a8, /* Eastern Standard Time / US+ ==> America/New_York */ + 0x0a7, /* Eastern Standard Time / BS ==> America/Nassau */ + 0x088, /* Eastern Standard Time / CA ==> America/Iqaluit */ + 0x0a5, /* Eastern Standard Time / CA ==> America/Montreal */ + 0x0a9, /* Eastern Standard Time / CA ==> America/Nipigon */ + 0x0b1, /* Eastern Standard Time / CA ==> America/Pangnirtung */ + 0x0d2, /* Eastern Standard Time / CA ==> America/Thunder_Bay */ + 0x0d4, /* Eastern Standard Time / CA ==> America/Toronto */ + 0x069, /* Eastern Standard Time / US ==> America/Detroit */ + 0x081, /* Eastern Standard Time / US ==> America/Indiana/Petersburg */ + 0x084, /* Eastern Standard Time / US ==> America/Indiana/Vincennes */ + 0x085, /* Eastern Standard Time / US ==> America/Indiana/Winamac */ + 0x08d, /* Eastern Standard Time / US ==> America/Kentucky/Monticello */ + 0x093, /* Eastern Standard Time / US ==> America/Louisville */ + 0x182, /* Eastern Standard Time / ZZ ==> EST5EDT */ + 0x00d, /* Egypt Standard Time / EG+ ==> Africa/Cairo */ + 0x149, /* Ekaterinburg Standard Time / RU+ ==> Asia/Yekaterinburg */ + 0x1be, /* FLE Standard Time / UA+ ==> Europe/Kiev */ + 0x1c6, /* FLE Standard Time / AX ==> Europe/Mariehamn */ + 0x1d7, /* FLE Standard Time / BG ==> Europe/Sofia */ + 0x1d9, /* FLE Standard Time / EE ==> Europe/Tallinn */ + 0x1b9, /* FLE Standard Time / FI ==> Europe/Helsinki */ + 0x1e1, /* FLE Standard Time / LT ==> Europe/Vilnius */ + 0x1cf, /* FLE Standard Time / LV ==> Europe/Riga */ + 0x1dd, /* FLE Standard Time / UA ==> Europe/Uzhgorod */ + 0x1e5, /* FLE Standard Time / UA ==> Europe/Zaporozhye */ + 0x217, /* Fiji Standard Time / FJ+ ==> Pacific/Fiji */ + 0x1c2, /* GMT Standard Time / GB+ ==> Europe/London */ + 0x14d, /* GMT Standard Time / ES ==> Atlantic/Canary */ + 0x14f, /* GMT Standard Time / FO ==> Atlantic/Faeroe */ + 0x1b8, /* GMT Standard Time / GG ==> Europe/Guernsey */ + 0x1b6, /* GMT Standard Time / IE ==> Europe/Dublin */ + 0x1ba, /* GMT Standard Time / IM ==> Europe/Isle_of_Man */ + 0x1bc, /* GMT Standard Time / JE ==> Europe/Jersey */ + 0x152, /* GMT Standard Time / PT ==> Atlantic/Madeira */ + 0x1c0, /* GMT Standard Time / PT ==> Europe/Lisbon */ + 0x1b1, /* GTB Standard Time / RO+ ==> Europe/Bucharest */ + 0x124, /* GTB Standard Time / CY ==> Asia/Nicosia */ + 0x1ab, /* GTB Standard Time / GR ==> Europe/Athens */ + 0x139, /* Georgian Standard Time / GE+ ==> Asia/Tbilisi */ + 0x073, /* Greenland Standard Time / GL+ ==> America/Godthab */ + 0x153, /* Greenwich Standard Time / IS+ ==> Atlantic/Reykjavik */ + 0x02f, /* Greenwich Standard Time / BF ==> Africa/Ouagadougou */ + 0x000, /* Greenwich Standard Time / CI ==> Africa/Abidjan */ + 0x001, /* Greenwich Standard Time / GH ==> Africa/Accra */ + 0x008, /* Greenwich Standard Time / GM ==> Africa/Banjul */ + 0x010, /* Greenwich Standard Time / GN ==> Africa/Conakry */ + 0x009, /* Greenwich Standard Time / GW ==> Africa/Bissau */ + 0x02a, /* Greenwich Standard Time / LR ==> Africa/Monrovia */ + 0x006, /* Greenwich Standard Time / ML ==> Africa/Bamako */ + 0x02e, /* Greenwich Standard Time / MR ==> Africa/Nouakchott */ + 0x155, /* Greenwich Standard Time / SH ==> Atlantic/St_Helena */ + 0x016, /* Greenwich Standard Time / SL ==> Africa/Freetown */ + 0x011, /* Greenwich Standard Time / SN ==> Africa/Dakar */ + 0x031, /* Greenwich Standard Time / ST ==> Africa/Sao_Tome */ + 0x021, /* Greenwich Standard Time / TG ==> Africa/Lome */ + 0x0b4, /* Haiti Standard Time / HT+ ==> America/Port-au-Prince */ + 0x21d, /* Hawaiian Standard Time / US+ ==> Pacific/Honolulu */ + 0x22f, /* Hawaiian Standard Time / CK ==> Pacific/Rarotonga */ + 0x232, /* Hawaiian Standard Time / PF ==> Pacific/Tahiti */ + 0x21e, /* Hawaiian Standard Time / UM ==> Pacific/Johnston */ + 0x188, /* Hawaiian Standard Time / ZZ ==> Etc/GMT+10 */ + 0x0fa, /* India Standard Time / IN+ ==> Asia/Calcutta */ + 0x13a, /* Iran Standard Time / IR+ ==> Asia/Tehran */ + 0x111, /* Israel Standard Time / IL+ ==> Asia/Jerusalem */ + 0x0eb, /* Jordan Standard Time / JO+ ==> Asia/Amman */ + 0x1bd, /* Kaliningrad Standard Time / RU+ ==> Europe/Kaliningrad */ + 0x133, /* Korea Standard Time / KR+ ==> Asia/Seoul */ + 0x033, /* Libya Standard Time / LY+ ==> Africa/Tripoli */ + 0x21f, /* Line Islands Standard Time / KI+ ==> Pacific/Kiritimati */ + 0x199, /* Line Islands Standard Time / ZZ ==> Etc/GMT-14 */ + 0x162, /* Lord Howe Standard Time / AU+ ==> Australia/Lord_Howe */ + 0x120, /* Magadan Standard Time / RU+ ==> Asia/Magadan */ + 0x223, /* Marquesas Standard Time / PF+ ==> Pacific/Marquesas */ + 0x1fa, /* Mauritius Standard Time / MU+ ==> Indian/Mauritius */ + 0x1fc, /* Mauritius Standard Time / RE ==> Indian/Reunion */ + 0x1f8, /* Mauritius Standard Time / SC ==> Indian/Mahe */ + 0x0f7, /* Middle East Standard Time / LB+ ==> Asia/Beirut */ + 0x0a4, /* Montevideo Standard Time / UY+ ==> America/Montevideo */ + 0x00e, /* Morocco Standard Time / MA+ ==> Africa/Casablanca */ + 0x015, /* Morocco Standard Time / EH ==> Africa/El_Aaiun */ + 0x05e, /* Mountain Standard Time (Mexico) / MX+ ==> America/Chihuahua */ + 0x09b, /* Mountain Standard Time (Mexico) / MX ==> America/Mazatlan */ + 0x068, /* Mountain Standard Time / US+ ==> America/Denver */ + 0x056, /* Mountain Standard Time / CA ==> America/Cambridge_Bay */ + 0x06b, /* Mountain Standard Time / CA ==> America/Edmonton */ + 0x087, /* Mountain Standard Time / CA ==> America/Inuvik */ + 0x0db, /* Mountain Standard Time / CA ==> America/Yellowknife */ + 0x0af, /* Mountain Standard Time / MX ==> America/Ojinaga */ + 0x054, /* Mountain Standard Time / US ==> America/Boise */ + 0x205, /* Mountain Standard Time / ZZ ==> MST7MDT */ + 0x12e, /* Myanmar Standard Time / MM+ ==> Asia/Rangoon */ + 0x1f5, /* Myanmar Standard Time / CC ==> Indian/Cocos */ + 0x126, /* N. Central Asia Standard Time / RU+ ==> Asia/Novosibirsk */ + 0x035, /* Namibia Standard Time / NA+ ==> Africa/Windhoek */ + 0x117, /* Nepal Standard Time / NP+ ==> Asia/Katmandu */ + 0x20f, /* New Zealand Standard Time / NZ+ ==> Pacific/Auckland */ + 0x0e1, /* New Zealand Standard Time / AQ ==> Antarctica/McMurdo */ + 0x0ca, /* Newfoundland Standard Time / CA+ ==> America/St_Johns */ + 0x227, /* Norfolk Standard Time / NF+ ==> Pacific/Norfolk */ + 0x10d, /* North Asia East Standard Time / RU+ ==> Asia/Irkutsk */ + 0x11a, /* North Asia Standard Time / RU+ ==> Asia/Krasnoyarsk */ + 0x125, /* North Asia Standard Time / RU ==> Asia/Novokuznetsk */ + 0x12b, /* North Korea Standard Time / KP+ ==> Asia/Pyongyang */ + 0x127, /* Omsk Standard Time / RU+ ==> Asia/Omsk */ + 0x0c3, /* Pacific SA Standard Time / CL+ ==> America/Santiago */ + 0x0d3, /* Pacific Standard Time (Mexico) / MX+ ==> America/Tijuana */ + 0x0c1, /* Pacific Standard Time (Mexico) / MX ==> America/Santa_Isabel */ + 0x092, /* Pacific Standard Time / US+ ==> America/Los_Angeles */ + 0x066, /* Pacific Standard Time / CA ==> America/Dawson */ + 0x0d6, /* Pacific Standard Time / CA ==> America/Vancouver */ + 0x0d8, /* Pacific Standard Time / CA ==> America/Whitehorse */ + 0x20d, /* Pacific Standard Time / ZZ ==> PST8PDT */ + 0x114, /* Pakistan Standard Time / PK+ ==> Asia/Karachi */ + 0x049, /* Paraguay Standard Time / PY+ ==> America/Asuncion */ + 0x1cc, /* Romance Standard Time / FR+ ==> Europe/Paris */ + 0x1b0, /* Romance Standard Time / BE ==> Europe/Brussels */ + 0x1b5, /* Romance Standard Time / DK ==> Europe/Copenhagen */ + 0x00f, /* Romance Standard Time / ES ==> Africa/Ceuta */ + 0x1c4, /* Romance Standard Time / ES ==> Europe/Madrid */ + 0x136, /* Russia Time Zone 10 / RU+ ==> Asia/Srednekolymsk */ + 0x113, /* Russia Time Zone 11 / RU+ ==> Asia/Kamchatka */ + 0x0ec, /* Russia Time Zone 11 / RU ==> Asia/Anadyr */ + 0x1d1, /* Russia Time Zone 3 / RU+ ==> Europe/Samara */ + 0x1c9, /* Russian Standard Time / RU+ ==> Europe/Moscow */ + 0x1bf, /* Russian Standard Time / RU ==> Europe/Kirov */ + 0x1e2, /* Russian Standard Time / RU ==> Europe/Volgograd */ + 0x1d5, /* Russian Standard Time / UA ==> Europe/Simferopol */ + 0x05b, /* SA Eastern Standard Time / GF+ ==> America/Cayenne */ + 0x0e2, /* SA Eastern Standard Time / AQ ==> Antarctica/Palmer */ + 0x0e3, /* SA Eastern Standard Time / AQ ==> Antarctica/Rothera */ + 0x04f, /* SA Eastern Standard Time / BR ==> America/Belem */ + 0x071, /* SA Eastern Standard Time / BR ==> America/Fortaleza */ + 0x095, /* SA Eastern Standard Time / BR ==> America/Maceio */ + 0x0bc, /* SA Eastern Standard Time / BR ==> America/Recife */ + 0x0c2, /* SA Eastern Standard Time / BR ==> America/Santarem */ + 0x0b9, /* SA Eastern Standard Time / CL ==> America/Punta_Arenas */ + 0x156, /* SA Eastern Standard Time / FK ==> Atlantic/Stanley */ + 0x0b2, /* SA Eastern Standard Time / SR ==> America/Paramaribo */ + 0x18c, /* SA Eastern Standard Time / ZZ ==> Etc/GMT+3 */ + 0x053, /* SA Pacific Standard Time / CO+ ==> America/Bogota */ + 0x06c, /* SA Pacific Standard Time / BR ==> America/Eirunepe */ + 0x0bf, /* SA Pacific Standard Time / BR ==> America/Rio_Branco */ + 0x05f, /* SA Pacific Standard Time / CA ==> America/Coral_Harbour */ + 0x079, /* SA Pacific Standard Time / EC ==> America/Guayaquil */ + 0x089, /* SA Pacific Standard Time / JM ==> America/Jamaica */ + 0x05c, /* SA Pacific Standard Time / KY ==> America/Cayman */ + 0x0b0, /* SA Pacific Standard Time / PA ==> America/Panama */ + 0x091, /* SA Pacific Standard Time / PE ==> America/Lima */ + 0x18e, /* SA Pacific Standard Time / ZZ ==> Etc/GMT+5 */ + 0x090, /* SA Western Standard Time / BO+ ==> America/La_Paz */ + 0x039, /* SA Western Standard Time / AG ==> America/Antigua */ + 0x038, /* SA Western Standard Time / AI ==> America/Anguilla */ + 0x048, /* SA Western Standard Time / AW ==> America/Aruba */ + 0x04e, /* SA Western Standard Time / BB ==> America/Barbados */ + 0x0c9, /* SA Western Standard Time / BL ==> America/St_Barthelemy */ + 0x08f, /* SA Western Standard Time / BQ ==> America/Kralendijk */ + 0x052, /* SA Western Standard Time / BR ==> America/Boa_Vista */ + 0x097, /* SA Western Standard Time / BR ==> America/Manaus */ + 0x0b7, /* SA Western Standard Time / BR ==> America/Porto_Velho */ + 0x051, /* SA Western Standard Time / CA ==> America/Blanc-Sablon */ + 0x064, /* SA Western Standard Time / CW ==> America/Curacao */ + 0x06a, /* SA Western Standard Time / DM ==> America/Dominica */ + 0x0c4, /* SA Western Standard Time / DO ==> America/Santo_Domingo */ + 0x076, /* SA Western Standard Time / GD ==> America/Grenada */ + 0x077, /* SA Western Standard Time / GP ==> America/Guadeloupe */ + 0x07a, /* SA Western Standard Time / GY ==> America/Guyana */ + 0x0cb, /* SA Western Standard Time / KN ==> America/St_Kitts */ + 0x0cc, /* SA Western Standard Time / LC ==> America/St_Lucia */ + 0x098, /* SA Western Standard Time / MF ==> America/Marigot */ + 0x099, /* SA Western Standard Time / MQ ==> America/Martinique */ + 0x0a6, /* SA Western Standard Time / MS ==> America/Montserrat */ + 0x0b8, /* SA Western Standard Time / PR ==> America/Puerto_Rico */ + 0x094, /* SA Western Standard Time / SX ==> America/Lower_Princes */ + 0x0b5, /* SA Western Standard Time / TT ==> America/Port_of_Spain */ + 0x0ce, /* SA Western Standard Time / VC ==> America/St_Vincent */ + 0x0d5, /* SA Western Standard Time / VG ==> America/Tortola */ + 0x0cd, /* SA Western Standard Time / VI ==> America/St_Thomas */ + 0x18d, /* SA Western Standard Time / ZZ ==> Etc/GMT+4 */ + 0x0f5, /* SE Asia Standard Time / TH+ ==> Asia/Bangkok */ + 0x0dd, /* SE Asia Standard Time / AQ ==> Antarctica/Davis */ + 0x1f4, /* SE Asia Standard Time / CX ==> Indian/Christmas */ + 0x10f, /* SE Asia Standard Time / ID ==> Asia/Jakarta */ + 0x12a, /* SE Asia Standard Time / ID ==> Asia/Pontianak */ + 0x129, /* SE Asia Standard Time / KH ==> Asia/Phnom_Penh */ + 0x145, /* SE Asia Standard Time / LA ==> Asia/Vientiane */ + 0x130, /* SE Asia Standard Time / VN ==> Asia/Saigon */ + 0x19f, /* SE Asia Standard Time / ZZ ==> Etc/GMT-7 */ + 0x0a1, /* Saint Pierre Standard Time / PM+ ==> America/Miquelon */ + 0x131, /* Sakhalin Standard Time / RU+ ==> Asia/Sakhalin */ + 0x20e, /* Samoa Standard Time / WS+ ==> Pacific/Apia */ + 0x135, /* Singapore Standard Time / SG+ ==> Asia/Singapore */ + 0x0f9, /* Singapore Standard Time / BN ==> Asia/Brunei */ + 0x121, /* Singapore Standard Time / ID ==> Asia/Makassar */ + 0x11b, /* Singapore Standard Time / MY ==> Asia/Kuala_Lumpur */ + 0x11c, /* Singapore Standard Time / MY ==> Asia/Kuching */ + 0x122, /* Singapore Standard Time / PH ==> Asia/Manila */ + 0x1a0, /* Singapore Standard Time / ZZ ==> Etc/GMT-8 */ + 0x019, /* South Africa Standard Time / ZA+ ==> Africa/Johannesburg */ + 0x00c, /* South Africa Standard Time / BI ==> Africa/Bujumbura */ + 0x017, /* South Africa Standard Time / BW ==> Africa/Gaborone */ + 0x023, /* South Africa Standard Time / CD ==> Africa/Lubumbashi */ + 0x027, /* South Africa Standard Time / LS ==> Africa/Maseru */ + 0x00a, /* South Africa Standard Time / MW ==> Africa/Blantyre */ + 0x026, /* South Africa Standard Time / MZ ==> Africa/Maputo */ + 0x01d, /* South Africa Standard Time / RW ==> Africa/Kigali */ + 0x028, /* South Africa Standard Time / SZ ==> Africa/Mbabane */ + 0x024, /* South Africa Standard Time / ZM ==> Africa/Lusaka */ + 0x018, /* South Africa Standard Time / ZW ==> Africa/Harare */ + 0x19a, /* South Africa Standard Time / ZZ ==> Etc/GMT-2 */ + 0x0ff, /* Sri Lanka Standard Time / LK+ ==> Asia/Colombo */ + 0x101, /* Syria Standard Time / SY+ ==> Asia/Damascus */ + 0x137, /* Taipei Standard Time / TW+ ==> Asia/Taipei */ + 0x15f, /* Tasmania Standard Time / AU+ ==> Australia/Hobart */ + 0x15c, /* Tasmania Standard Time / AU ==> Australia/Currie */ + 0x03a, /* Tocantins Standard Time / BR+ ==> America/Araguaina */ + 0x13e, /* Tokyo Standard Time / JP+ ==> Asia/Tokyo */ + 0x110, /* Tokyo Standard Time / ID ==> Asia/Jayapura */ + 0x22a, /* Tokyo Standard Time / PW ==> Pacific/Palau */ + 0x103, /* Tokyo Standard Time / TL ==> Asia/Dili */ + 0x1a1, /* Tokyo Standard Time / ZZ ==> Etc/GMT-9 */ + 0x13f, /* Tomsk Standard Time / RU+ ==> Asia/Tomsk */ + 0x234, /* Tonga Standard Time / TO+ ==> Pacific/Tongatapu */ + 0x215, /* Tonga Standard Time / KI ==> Pacific/Enderbury */ + 0x216, /* Tonga Standard Time / TK ==> Pacific/Fakaofo */ + 0x198, /* Tonga Standard Time / ZZ ==> Etc/GMT-13 */ + 0x0fb, /* Transbaikal Standard Time / RU+ ==> Asia/Chita */ + 0x1bb, /* Turkey Standard Time / TR+ ==> Europe/Istanbul */ + 0x106, /* Turkey Standard Time / CY ==> Asia/Famagusta */ + 0x075, /* Turks And Caicos Standard Time / TC+ ==> America/Grand_Turk */ + 0x086, /* US Eastern Standard Time / US+ ==> America/Indianapolis */ + 0x080, /* US Eastern Standard Time / US ==> America/Indiana/Marengo */ + 0x083, /* US Eastern Standard Time / US ==> America/Indiana/Vevay */ + 0x0b3, /* US Mountain Standard Time / US+ ==> America/Phoenix */ + 0x062, /* US Mountain Standard Time / CA ==> America/Creston */ + 0x067, /* US Mountain Standard Time / CA ==> America/Dawson_Creek */ + 0x06f, /* US Mountain Standard Time / CA ==> America/Fort_Nelson */ + 0x07d, /* US Mountain Standard Time / MX ==> America/Hermosillo */ + 0x190, /* US Mountain Standard Time / ZZ ==> Etc/GMT+7 */ + 0x185, /* UTC / ZZ+ ==> Etc/GMT */ + 0x065, /* UTC / GL ==> America/Danmarkshavn */ + 0x1a5, /* UTC / ZZ ==> Etc/UTC */ + 0x197, /* UTC+12 / ZZ+ ==> Etc/GMT-12 */ + 0x233, /* UTC+12 / KI ==> Pacific/Tarawa */ + 0x221, /* UTC+12 / MH ==> Pacific/Kwajalein */ + 0x222, /* UTC+12 / MH ==> Pacific/Majuro */ + 0x225, /* UTC+12 / NR ==> Pacific/Nauru */ + 0x218, /* UTC+12 / TV ==> Pacific/Funafuti */ + 0x236, /* UTC+12 / UM ==> Pacific/Wake */ + 0x237, /* UTC+12 / WF ==> Pacific/Wallis */ + 0x18b, /* UTC-02 / ZZ+ ==> Etc/GMT+2 */ + 0x0ab, /* UTC-02 / BR ==> America/Noronha */ + 0x154, /* UTC-02 / GS ==> Atlantic/South_Georgia */ + 0x191, /* UTC-08 / ZZ+ ==> Etc/GMT+8 */ + 0x22b, /* UTC-08 / PN ==> Pacific/Pitcairn */ + 0x192, /* UTC-09 / ZZ+ ==> Etc/GMT+9 */ + 0x21a, /* UTC-09 / PF ==> Pacific/Gambier */ + 0x189, /* UTC-11 / ZZ+ ==> Etc/GMT+11 */ + 0x229, /* UTC-11 / AS ==> Pacific/Pago_Pago */ + 0x226, /* UTC-11 / NU ==> Pacific/Niue */ + 0x224, /* UTC-11 / UM ==> Pacific/Midway */ + 0x141, /* Ulaanbaatar Standard Time / MN+ ==> Asia/Ulaanbaatar */ + 0x0fc, /* Ulaanbaatar Standard Time / MN ==> Asia/Choibalsan */ + 0x059, /* Venezuela Standard Time / VE+ ==> America/Caracas */ + 0x146, /* Vladivostok Standard Time / RU+ ==> Asia/Vladivostok */ + 0x144, /* Vladivostok Standard Time / RU ==> Asia/Ust-Nera */ + 0x166, /* W. Australia Standard Time / AU+ ==> Australia/Perth */ + 0x01f, /* W. Central Africa Standard Time / NG+ ==> Africa/Lagos */ + 0x022, /* W. Central Africa Standard Time / AO ==> Africa/Luanda */ + 0x030, /* W. Central Africa Standard Time / BJ ==> Africa/Porto-Novo */ + 0x01e, /* W. Central Africa Standard Time / CD ==> Africa/Kinshasa */ + 0x007, /* W. Central Africa Standard Time / CF ==> Africa/Bangui */ + 0x00b, /* W. Central Africa Standard Time / CG ==> Africa/Brazzaville */ + 0x014, /* W. Central Africa Standard Time / CM ==> Africa/Douala */ + 0x003, /* W. Central Africa Standard Time / DZ ==> Africa/Algiers */ + 0x020, /* W. Central Africa Standard Time / GA ==> Africa/Libreville */ + 0x025, /* W. Central Africa Standard Time / GQ ==> Africa/Malabo */ + 0x02d, /* W. Central Africa Standard Time / NE ==> Africa/Niamey */ + 0x02c, /* W. Central Africa Standard Time / TD ==> Africa/Ndjamena */ + 0x034, /* W. Central Africa Standard Time / TN ==> Africa/Tunis */ + 0x194, /* W. Central Africa Standard Time / ZZ ==> Etc/GMT-1 */ + 0x1ae, /* W. Europe Standard Time / DE+ ==> Europe/Berlin */ + 0x1a9, /* W. Europe Standard Time / AD ==> Europe/Andorra */ + 0x1e0, /* W. Europe Standard Time / AT ==> Europe/Vienna */ + 0x1e6, /* W. Europe Standard Time / CH ==> Europe/Zurich */ + 0x1b3, /* W. Europe Standard Time / DE ==> Europe/Busingen */ + 0x1b7, /* W. Europe Standard Time / GI ==> Europe/Gibraltar */ + 0x1d0, /* W. Europe Standard Time / IT ==> Europe/Rome */ + 0x1de, /* W. Europe Standard Time / LI ==> Europe/Vaduz */ + 0x1c3, /* W. Europe Standard Time / LU ==> Europe/Luxembourg */ + 0x1c8, /* W. Europe Standard Time / MC ==> Europe/Monaco */ + 0x1c5, /* W. Europe Standard Time / MT ==> Europe/Malta */ + 0x1a8, /* W. Europe Standard Time / NL ==> Europe/Amsterdam */ + 0x1cb, /* W. Europe Standard Time / NO ==> Europe/Oslo */ + 0x1d8, /* W. Europe Standard Time / SE ==> Europe/Stockholm */ + 0x0e8, /* W. Europe Standard Time / SJ ==> Arctic/Longyearbyen */ + 0x1d2, /* W. Europe Standard Time / SM ==> Europe/San_Marino */ + 0x1df, /* W. Europe Standard Time / VA ==> Europe/Vatican */ + 0x10c, /* W. Mongolia Standard Time / MN+ ==> Asia/Hovd */ + 0x138, /* West Asia Standard Time / UZ+ ==> Asia/Tashkent */ + 0x0e0, /* West Asia Standard Time / AQ ==> Antarctica/Mawson */ + 0x0ed, /* West Asia Standard Time / KZ ==> Asia/Aqtau */ + 0x0ee, /* West Asia Standard Time / KZ ==> Asia/Aqtobe */ + 0x0f1, /* West Asia Standard Time / KZ ==> Asia/Atyrau */ + 0x128, /* West Asia Standard Time / KZ ==> Asia/Oral */ + 0x1f9, /* West Asia Standard Time / MV ==> Indian/Maldives */ + 0x1f7, /* West Asia Standard Time / TF ==> Indian/Kerguelen */ + 0x105, /* West Asia Standard Time / TJ ==> Asia/Dushanbe */ + 0x0ef, /* West Asia Standard Time / TM ==> Asia/Ashgabat */ + 0x132, /* West Asia Standard Time / UZ ==> Asia/Samarkand */ + 0x19d, /* West Asia Standard Time / ZZ ==> Etc/GMT-5 */ + 0x109, /* West Bank Standard Time / PS+ ==> Asia/Hebron */ + 0x107, /* West Bank Standard Time / PS ==> Asia/Gaza */ + 0x22e, /* West Pacific Standard Time / PG+ ==> Pacific/Port_Moresby */ + 0x0de, /* West Pacific Standard Time / AQ ==> Antarctica/DumontDUrville */ + 0x235, /* West Pacific Standard Time / FM ==> Pacific/Truk */ + 0x21c, /* West Pacific Standard Time / GU ==> Pacific/Guam */ + 0x230, /* West Pacific Standard Time / MP ==> Pacific/Saipan */ + 0x195, /* West Pacific Standard Time / ZZ ==> Etc/GMT-10 */ + 0x147, /* Yakutsk Standard Time / RU+ ==> Asia/Yakutsk */ + 0x118, /* Yakutsk Standard Time / RU ==> Asia/Khandyga */ +}; + + + + +RTDECL(PCRTTIMEZONEINFO) RTTimeZoneGetInfoByUnixName(const char *pszName) +{ + /* + * Try a case sensitive binary search first. + */ + /** @todo binary searching */ + + /* + * Fallback: Linear case-insensitive search. + */ + size_t const cchName = strlen(pszName); + for (size_t i = 0; i < RT_ELEMENTS(g_aTimeZones); i++) + if ( g_aTimeZones[i].cchUnixName == cchName + && RTStrICmpAscii(pszName, g_aTimeZones[i].pszUnixName) == 0) + return &g_aTimeZones[i]; + return NULL; +} + + +RTDECL(PCRTTIMEZONEINFO) RTTimeZoneGetInfoByWindowsName(const char *pszName) +{ + /* + * Try a case sensitive binary search first. + */ + /** @todo binary searching */ + + /* + * Fallback: Linear case-insensitive search. + */ + size_t const cchName = strlen(pszName); + for (size_t i = 0; i < RT_ELEMENTS(g_aidxWinTimeZones); i++) + { + PCRTTIMEZONEINFO pZone = &g_aTimeZones[g_aidxWinTimeZones[i]]; + if ( pZone->cchWindowsName == cchName + && RTStrICmpAscii(pszName, pZone->pszWindowsName) == 0) + return pZone; + } + return NULL; +} + + +RTDECL(PCRTTIMEZONEINFO) RTTimeZoneGetInfoByWindowsIndex(uint32_t idxZone) +{ + for (size_t i = 0; i < RT_ELEMENTS(g_aidxWinTimeZones); i++) + { + PCRTTIMEZONEINFO pZone = &g_aTimeZones[g_aidxWinTimeZones[i]]; + if (pZone->idxWindows == idxZone) + return pZone; + } + return NULL; +} + |