#
# Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
Africa/Cairo
Africa/Harare
Africa/Nairobi
America/Anchorage
America/Bogota
America/Buenos_Aires
America/Caracas
America/Chicago
America/Denver
America/Halifax
America/Indianapolis
America/Los_Angeles
America/Mexico_City
America/New_York
America/Phoenix
America/Regina
America/Sao_Paulo
America/St_Johns
Asia/Bangkok
Asia/Calcutta
Asia/Colombo
Asia/Dacca
Asia/Jerusalem
Asia/Kabul
Asia/Karachi
Asia/Muscat
Asia/Riyadh
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Taipei
Asia/Tbilisi
Asia/Tehran
Asia/Tokyo
Asia/Vladivostok
Asia/Yakutsk
Asia/Yekaterinburg
Atlantic/Azores
Atlantic/South_Georgia
Australia/Adelaide
Australia/Brisbane
Australia/Darwin
Australia/Hobart
Australia/Perth
Australia/Sydney
Europe/Athens
Europe/Belgrade
Europe/Berlin
Europe/Bucharest
Europe/Helsinki
Europe/London
Europe/Moscow
Europe/Paris
Europe/Prague
Europe/Warsaw
GMT
Pacific/Apia
Pacific/Auckland
Pacific/Fiji
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Majuro
ACT
AET
AGT
ART
AST
BET
BST
CAT
CNT
CST
CTT
EAT
ECT
EST
HST
IET
IST
JST
MIT
MST
NET
NST
PLT
PNT
PRT
PST
SST
VST
UTC
MET
