######################################################################
# Copyright (C) 2007, International Business Machines
# Corporation and others.  All Rights Reserved.
######################################################################
# This is an ICU-specific file with the same format as regular
# tzdata time zone files, for consistent parsing by the tools that
# turn "Olson" tzdata into ICU's zoneinfo.txt.
# The purpose of this file is to give ICU a superset of the time zones
# that are in CLDR and also include legacy ICU time zones originally
# in tz.alias for rataining backward compatibility.

# Add Etc/Unknown, defined by CLDR. Give it Etc/GMT behavior.

# Zone	NAME		GMTOFF	RULES	FORMAT
Zone	Etc/Unknown	0	-	Unknown

# Add SystemV/XXX time zones as aliases according to CLDR.
# The Olson systemv file has these commented out.
# An alternative to making these aliases according to CLDR would be
# to copy and un-comment the data from the systemv file.

# Link canonical alias
Link America/Halifax SystemV/AST4ADT
Link America/New_York SystemV/EST5EDT
Link America/Chicago SystemV/CST6CDT
Link America/Denver SystemV/MST7MDT
Link America/Los_Angeles SystemV/PST8PDT
Link America/Anchorage SystemV/YST9YDT
Link Etc/GMT+4 SystemV/AST4
Link Etc/GMT+5 SystemV/EST5
Link Etc/GMT+6 SystemV/CST6
Link Etc/GMT+7 SystemV/MST7
Link Etc/GMT+8 SystemV/PST8
Link Etc/GMT+9 SystemV/YST9
Link Etc/GMT+10 SystemV/HST10


# The list below is for supporting legacy ICU zone aliases.
# These definitions were originally defined in tz.alias.

#### Aliases that conflict with Olson compatibility Zone definition

Link Australia/Darwin ACT
Link Australia/Sydney AET
Link America/Argentina/Buenos_Aires AGT
Link Africa/Cairo ART
Link America/Anchorage AST
Link America/Sao_Paulo BET
Link Asia/Dhaka BST
Link Africa/Harare CAT
Link America/St_Johns CNT
Link America/Chicago CST
Link Asia/Shanghai CTT
Link Africa/Addis_Ababa EAT
Link Europe/Paris ECT
#Link Europe/Istanbul EET # EET is a standard UNIX zone
####Link EST America/New_York EST # Defined as -05:00
####Link Pacific/Honolulu HST # Defined as -10:00
Link America/Indiana/Indianapolis IET
Link Asia/Calcutta IST
Link Asia/Tokyo JST
#Link Asia/Tehran MET # MET is a standard UNIX zone
Link Pacific/Apia MIT
####Link America/Denver MST # Defined as -07:00
Link Asia/Yerevan NET
Link Pacific/Auckland NST
Link Asia/Karachi PLT
Link America/Phoenix PNT
Link America/Puerto_Rico PRT
Link America/Los_Angeles PST
Link Pacific/Guadalcanal SST
#Link Etc/UTC UTC # Olson LINK
Link Asia/Saigon VST
