const countries = {
	AD: '安道尔',
	AE: '阿拉伯联合酋长国',
	AF: '阿富汗',
	AG: '安提瓜和巴布达',
	AI: '安圭拉',
	AL: '阿尔巴尼亚',
	AM: '亚美尼亚',
	AO: '安哥拉',
	AQ: '南极洲',
	AR: '阿根廷',
	AS: '美属萨摩亚',
	AT: '奥地利',
	AU: '澳大利亚',
	AW: '阿鲁巴',
	AX: '奥兰群岛',
	AZ: '阿塞拜疆',
	BA: '波斯尼亚和黑塞哥维那',
	BB: '巴巴多斯',
	BD: '孟加拉国',
	BE: '比利时',
	BF: '布基纳法索',
	BG: '保加利亚',
	BH: '巴林',
	BI: '布隆迪',
	BJ: '贝宁',
	BL: '圣巴泰勒米',
	BM: '百慕大',
	BN: '文莱',
	BO: '玻利维亚',
	BQ: '荷兰加勒比区',
	BR: '巴西',
	BS: '巴哈马',
	BT: '不丹',
	BV: '布韦岛',
	BW: '博茨瓦纳',
	BY: '白俄罗斯',
	BZ: '伯利兹',
	CA: '加拿大',
	CC: '科科斯群岛',
	CD: '刚果民主共和国',
	CF: '中非共和国',
	CG: '刚果共和国',
	CH: '瑞士',
	CI: '科特迪瓦',
	CK: '库克群岛',
	CL: '智利',
	CM: '喀麦隆',
	CN: '中国',
	CO: '哥伦比亚',
	CR: '哥斯达黎加',
	CU: '古巴',
	CV: '佛得角',
	CW: '库拉索',
	CX: '圣诞岛',
	CY: '塞浦路斯',
	CZ: '捷克',
	DE: '德国',
	DJ: '吉布提',
	DK: '丹麦',
	DM: '多米尼克',
	DO: '多米尼加共和国',
	DZ: '阿尔及利亚',
	EC: '厄瓜多尔',
	EE: '爱沙尼亚',
	EG: '埃及',
	EH: '西撒哈拉',
	ER: '厄立特里亚',
	ES: '西班牙',
	ET: '埃塞俄比亚',
	FI: '芬兰',
	FJ: '斐济',
	FK: '福克兰群岛',
	FM: '密克罗尼西亚',
	FO: '法罗群岛',
	FR: '法国',
	GA: '加蓬',
	GB: '英国',
	GD: '格林纳达',
	GE: '格鲁吉亚',
	GF: '法属圭亚那',
	GG: '根西岛',
	GH: '加纳',
	GI: '直布罗陀',
	GL: '格陵兰',
	GM: '冈比亚',
	GN: '几内亚',
	GP: '瓜德罗普',
	GQ: '赤道几内亚',
	GR: '希腊',
	GS: '南乔治亚和南桑威奇群岛',
	GT: '危地马拉',
	GU: '关岛',
	GW: '几内亚比绍',
	GY: '圭亚那',
	HK: '香港',
	HM: '赫德岛和麦克唐纳群岛',
	HN: '洪都拉斯',
	HR: '克罗地亚',
	HT: '海地',
	HU: '匈牙利',
	ID: '印度尼西亚',
	IE: '爱尔兰',
	IL: '以色列',
	IM: '马恩岛',
	IN: '印度',
	IO: '英属印度洋领地',
	IQ: '伊拉克',
	IR: '伊朗',
	IS: '冰岛',
	IT: '意大利',
	JE: '泽西岛',
	JM: '牙买加',
	JO: '约旦',
	JP: '日本',
	KE: '肯尼亚',
	KG: '吉尔吉斯斯坦',
	KH: '柬埔寨',
	KI: '基里巴斯',
	KM: '科摩罗',
	KN: '圣基茨和尼维斯',
	KP: '朝鲜',
	KR: '韩国',
	KW: '科威特',
	KY: '开曼群岛',
	KZ: '哈萨克斯坦',
	LA: '老挝',
	LB: '黎巴嫩',
	LC: '圣卢西亚',
	LI: '列支敦士登',
	LK: '斯里兰卡',
	LR: '利比里亚',
	LS: '莱索托',
	LT: '立陶宛',
	LU: '卢森堡',
	LV: '拉脱维亚',
	LY: '利比亚',
	MA: '摩洛哥',
	MC: '摩纳哥',
	MD: '摩尔多瓦',
	ME: '黑山',
	MF: '法属圣马丁',
	MG: '马达加斯加',
	MH: '马绍尔群岛',
	MK: '北马其顿',
	ML: '马里',
	MM: '缅甸',
	MN: '蒙古',
	MO: '澳门',
	MP: '北马里亚纳群岛',
	MQ: '马提尼克',
	MR: '毛里塔尼亚',
	MS: '蒙特塞拉特',
	MT: '马耳他',
	MU: '毛里求斯',
	MV: '马尔代夫',
	MW: '马拉维',
	MX: '墨西哥',
	MY: '马来西亚',
	MZ: '莫桑比克',
	NA: '纳米比亚',
	NC: '新喀里多尼亚',
	NE: '尼日尔',
	NF: '诺福克岛',
	NG: '尼日利亚',
	NI: '尼加拉瓜',
	NL: '荷兰',
	NO: '挪威',
	NP: '尼泊尔',
	NR: '瑙鲁',
	NU: '纽埃',
	NZ: '新西兰',
	OM: '阿曼',
	PA: '巴拿马',
	PE: '秘鲁',
	PF: '法属波利尼西亚',
	PG: '巴布亚新几内亚',
	PH: '菲律宾',
	PK: '巴基斯坦',
	PL: '波兰',
	PM: '圣皮埃尔和密克隆',
	PN: '皮特凯恩群岛',
	PR: '波多黎各',
	PS: '巴勒斯坦',
	PT: '葡萄牙',
	PW: '帕劳',
	PY: '巴拉圭',
	QA: '卡塔尔',
	RE: '留尼汪',
	RO: '罗马尼亚',
	RS: '塞尔维亚',
	RU: '俄罗斯',
	RW: '卢旺达',
	SA: '沙特阿拉伯',
	SB: '所罗门群岛',
	SC: '塞舌尔',
	SD: '苏丹',
	SE: '瑞典',
	SG: '新加坡',
	SH: '圣赫勒拿、阿森松和特里斯坦-达库尼亚',
	SI: '斯洛文尼亚',
	SJ: '斯瓦尔巴和扬马延',
	SK: '斯洛伐克',
	SL: '塞拉利昂',
	SM: '圣马力诺',
	SN: '塞内加尔',
	SO: '索马里',
	SR: '苏里南',
	SS: '南苏丹',
	ST: '圣多美和普林西比',
	SV: '萨尔瓦多',
	SX: '荷属圣马丁',
	SY: '叙利亚',
	SZ: '斯威士兰',
	TC: '特克斯和凯科斯群岛',
	TD: '乍得',
	TF: '法属南部领地',
	TG: '多哥',
	TH: '泰国',
	TJ: '塔吉克斯坦',
	TK: '托克劳',
	TL: '东帝汶',
	TM: '土库曼斯坦',
	TN: '突尼斯',
	TO: '汤加',
	TR: '土耳其',
	TT: '特立尼达和多巴哥',
	TV: '图瓦卢',
	TW: '台湾',
	TZ: '坦桑尼亚',
	UA: '乌克兰',
	UG: '乌干达',
	UM: '美国本土外小岛屿',
	US: '美国',
	UY: '乌拉圭',
	UZ: '乌兹别克斯坦',
	VA: '梵蒂冈',
	VC: '圣文森特和格林纳丁斯',
	VE: '委内瑞拉',
	VG: '英属维尔京群岛',
	VI: '美属维尔京群岛',
	VN: '越南',
	VU: '瓦努阿图',
	WF: '瓦利斯和富图纳',
	WS: '萨摩亚',
	YE: '也门',
	YT: '马约特',
	ZA: '南非',
	ZM: '赞比亚',
	ZW: '津巴布韦'
};
const timezones = {
	'Africa/Abidjan': {
		u: 0,
		c: ['CI', 'BF', 'GH', 'GM', 'GN', 'ML', 'MR', 'SH', 'SL', 'SN', 'TG']
	},
	'Africa/Accra': {
		a: 'Africa/Abidjan',
		c: ['GH'],
		r: 1
	},
	'Africa/Addis_Ababa': {
		a: 'Africa/Nairobi',
		c: ['ET'],
		r: 1
	},
	'Africa/Algiers': {
		u: 60,
		c: ['DZ']
	},
	'Africa/Asmara': {
		a: 'Africa/Nairobi',
		c: ['ER'],
		r: 1
	},
	'Africa/Asmera': {
		a: 'Africa/Nairobi',
		c: ['ER'],
		r: 1
	},
	'Africa/Bamako': {
		a: 'Africa/Abidjan',
		c: ['ML'],
		r: 1
	},
	'Africa/Bangui': {
		a: 'Africa/Lagos',
		c: ['CF'],
		r: 1
	},
	'Africa/Banjul': {
		a: 'Africa/Abidjan',
		c: ['GM'],
		r: 1
	},
	'Africa/Bissau': {
		u: 0,
		c: ['GW']
	},
	'Africa/Blantyre': {
		a: 'Africa/Maputo',
		c: ['MW'],
		r: 1
	},
	'Africa/Brazzaville': {
		a: 'Africa/Lagos',
		c: ['CG'],
		r: 1
	},
	'Africa/Bujumbura': {
		a: 'Africa/Maputo',
		c: ['BI'],
		r: 1
	},
	'Africa/Cairo': {
		u: 120,
		c: ['EG']
	},
	'Africa/Casablanca': {
		u: 60,
		d: 0,
		c: ['MA']
	},
	'Africa/Ceuta': {
		u: 60,
		d: 120,
		c: ['ES']
	},
	'Africa/Conakry': {
		a: 'Africa/Abidjan',
		c: ['GN'],
		r: 1
	},
	'Africa/Dakar': {
		a: 'Africa/Abidjan',
		c: ['SN'],
		r: 1
	},
	'Africa/Dar_es_Salaam': {
		a: 'Africa/Nairobi',
		c: ['TZ'],
		r: 1
	},
	'Africa/Djibouti': {
		a: 'Africa/Nairobi',
		c: ['DJ'],
		r: 1
	},
	'Africa/Douala': {
		a: 'Africa/Lagos',
		c: ['CM'],
		r: 1
	},
	'Africa/El_Aaiun': {
		u: 60,
		d: 0,
		c: ['EH']
	},
	'Africa/Freetown': {
		a: 'Africa/Abidjan',
		c: ['SL'],
		r: 1
	},
	'Africa/Gaborone': {
		a: 'Africa/Maputo',
		c: ['BW'],
		r: 1
	},
	'Africa/Harare': {
		a: 'Africa/Maputo',
		c: ['ZW'],
		r: 1
	},
	'Africa/Johannesburg': {
		u: 120,
		c: ['ZA', 'LS', 'SZ']
	},
	'Africa/Juba': {
		u: 120,
		c: ['SS']
	},
	'Africa/Kampala': {
		a: 'Africa/Nairobi',
		c: ['UG'],
		r: 1
	},
	'Africa/Khartoum': {
		u: 120,
		c: ['SD']
	},
	'Africa/Kigali': {
		a: 'Africa/Maputo',
		c: ['RW'],
		r: 1
	},
	'Africa/Kinshasa': {
		a: 'Africa/Lagos',
		c: ['CD'],
		r: 1
	},
	'Africa/Lagos': {
		u: 60,
		c: ['NG', 'AO', 'BJ', 'CD', 'CF', 'CG', 'CM', 'GA', 'GQ', 'NE']
	},
	'Africa/Libreville': {
		a: 'Africa/Lagos',
		c: ['GA'],
		r: 1
	},
	'Africa/Lome': {
		a: 'Africa/Abidjan',
		c: ['TG'],
		r: 1
	},
	'Africa/Luanda': {
		a: 'Africa/Lagos',
		c: ['AO'],
		r: 1
	},
	'Africa/Lubumbashi': {
		a: 'Africa/Maputo',
		c: ['CD'],
		r: 1
	},
	'Africa/Lusaka': {
		a: 'Africa/Maputo',
		c: ['ZM'],
		r: 1
	},
	'Africa/Malabo': {
		a: 'Africa/Lagos',
		c: ['GQ'],
		r: 1
	},
	'Africa/Maputo': {
		u: 120,
		c: ['MZ', 'BI', 'BW', 'CD', 'MW', 'RW', 'ZM', 'ZW']
	},
	'Africa/Maseru': {
		a: 'Africa/Johannesburg',
		c: ['LS'],
		r: 1
	},
	'Africa/Mbabane': {
		a: 'Africa/Johannesburg',
		c: ['SZ'],
		r: 1
	},
	'Africa/Mogadishu': {
		a: 'Africa/Nairobi',
		c: ['SO'],
		r: 1
	},
	'Africa/Monrovia': {
		u: 0,
		c: ['LR']
	},
	'Africa/Nairobi': {
		u: 180,
		c: ['KE', 'DJ', 'ER', 'ET', 'KM', 'MG', 'SO', 'TZ', 'UG', 'YT']
	},
	'Africa/Ndjamena': {
		u: 60,
		c: ['TD']
	},
	'Africa/Niamey': {
		a: 'Africa/Lagos',
		c: ['NE'],
		r: 1
	},
	'Africa/Nouakchott': {
		a: 'Africa/Abidjan',
		c: ['MR'],
		r: 1
	},
	'Africa/Ouagadougou': {
		a: 'Africa/Abidjan',
		c: ['BF'],
		r: 1
	},
	'Africa/Porto-Novo': {
		a: 'Africa/Lagos',
		c: ['BJ'],
		r: 1
	},
	'Africa/Sao_Tome': {
		u: 0,
		c: ['ST']
	},
	'Africa/Timbuktu': {
		a: 'Africa/Abidjan',
		c: ['ML'],
		r: 1
	},
	'Africa/Tripoli': {
		u: 120,
		c: ['LY']
	},
	'Africa/Tunis': {
		u: 60,
		c: ['TN']
	},
	'Africa/Windhoek': {
		u: 120,
		c: ['NA']
	},
	'America/Adak': {
		u: -600,
		d: -540,
		c: ['US']
	},
	'America/Anchorage': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/Anguilla': {
		a: 'America/Puerto_Rico',
		c: ['AI'],
		r: 1
	},
	'America/Antigua': {
		a: 'America/Puerto_Rico',
		c: ['AG'],
		r: 1
	},
	'America/Araguaina': {
		u: -180,
		c: ['BR']
	},
	'America/Argentina/Buenos_Aires': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Catamarca': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/ComodRivadavia': {
		a: 'America/Argentina/Catamarca',
		r: 1
	},
	'America/Argentina/Cordoba': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Jujuy': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/La_Rioja': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Mendoza': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Rio_Gallegos': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Salta': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/San_Juan': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/San_Luis': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Tucuman': {
		u: -180,
		c: ['AR']
	},
	'America/Argentina/Ushuaia': {
		u: -180,
		c: ['AR']
	},
	'America/Aruba': {
		a: 'America/Puerto_Rico',
		c: ['AW'],
		r: 1
	},
	'America/Asuncion': {
		u: -240,
		d: -180,
		c: ['PY']
	},
	'America/Atikokan': {
		a: 'America/Panama',
		c: ['CA'],
		r: 1
	},
	'America/Atka': {
		a: 'America/Adak',
		r: 1
	},
	'America/Bahia': {
		u: -180,
		c: ['BR']
	},
	'America/Bahia_Banderas': {
		u: -360,
		d: -300,
		c: ['MX']
	},
	'America/Barbados': {
		u: -240,
		c: ['BB']
	},
	'America/Belem': {
		u: -180,
		c: ['BR']
	},
	'America/Belize': {
		u: -360,
		c: ['BZ']
	},
	'America/Blanc-Sablon': {
		a: 'America/Puerto_Rico',
		c: ['CA'],
		r: 1
	},
	'America/Boa_Vista': {
		u: -240,
		c: ['BR']
	},
	'America/Bogota': {
		u: -300,
		c: ['CO']
	},
	'America/Boise': {
		u: -420,
		d: -360,
		c: ['US']
	},
	'America/Buenos_Aires': {
		a: 'America/Argentina/Buenos_Aires',
		r: 1
	},
	'America/Cambridge_Bay': {
		u: -420,
		d: -360,
		c: ['CA']
	},
	'America/Campo_Grande': {
		u: -240,
		c: ['BR']
	},
	'America/Cancun': {
		u: -300,
		c: ['MX']
	},
	'America/Caracas': {
		u: -240,
		c: ['VE']
	},
	'America/Catamarca': {
		a: 'America/Argentina/Catamarca',
		r: 1
	},
	'America/Cayenne': {
		u: -180,
		c: ['GF']
	},
	'America/Cayman': {
		a: 'America/Panama',
		c: ['KY'],
		r: 1
	},
	'America/Chicago': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/Chihuahua': {
		u: -420,
		d: -360,
		c: ['MX']
	},
	'America/Coral_Harbour': {
		a: 'America/Panama',
		c: ['CA'],
		r: 1
	},
	'America/Cordoba': {
		a: 'America/Argentina/Cordoba',
		r: 1
	},
	'America/Costa_Rica': {
		u: -360,
		c: ['CR']
	},
	'America/Creston': {
		a: 'America/Phoenix',
		c: ['CA'],
		r: 1
	},
	'America/Cuiaba': {
		u: -240,
		c: ['BR']
	},
	'America/Curacao': {
		a: 'America/Puerto_Rico',
		c: ['CW'],
		r: 1
	},
	'America/Danmarkshavn': {
		u: 0,
		c: ['GL']
	},
	'America/Dawson': {
		u: -420,
		c: ['CA']
	},
	'America/Dawson_Creek': {
		u: -420,
		c: ['CA']
	},
	'America/Denver': {
		u: -420,
		d: -360,
		c: ['US']
	},
	'America/Detroit': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Dominica': {
		a: 'America/Puerto_Rico',
		c: ['DM'],
		r: 1
	},
	'America/Edmonton': {
		u: -420,
		d: -360,
		c: ['CA']
	},
	'America/Eirunepe': {
		u: -300,
		c: ['BR']
	},
	'America/El_Salvador': {
		u: -360,
		c: ['SV']
	},
	'America/Ensenada': {
		a: 'America/Tijuana',
		r: 1
	},
	'America/Fort_Nelson': {
		u: -420,
		c: ['CA']
	},
	'America/Fort_Wayne': {
		a: 'America/Indiana/Indianapolis',
		r: 1
	},
	'America/Fortaleza': {
		u: -180,
		c: ['BR']
	},
	'America/Glace_Bay': {
		u: -240,
		d: -180,
		c: ['CA']
	},
	'America/Godthab': {
		a: 'America/Nuuk',
		r: 1
	},
	'America/Goose_Bay': {
		u: -240,
		d: -180,
		c: ['CA']
	},
	'America/Grand_Turk': {
		u: -300,
		d: -240,
		c: ['TC']
	},
	'America/Grenada': {
		a: 'America/Puerto_Rico',
		c: ['GD'],
		r: 1
	},
	'America/Guadeloupe': {
		a: 'America/Puerto_Rico',
		c: ['GP'],
		r: 1
	},
	'America/Guatemala': {
		u: -360,
		c: ['GT']
	},
	'America/Guayaquil': {
		u: -300,
		c: ['EC']
	},
	'America/Guyana': {
		u: -240,
		c: ['GY']
	},
	'America/Halifax': {
		u: -240,
		d: -180,
		c: ['CA']
	},
	'America/Havana': {
		u: -300,
		d: -240,
		c: ['CU']
	},
	'America/Hermosillo': {
		u: -420,
		c: ['MX']
	},
	'America/Indiana/Indianapolis': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indiana/Knox': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/Indiana/Marengo': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indiana/Petersburg': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indiana/Tell_City': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/Indiana/Vevay': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indiana/Vincennes': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indiana/Winamac': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Indianapolis': {
		a: 'America/Indiana/Indianapolis',
		r: 1
	},
	'America/Inuvik': {
		u: -420,
		d: -360,
		c: ['CA']
	},
	'America/Iqaluit': {
		u: -300,
		d: -240,
		c: ['CA']
	},
	'America/Jamaica': {
		u: -300,
		c: ['JM']
	},
	'America/Jujuy': {
		a: 'America/Argentina/Jujuy',
		r: 1
	},
	'America/Juneau': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/Kentucky/Louisville': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Kentucky/Monticello': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Knox_IN': {
		a: 'America/Indiana/Knox',
		r: 1
	},
	'America/Kralendijk': {
		a: 'America/Puerto_Rico',
		c: ['BQ'],
		r: 1
	},
	'America/La_Paz': {
		u: -240,
		c: ['BO']
	},
	'America/Lima': {
		u: -300,
		c: ['PE']
	},
	'America/Los_Angeles': {
		u: -480,
		d: -420,
		c: ['US']
	},
	'America/Louisville': {
		a: 'America/Kentucky/Louisville',
		r: 1
	},
	'America/Lower_Princes': {
		a: 'America/Puerto_Rico',
		c: ['SX'],
		r: 1
	},
	'America/Maceio': {
		u: -180,
		c: ['BR']
	},
	'America/Managua': {
		u: -360,
		c: ['NI']
	},
	'America/Manaus': {
		u: -240,
		c: ['BR']
	},
	'America/Marigot': {
		a: 'America/Puerto_Rico',
		c: ['MF'],
		r: 1
	},
	'America/Martinique': {
		u: -240,
		c: ['MQ']
	},
	'America/Matamoros': {
		u: -360,
		d: -300,
		c: ['MX']
	},
	'America/Mazatlan': {
		u: -420,
		d: -360,
		c: ['MX']
	},
	'America/Mendoza': {
		a: 'America/Argentina/Mendoza',
		r: 1
	},
	'America/Menominee': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/Merida': {
		u: -360,
		d: -300,
		c: ['MX']
	},
	'America/Metlakatla': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/Mexico_City': {
		u: -360,
		d: -300,
		c: ['MX']
	},
	'America/Miquelon': {
		u: -180,
		d: -120,
		c: ['PM']
	},
	'America/Moncton': {
		u: -240,
		d: -180,
		c: ['CA']
	},
	'America/Monterrey': {
		u: -360,
		d: -300,
		c: ['MX']
	},
	'America/Montevideo': {
		u: -180,
		c: ['UY']
	},
	'America/Montreal': {
		a: 'America/Toronto',
		c: ['CA'],
		r: 1
	},
	'America/Montserrat': {
		a: 'America/Puerto_Rico',
		c: ['MS'],
		r: 1
	},
	'America/Nassau': {
		a: 'America/Toronto',
		c: ['BS'],
		r: 1
	},
	'America/New_York': {
		u: -300,
		d: -240,
		c: ['US']
	},
	'America/Nipigon': {
		u: -300,
		d: -240,
		c: ['CA']
	},
	'America/Nome': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/Noronha': {
		u: -120,
		c: ['BR']
	},
	'America/North_Dakota/Beulah': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/North_Dakota/Center': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/North_Dakota/New_Salem': {
		u: -360,
		d: -300,
		c: ['US']
	},
	'America/Nuuk': {
		u: -180,
		d: -120,
		c: ['GL']
	},
	'America/Ojinaga': {
		u: -420,
		d: -360,
		c: ['MX']
	},
	'America/Panama': {
		u: -300,
		c: ['PA', 'CA', 'KY']
	},
	'America/Pangnirtung': {
		u: -300,
		d: -240,
		c: ['CA']
	},
	'America/Paramaribo': {
		u: -180,
		c: ['SR']
	},
	'America/Phoenix': {
		u: -420,
		c: ['US', 'CA']
	},
	'America/Port-au-Prince': {
		u: -300,
		d: -240,
		c: ['HT']
	},
	'America/Port_of_Spain': {
		a: 'America/Puerto_Rico',
		c: ['TT'],
		r: 1
	},
	'America/Porto_Acre': {
		a: 'America/Rio_Branco',
		r: 1
	},
	'America/Porto_Velho': {
		u: -240,
		c: ['BR']
	},
	'America/Puerto_Rico': {
		u: -240,
		c: [
			'PR',
			'AG',
			'CA',
			'AI',
			'AW',
			'BL',
			'BQ',
			'CW',
			'DM',
			'GD',
			'GP',
			'KN',
			'LC',
			'MF',
			'MS',
			'SX',
			'TT',
			'VC',
			'VG',
			'VI'
		]
	},
	'America/Punta_Arenas': {
		u: -180,
		c: ['CL']
	},
	'America/Rainy_River': {
		u: -360,
		d: -300,
		c: ['CA']
	},
	'America/Rankin_Inlet': {
		u: -360,
		d: -300,
		c: ['CA']
	},
	'America/Recife': {
		u: -180,
		c: ['BR']
	},
	'America/Regina': {
		u: -360,
		c: ['CA']
	},
	'America/Resolute': {
		u: -360,
		d: -300,
		c: ['CA']
	},
	'America/Rio_Branco': {
		u: -300,
		c: ['BR']
	},
	'America/Rosario': {
		a: 'America/Argentina/Cordoba',
		r: 1
	},
	'America/Santa_Isabel': {
		a: 'America/Tijuana',
		r: 1
	},
	'America/Santarem': {
		u: -180,
		c: ['BR']
	},
	'America/Santiago': {
		u: -240,
		d: -180,
		c: ['CL']
	},
	'America/Santo_Domingo': {
		u: -240,
		c: ['DO']
	},
	'America/Sao_Paulo': {
		u: -180,
		c: ['BR']
	},
	'America/Scoresbysund': {
		u: -60,
		d: 0,
		c: ['GL']
	},
	'America/Shiprock': {
		a: 'America/Denver',
		r: 1
	},
	'America/Sitka': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/St_Barthelemy': {
		a: 'America/Puerto_Rico',
		c: ['BL'],
		r: 1
	},
	'America/St_Johns': {
		u: -150,
		d: -90,
		c: ['CA']
	},
	'America/St_Kitts': {
		a: 'America/Puerto_Rico',
		c: ['KN'],
		r: 1
	},
	'America/St_Lucia': {
		a: 'America/Puerto_Rico',
		c: ['LC'],
		r: 1
	},
	'America/St_Thomas': {
		a: 'America/Puerto_Rico',
		c: ['VI'],
		r: 1
	},
	'America/St_Vincent': {
		a: 'America/Puerto_Rico',
		c: ['VC'],
		r: 1
	},
	'America/Swift_Current': {
		u: -360,
		c: ['CA']
	},
	'America/Tegucigalpa': {
		u: -360,
		c: ['HN']
	},
	'America/Thule': {
		u: -240,
		d: -180,
		c: ['GL']
	},
	'America/Thunder_Bay': {
		u: -300,
		d: -240,
		c: ['CA']
	},
	'America/Tijuana': {
		u: -480,
		d: -420,
		c: ['MX']
	},
	'America/Toronto': {
		u: -300,
		d: -240,
		c: ['CA', 'BS']
	},
	'America/Tortola': {
		a: 'America/Puerto_Rico',
		c: ['VG'],
		r: 1
	},
	'America/Vancouver': {
		u: -480,
		d: -420,
		c: ['CA']
	},
	'America/Virgin': {
		a: 'America/Puerto_Rico',
		c: ['VI'],
		r: 1
	},
	'America/Whitehorse': {
		u: -420,
		c: ['CA']
	},
	'America/Winnipeg': {
		u: -360,
		d: -300,
		c: ['CA']
	},
	'America/Yakutat': {
		u: -540,
		d: -480,
		c: ['US']
	},
	'America/Yellowknife': {
		u: -420,
		d: -360,
		c: ['CA']
	},
	'Antarctica/Casey': {
		u: 660,
		c: ['AQ']
	},
	'Antarctica/Davis': {
		u: 420,
		c: ['AQ']
	},
	'Antarctica/DumontDUrville': {
		a: 'Pacific/Port_Moresby',
		c: ['AQ'],
		r: 1
	},
	'Antarctica/Macquarie': {
		u: 600,
		d: 660,
		c: ['AU']
	},
	'Antarctica/Mawson': {
		u: 300,
		c: ['AQ']
	},
	'Antarctica/McMurdo': {
		a: 'Pacific/Auckland',
		c: ['AQ'],
		r: 1
	},
	'Antarctica/Palmer': {
		u: -180,
		c: ['AQ']
	},
	'Antarctica/Rothera': {
		u: -180,
		c: ['AQ']
	},
	'Antarctica/South_Pole': {
		a: 'Pacific/Auckland',
		c: ['AQ'],
		r: 1
	},
	'Antarctica/Syowa': {
		a: 'Asia/Riyadh',
		c: ['AQ'],
		r: 1
	},
	'Antarctica/Troll': {
		u: 0,
		d: 120,
		c: ['AQ']
	},
	'Antarctica/Vostok': {
		u: 360,
		c: ['AQ']
	},
	'Arctic/Longyearbyen': {
		a: 'Europe/Oslo',
		c: ['SJ'],
		r: 1
	},
	'Asia/Aden': {
		a: 'Asia/Riyadh',
		c: ['YE'],
		r: 1
	},
	'Asia/Almaty': {
		u: 360,
		c: ['KZ']
	},
	'Asia/Amman': {
		u: 120,
		d: 180,
		c: ['JO']
	},
	'Asia/Anadyr': {
		u: 720,
		c: ['RU']
	},
	'Asia/Aqtau': {
		u: 300,
		c: ['KZ']
	},
	'Asia/Aqtobe': {
		u: 300,
		c: ['KZ']
	},
	'Asia/Ashgabat': {
		u: 300,
		c: ['TM']
	},
	'Asia/Ashkhabad': {
		a: 'Asia/Ashgabat',
		r: 1
	},
	'Asia/Atyrau': {
		u: 300,
		c: ['KZ']
	},
	'Asia/Baghdad': {
		u: 180,
		c: ['IQ']
	},
	'Asia/Bahrain': {
		a: 'Asia/Qatar',
		c: ['BH'],
		r: 1
	},
	'Asia/Baku': {
		u: 240,
		c: ['AZ']
	},
	'Asia/Bangkok': {
		u: 420,
		c: ['TH', 'KH', 'LA', 'VN']
	},
	'Asia/Barnaul': {
		u: 420,
		c: ['RU']
	},
	'Asia/Beirut': {
		u: 120,
		d: 180,
		c: ['LB']
	},
	'Asia/Bishkek': {
		u: 360,
		c: ['KG']
	},
	'Asia/Brunei': {
		u: 480,
		c: ['BN']
	},
	'Asia/Calcutta': {
		a: 'Asia/Kolkata',
		r: 1
	},
	'Asia/Chita': {
		u: 540,
		c: ['RU']
	},
	'Asia/Choibalsan': {
		u: 480,
		c: ['MN']
	},
	'Asia/Chongqing': {
		a: 'Asia/Shanghai',
		r: 1
	},
	'Asia/Chungking': {
		a: 'Asia/Shanghai',
		r: 1
	},
	'Asia/Colombo': {
		u: 330,
		c: ['LK']
	},
	'Asia/Dacca': {
		a: 'Asia/Dhaka',
		r: 1
	},
	'Asia/Damascus': {
		u: 120,
		d: 180,
		c: ['SY']
	},
	'Asia/Dhaka': {
		u: 360,
		c: ['BD']
	},
	'Asia/Dili': {
		u: 540,
		c: ['TL']
	},
	'Asia/Dubai': {
		u: 240,
		c: ['AE', 'OM']
	},
	'Asia/Dushanbe': {
		u: 300,
		c: ['TJ']
	},
	'Asia/Famagusta': {
		u: 120,
		d: 180,
		c: ['CY']
	},
	'Asia/Gaza': {
		u: 120,
		d: 180,
		c: ['PS']
	},
	'Asia/Harbin': {
		a: 'Asia/Shanghai',
		r: 1
	},
	'Asia/Hebron': {
		u: 120,
		d: 180,
		c: ['PS']
	},
	'Asia/Ho_Chi_Minh': {
		u: 420,
		c: ['VN']
	},
	'Asia/Hong_Kong': {
		u: 480,
		c: ['HK']
	},
	'Asia/Hovd': {
		u: 420,
		c: ['MN']
	},
	'Asia/Irkutsk': {
		u: 480,
		c: ['RU']
	},
	'Asia/Istanbul': {
		a: 'Europe/Istanbul',
		r: 1
	},
	'Asia/Jakarta': {
		u: 420,
		c: ['ID']
	},
	'Asia/Jayapura': {
		u: 540,
		c: ['ID']
	},
	'Asia/Jerusalem': {
		u: 120,
		d: 180,
		c: ['IL']
	},
	'Asia/Kabul': {
		u: 270,
		c: ['AF']
	},
	'Asia/Kamchatka': {
		u: 720,
		c: ['RU']
	},
	'Asia/Karachi': {
		u: 300,
		c: ['PK']
	},
	'Asia/Kashgar': {
		a: 'Asia/Urumqi',
		r: 1
	},
	'Asia/Kathmandu': {
		u: 345,
		c: ['NP']
	},
	'Asia/Katmandu': {
		a: 'Asia/Kathmandu',
		r: 1
	},
	'Asia/Khandyga': {
		u: 540,
		c: ['RU']
	},
	'Asia/Kolkata': {
		u: 330,
		c: ['IN']
	},
	'Asia/Krasnoyarsk': {
		u: 420,
		c: ['RU']
	},
	'Asia/Kuala_Lumpur': {
		u: 480,
		c: ['MY']
	},
	'Asia/Kuching': {
		u: 480,
		c: ['MY']
	},
	'Asia/Kuwait': {
		a: 'Asia/Riyadh',
		c: ['KW'],
		r: 1
	},
	'Asia/Macao': {
		a: 'Asia/Macau',
		r: 1
	},
	'Asia/Macau': {
		u: 480,
		c: ['MO']
	},
	'Asia/Magadan': {
		u: 660,
		c: ['RU']
	},
	'Asia/Makassar': {
		u: 480,
		c: ['ID']
	},
	'Asia/Manila': {
		u: 480,
		c: ['PH']
	},
	'Asia/Muscat': {
		a: 'Asia/Dubai',
		c: ['OM'],
		r: 1
	},
	'Asia/Nicosia': {
		u: 120,
		d: 180,
		c: ['CY']
	},
	'Asia/Novokuznetsk': {
		u: 420,
		c: ['RU']
	},
	'Asia/Novosibirsk': {
		u: 420,
		c: ['RU']
	},
	'Asia/Omsk': {
		u: 360,
		c: ['RU']
	},
	'Asia/Oral': {
		u: 300,
		c: ['KZ']
	},
	'Asia/Phnom_Penh': {
		a: 'Asia/Bangkok',
		c: ['KH'],
		r: 1
	},
	'Asia/Pontianak': {
		u: 420,
		c: ['ID']
	},
	'Asia/Pyongyang': {
		u: 540,
		c: ['KP']
	},
	'Asia/Qatar': {
		u: 180,
		c: ['QA', 'BH']
	},
	'Asia/Qostanay': {
		u: 360,
		c: ['KZ']
	},
	'Asia/Qyzylorda': {
		u: 300,
		c: ['KZ']
	},
	'Asia/Rangoon': {
		a: 'Asia/Yangon',
		r: 1
	},
	'Asia/Riyadh': {
		u: 180,
		c: ['SA', 'AQ', 'KW', 'YE']
	},
	'Asia/Saigon': {
		a: 'Asia/Ho_Chi_Minh',
		r: 1
	},
	'Asia/Sakhalin': {
		u: 660,
		c: ['RU']
	},
	'Asia/Samarkand': {
		u: 300,
		c: ['UZ']
	},
	'Asia/Seoul': {
		u: 540,
		c: ['KR']
	},
	'Asia/Shanghai': {
		u: 480,
		c: ['CN']
	},
	'Asia/Singapore': {
		u: 480,
		c: ['SG', 'MY']
	},
	'Asia/Srednekolymsk': {
		u: 660,
		c: ['RU']
	},
	'Asia/Taipei': {
		u: 480,
		c: ['TW']
	},
	'Asia/Tashkent': {
		u: 300,
		c: ['UZ']
	},
	'Asia/Tbilisi': {
		u: 240,
		c: ['GE']
	},
	'Asia/Tehran': {
		u: 210,
		d: 270,
		c: ['IR']
	},
	'Asia/Tel_Aviv': {
		a: 'Asia/Jerusalem',
		r: 1
	},
	'Asia/Thimbu': {
		a: 'Asia/Thimphu',
		r: 1
	},
	'Asia/Thimphu': {
		u: 360,
		c: ['BT']
	},
	'Asia/Tokyo': {
		u: 540,
		c: ['JP']
	},
	'Asia/Tomsk': {
		u: 420,
		c: ['RU']
	},
	'Asia/Ujung_Pandang': {
		a: 'Asia/Makassar',
		r: 1
	},
	'Asia/Ulaanbaatar': {
		u: 480,
		c: ['MN']
	},
	'Asia/Ulan_Bator': {
		a: 'Asia/Ulaanbaatar',
		r: 1
	},
	'Asia/Urumqi': {
		u: 360,
		c: ['CN']
	},
	'Asia/Ust-Nera': {
		u: 600,
		c: ['RU']
	},
	'Asia/Vientiane': {
		a: 'Asia/Bangkok',
		c: ['LA'],
		r: 1
	},
	'Asia/Vladivostok': {
		u: 600,
		c: ['RU']
	},
	'Asia/Yakutsk': {
		u: 540,
		c: ['RU']
	},
	'Asia/Yangon': {
		u: 390,
		c: ['MM']
	},
	'Asia/Yekaterinburg': {
		u: 300,
		c: ['RU']
	},
	'Asia/Yerevan': {
		u: 240,
		c: ['AM']
	},
	'Atlantic/Azores': {
		u: -60,
		d: 0,
		c: ['PT']
	},
	'Atlantic/Bermuda': {
		u: -240,
		d: -180,
		c: ['BM']
	},
	'Atlantic/Canary': {
		u: 0,
		d: 60,
		c: ['ES']
	},
	'Atlantic/Cape_Verde': {
		u: -60,
		c: ['CV']
	},
	'Atlantic/Faeroe': {
		a: 'Atlantic/Faroe',
		r: 1
	},
	'Atlantic/Faroe': {
		u: 0,
		d: 60,
		c: ['FO']
	},
	'Atlantic/Jan_Mayen': {
		a: 'Europe/Oslo',
		c: ['SJ'],
		r: 1
	},
	'Atlantic/Madeira': {
		u: 0,
		d: 60,
		c: ['PT']
	},
	'Atlantic/Reykjavik': {
		u: 0,
		c: ['IS']
	},
	'Atlantic/South_Georgia': {
		u: -120,
		c: ['GS']
	},
	'Atlantic/St_Helena': {
		a: 'Africa/Abidjan',
		c: ['SH'],
		r: 1
	},
	'Atlantic/Stanley': {
		u: -180,
		c: ['FK']
	},
	'Australia/ACT': {
		a: 'Australia/Sydney',
		r: 1
	},
	'Australia/Adelaide': {
		u: 570,
		d: 630,
		c: ['AU']
	},
	'Australia/Brisbane': {
		u: 600,
		c: ['AU']
	},
	'Australia/Broken_Hill': {
		u: 570,
		d: 630,
		c: ['AU']
	},
	'Australia/Canberra': {
		a: 'Australia/Sydney',
		r: 1
	},
	'Australia/Currie': {
		a: 'Australia/Hobart',
		r: 1
	},
	'Australia/Darwin': {
		u: 570,
		c: ['AU']
	},
	'Australia/Eucla': {
		u: 525,
		c: ['AU']
	},
	'Australia/Hobart': {
		u: 600,
		d: 660,
		c: ['AU']
	},
	'Australia/LHI': {
		a: 'Australia/Lord_Howe',
		r: 1
	},
	'Australia/Lindeman': {
		u: 600,
		c: ['AU']
	},
	'Australia/Lord_Howe': {
		u: 630,
		d: 660,
		c: ['AU']
	},
	'Australia/Melbourne': {
		u: 600,
		d: 660,
		c: ['AU']
	},
	'Australia/NSW': {
		a: 'Australia/Sydney',
		r: 1
	},
	'Australia/North': {
		a: 'Australia/Darwin',
		r: 1
	},
	'Australia/Perth': {
		u: 480,
		c: ['AU']
	},
	'Australia/Queensland': {
		a: 'Australia/Brisbane',
		r: 1
	},
	'Australia/South': {
		a: 'Australia/Adelaide',
		r: 1
	},
	'Australia/Sydney': {
		u: 600,
		d: 660,
		c: ['AU']
	},
	'Australia/Tasmania': {
		a: 'Australia/Hobart',
		r: 1
	},
	'Australia/Victoria': {
		a: 'Australia/Melbourne',
		r: 1
	},
	'Australia/West': {
		a: 'Australia/Perth',
		r: 1
	},
	'Australia/Yancowinna': {
		a: 'Australia/Broken_Hill',
		r: 1
	},
	'Brazil/Acre': {
		a: 'America/Rio_Branco',
		r: 1
	},
	'Brazil/DeNoronha': {
		a: 'America/Noronha',
		r: 1
	},
	'Brazil/East': {
		a: 'America/Sao_Paulo',
		r: 1
	},
	'Brazil/West': {
		a: 'America/Manaus',
		r: 1
	},
	CET: {
		u: 60,
		d: 120
	},
	CST6CDT: {
		u: -360,
		d: -300
	},
	'Canada/Atlantic': {
		a: 'America/Halifax',
		r: 1
	},
	'Canada/Central': {
		a: 'America/Winnipeg',
		r: 1
	},
	'Canada/Eastern': {
		a: 'America/Toronto',
		c: ['CA'],
		r: 1
	},
	'Canada/Mountain': {
		a: 'America/Edmonton',
		r: 1
	},
	'Canada/Newfoundland': {
		a: 'America/St_Johns',
		r: 1
	},
	'Canada/Pacific': {
		a: 'America/Vancouver',
		r: 1
	},
	'Canada/Saskatchewan': {
		a: 'America/Regina',
		r: 1
	},
	'Canada/Yukon': {
		a: 'America/Whitehorse',
		r: 1
	},
	'Chile/Continental': {
		a: 'America/Santiago',
		r: 1
	},
	'Chile/EasterIsland': {
		a: 'Pacific/Easter',
		r: 1
	},
	Cuba: {
		a: 'America/Havana',
		r: 1
	},
	EET: {
		u: 120,
		d: 180
	},
	EST: {
		u: -300
	},
	EST5EDT: {
		u: -300,
		d: -240
	},
	Egypt: {
		a: 'Africa/Cairo',
		r: 1
	},
	Eire: {
		a: 'Europe/Dublin',
		r: 1
	},
	'Etc/GMT': {
		u: 0
	},
	'Etc/GMT+0': {
		a: 'Etc/GMT',
		r: 1
	},
	'Etc/GMT+1': {
		u: -60
	},
	'Etc/GMT+10': {
		u: -600
	},
	'Etc/GMT+11': {
		u: -660
	},
	'Etc/GMT+12': {
		u: -720
	},
	'Etc/GMT+2': {
		u: -120
	},
	'Etc/GMT+3': {
		u: -180
	},
	'Etc/GMT+4': {
		u: -240
	},
	'Etc/GMT+5': {
		u: -300
	},
	'Etc/GMT+6': {
		u: -360
	},
	'Etc/GMT+7': {
		u: -420
	},
	'Etc/GMT+8': {
		u: -480
	},
	'Etc/GMT+9': {
		u: -540
	},
	'Etc/GMT-0': {
		a: 'Etc/GMT',
		r: 1
	},
	'Etc/GMT-1': {
		u: 60
	},
	'Etc/GMT-10': {
		u: 600
	},
	'Etc/GMT-11': {
		u: 660
	},
	'Etc/GMT-12': {
		u: 720
	},
	'Etc/GMT-13': {
		u: 780
	},
	'Etc/GMT-14': {
		u: 840
	},
	'Etc/GMT-2': {
		u: 120
	},
	'Etc/GMT-3': {
		u: 180
	},
	'Etc/GMT-4': {
		u: 240
	},
	'Etc/GMT-5': {
		u: 300
	},
	'Etc/GMT-6': {
		u: 360
	},
	'Etc/GMT-7': {
		u: 420
	},
	'Etc/GMT-8': {
		u: 480
	},
	'Etc/GMT-9': {
		u: 540
	},
	'Etc/GMT0': {
		a: 'Etc/GMT',
		r: 1
	},
	'Etc/Greenwich': {
		a: 'Etc/GMT',
		r: 1
	},
	'Etc/UCT': {
		a: 'Etc/UTC',
		r: 1
	},
	'Etc/UTC': {
		u: 0
	},
	'Etc/Universal': {
		a: 'Etc/UTC',
		r: 1
	},
	'Etc/Zulu': {
		a: 'Etc/UTC',
		r: 1
	},
	'Europe/Amsterdam': {
		u: 60,
		d: 120,
		c: ['NL']
	},
	'Europe/Andorra': {
		u: 60,
		d: 120,
		c: ['AD']
	},
	'Europe/Astrakhan': {
		u: 240,
		c: ['RU']
	},
	'Europe/Athens': {
		u: 120,
		d: 180,
		c: ['GR']
	},
	'Europe/Belfast': {
		a: 'Europe/London',
		c: ['GB'],
		r: 1
	},
	'Europe/Belgrade': {
		u: 60,
		d: 120,
		c: ['RS', 'BA', 'HR', 'ME', 'MK', 'SI']
	},
	'Europe/Berlin': {
		u: 60,
		d: 120,
		c: ['DE']
	},
	'Europe/Bratislava': {
		a: 'Europe/Prague',
		c: ['SK'],
		r: 1
	},
	'Europe/Brussels': {
		u: 60,
		d: 120,
		c: ['BE']
	},
	'Europe/Bucharest': {
		u: 120,
		d: 180,
		c: ['RO']
	},
	'Europe/Budapest': {
		u: 60,
		d: 120,
		c: ['HU']
	},
	'Europe/Busingen': {
		a: 'Europe/Zurich',
		c: ['DE'],
		r: 1
	},
	'Europe/Chisinau': {
		u: 120,
		d: 180,
		c: ['MD']
	},
	'Europe/Copenhagen': {
		u: 60,
		d: 120,
		c: ['DK']
	},
	'Europe/Dublin': {
		u: 60,
		d: 0,
		c: ['IE']
	},
	'Europe/Gibraltar': {
		u: 60,
		d: 120,
		c: ['GI']
	},
	'Europe/Guernsey': {
		a: 'Europe/London',
		c: ['GG'],
		r: 1
	},
	'Europe/Helsinki': {
		u: 120,
		d: 180,
		c: ['FI', 'AX']
	},
	'Europe/Isle_of_Man': {
		a: 'Europe/London',
		c: ['IM'],
		r: 1
	},
	'Europe/Istanbul': {
		u: 180,
		c: ['TR']
	},
	'Europe/Jersey': {
		a: 'Europe/London',
		c: ['JE'],
		r: 1
	},
	'Europe/Kaliningrad': {
		u: 120,
		c: ['RU']
	},
	'Europe/Kiev': {
		u: 120,
		d: 180,
		c: ['UA']
	},
	'Europe/Kirov': {
		u: 180,
		c: ['RU']
	},
	'Europe/Lisbon': {
		u: 0,
		d: 60,
		c: ['PT']
	},
	'Europe/Ljubljana': {
		a: 'Europe/Belgrade',
		c: ['SI'],
		r: 1
	},
	'Europe/London': {
		u: 0,
		d: 60,
		c: ['GB', 'GG', 'IM', 'JE']
	},
	'Europe/Luxembourg': {
		u: 60,
		d: 120,
		c: ['LU']
	},
	'Europe/Madrid': {
		u: 60,
		d: 120,
		c: ['ES']
	},
	'Europe/Malta': {
		u: 60,
		d: 120,
		c: ['MT']
	},
	'Europe/Mariehamn': {
		a: 'Europe/Helsinki',
		c: ['AX'],
		r: 1
	},
	'Europe/Minsk': {
		u: 180,
		c: ['BY']
	},
	'Europe/Monaco': {
		u: 60,
		d: 120,
		c: ['MC']
	},
	'Europe/Moscow': {
		u: 180,
		c: ['RU']
	},
	'Europe/Nicosia': {
		a: 'Asia/Nicosia',
		r: 1
	},
	'Europe/Oslo': {
		u: 60,
		d: 120,
		c: ['NO', 'SJ', 'BV']
	},
	'Europe/Paris': {
		u: 60,
		d: 120,
		c: ['FR']
	},
	'Europe/Podgorica': {
		a: 'Europe/Belgrade',
		c: ['ME'],
		r: 1
	},
	'Europe/Prague': {
		u: 60,
		d: 120,
		c: ['CZ', 'SK']
	},
	'Europe/Riga': {
		u: 120,
		d: 180,
		c: ['LV']
	},
	'Europe/Rome': {
		u: 60,
		d: 120,
		c: ['IT', 'SM', 'VA']
	},
	'Europe/Samara': {
		u: 240,
		c: ['RU']
	},
	'Europe/San_Marino': {
		a: 'Europe/Rome',
		c: ['SM'],
		r: 1
	},
	'Europe/Sarajevo': {
		a: 'Europe/Belgrade',
		c: ['BA'],
		r: 1
	},
	'Europe/Saratov': {
		u: 240,
		c: ['RU']
	},
	'Europe/Simferopol': {
		u: 180,
		c: ['RU', 'UA']
	},
	'Europe/Skopje': {
		a: 'Europe/Belgrade',
		c: ['MK'],
		r: 1
	},
	'Europe/Sofia': {
		u: 120,
		d: 180,
		c: ['BG']
	},
	'Europe/Stockholm': {
		u: 60,
		d: 120,
		c: ['SE']
	},
	'Europe/Tallinn': {
		u: 120,
		d: 180,
		c: ['EE']
	},
	'Europe/Tirane': {
		u: 60,
		d: 120,
		c: ['AL']
	},
	'Europe/Tiraspol': {
		a: 'Europe/Chisinau',
		r: 1
	},
	'Europe/Ulyanovsk': {
		u: 240,
		c: ['RU']
	},
	'Europe/Uzhgorod': {
		u: 120,
		d: 180,
		c: ['UA']
	},
	'Europe/Vaduz': {
		a: 'Europe/Zurich',
		c: ['LI'],
		r: 1
	},
	'Europe/Vatican': {
		a: 'Europe/Rome',
		c: ['VA'],
		r: 1
	},
	'Europe/Vienna': {
		u: 60,
		d: 120,
		c: ['AT']
	},
	'Europe/Vilnius': {
		u: 120,
		d: 180,
		c: ['LT']
	},
	'Europe/Volgograd': {
		u: 180,
		c: ['RU']
	},
	'Europe/Warsaw': {
		u: 60,
		d: 120,
		c: ['PL']
	},
	'Europe/Zagreb': {
		a: 'Europe/Belgrade',
		c: ['HR'],
		r: 1
	},
	'Europe/Zaporozhye': {
		u: 120,
		d: 180,
		c: ['UA']
	},
	'Europe/Zurich': {
		u: 60,
		d: 120,
		c: ['CH', 'DE', 'LI']
	},
	Factory: {
		u: 0
	},
	GB: {
		a: 'Europe/London',
		c: ['GB'],
		r: 1
	},
	'GB-Eire': {
		a: 'Europe/London',
		c: ['GB'],
		r: 1
	},
	GMT: {
		a: 'Etc/GMT',
		r: 1
	},
	'GMT+0': {
		a: 'Etc/GMT',
		r: 1
	},
	'GMT-0': {
		a: 'Etc/GMT',
		r: 1
	},
	GMT0: {
		a: 'Etc/GMT',
		r: 1
	},
	Greenwich: {
		a: 'Etc/GMT',
		r: 1
	},
	HST: {
		u: -600
	},
	Hongkong: {
		a: 'Asia/Hong_Kong',
		r: 1
	},
	Iceland: {
		a: 'Atlantic/Reykjavik',
		r: 1
	},
	'Indian/Antananarivo': {
		a: 'Africa/Nairobi',
		c: ['MG'],
		r: 1
	},
	'Indian/Chagos': {
		u: 360,
		c: ['IO']
	},
	'Indian/Christmas': {
		u: 420,
		c: ['CX']
	},
	'Indian/Cocos': {
		u: 390,
		c: ['CC']
	},
	'Indian/Comoro': {
		a: 'Africa/Nairobi',
		c: ['KM'],
		r: 1
	},
	'Indian/Kerguelen': {
		u: 300,
		c: ['TF', 'HM']
	},
	'Indian/Mahe': {
		u: 240,
		c: ['SC']
	},
	'Indian/Maldives': {
		u: 300,
		c: ['MV']
	},
	'Indian/Mauritius': {
		u: 240,
		c: ['MU']
	},
	'Indian/Mayotte': {
		a: 'Africa/Nairobi',
		c: ['YT'],
		r: 1
	},
	'Indian/Reunion': {
		u: 240,
		c: ['RE', 'TF']
	},
	Iran: {
		a: 'Asia/Tehran',
		r: 1
	},
	Israel: {
		a: 'Asia/Jerusalem',
		r: 1
	},
	Jamaica: {
		a: 'America/Jamaica',
		r: 1
	},
	Japan: {
		a: 'Asia/Tokyo',
		r: 1
	},
	Kwajalein: {
		a: 'Pacific/Kwajalein',
		r: 1
	},
	Libya: {
		a: 'Africa/Tripoli',
		r: 1
	},
	MET: {
		u: 60,
		d: 120
	},
	MST: {
		u: -420
	},
	MST7MDT: {
		u: -420,
		d: -360
	},
	'Mexico/BajaNorte': {
		a: 'America/Tijuana',
		r: 1
	},
	'Mexico/BajaSur': {
		a: 'America/Mazatlan',
		r: 1
	},
	'Mexico/General': {
		a: 'America/Mexico_City',
		r: 1
	},
	NZ: {
		a: 'Pacific/Auckland',
		c: ['NZ'],
		r: 1
	},
	'NZ-CHAT': {
		a: 'Pacific/Chatham',
		r: 1
	},
	Navajo: {
		a: 'America/Denver',
		r: 1
	},
	PRC: {
		a: 'Asia/Shanghai',
		r: 1
	},
	PST8PDT: {
		u: -480,
		d: -420
	},
	'Pacific/Apia': {
		u: 780,
		c: ['WS']
	},
	'Pacific/Auckland': {
		u: 720,
		d: 780,
		c: ['NZ', 'AQ']
	},
	'Pacific/Bougainville': {
		u: 660,
		c: ['PG']
	},
	'Pacific/Chatham': {
		u: 765,
		d: 825,
		c: ['NZ']
	},
	'Pacific/Chuuk': {
		u: 600,
		c: ['FM']
	},
	'Pacific/Easter': {
		u: -360,
		d: -300,
		c: ['CL']
	},
	'Pacific/Efate': {
		u: 660,
		c: ['VU']
	},
	'Pacific/Enderbury': {
		a: 'Pacific/Kanton',
		r: 1
	},
	'Pacific/Fakaofo': {
		u: 780,
		c: ['TK']
	},
	'Pacific/Fiji': {
		u: 720,
		d: 780,
		c: ['FJ']
	},
	'Pacific/Funafuti': {
		u: 720,
		c: ['TV']
	},
	'Pacific/Galapagos': {
		u: -360,
		c: ['EC']
	},
	'Pacific/Gambier': {
		u: -540,
		c: ['PF']
	},
	'Pacific/Guadalcanal': {
		u: 660,
		c: ['SB']
	},
	'Pacific/Guam': {
		u: 600,
		c: ['GU', 'MP']
	},
	'Pacific/Honolulu': {
		u: -600,
		c: ['US', 'UM']
	},
	'Pacific/Johnston': {
		a: 'Pacific/Honolulu',
		c: ['UM'],
		r: 1
	},
	'Pacific/Kanton': {
		u: 780,
		c: ['KI']
	},
	'Pacific/Kiritimati': {
		u: 840,
		c: ['KI']
	},
	'Pacific/Kosrae': {
		u: 660,
		c: ['FM']
	},
	'Pacific/Kwajalein': {
		u: 720,
		c: ['MH']
	},
	'Pacific/Majuro': {
		u: 720,
		c: ['MH']
	},
	'Pacific/Marquesas': {
		u: -510,
		c: ['PF']
	},
	'Pacific/Midway': {
		a: 'Pacific/Pago_Pago',
		c: ['UM'],
		r: 1
	},
	'Pacific/Nauru': {
		u: 720,
		c: ['NR']
	},
	'Pacific/Niue': {
		u: -660,
		c: ['NU']
	},
	'Pacific/Norfolk': {
		u: 660,
		d: 720,
		c: ['NF']
	},
	'Pacific/Noumea': {
		u: 660,
		c: ['NC']
	},
	'Pacific/Pago_Pago': {
		u: -660,
		c: ['AS', 'UM']
	},
	'Pacific/Palau': {
		u: 540,
		c: ['PW']
	},
	'Pacific/Pitcairn': {
		u: -480,
		c: ['PN']
	},
	'Pacific/Pohnpei': {
		u: 660,
		c: ['FM']
	},
	'Pacific/Ponape': {
		a: 'Pacific/Pohnpei',
		r: 1
	},
	'Pacific/Port_Moresby': {
		u: 600,
		c: ['PG', 'AQ']
	},
	'Pacific/Rarotonga': {
		u: -600,
		c: ['CK']
	},
	'Pacific/Saipan': {
		a: 'Pacific/Guam',
		c: ['MP'],
		r: 1
	},
	'Pacific/Samoa': {
		a: 'Pacific/Pago_Pago',
		c: ['WS'],
		r: 1
	},
	'Pacific/Tahiti': {
		u: -600,
		c: ['PF']
	},
	'Pacific/Tarawa': {
		u: 720,
		c: ['KI']
	},
	'Pacific/Tongatapu': {
		u: 780,
		c: ['TO']
	},
	'Pacific/Truk': {
		a: 'Pacific/Chuuk',
		r: 1
	},
	'Pacific/Wake': {
		u: 720,
		c: ['UM']
	},
	'Pacific/Wallis': {
		u: 720,
		c: ['WF']
	},
	'Pacific/Yap': {
		a: 'Pacific/Chuuk',
		r: 1
	},
	Poland: {
		a: 'Europe/Warsaw',
		r: 1
	},
	Portugal: {
		a: 'Europe/Lisbon',
		r: 1
	},
	ROC: {
		a: 'Asia/Taipei',
		r: 1
	},
	ROK: {
		a: 'Asia/Seoul',
		r: 1
	},
	Singapore: {
		a: 'Asia/Singapore',
		c: ['SG'],
		r: 1
	},
	Turkey: {
		a: 'Europe/Istanbul',
		r: 1
	},
	UCT: {
		a: 'Etc/UTC',
		r: 1
	},
	'US/Alaska': {
		a: 'America/Anchorage',
		r: 1
	},
	'US/Aleutian': {
		a: 'America/Adak',
		r: 1
	},
	'US/Arizona': {
		a: 'America/Phoenix',
		c: ['US'],
		r: 1
	},
	'US/Central': {
		a: 'America/Chicago',
		r: 1
	},
	'US/East-Indiana': {
		a: 'America/Indiana/Indianapolis',
		r: 1
	},
	'US/Eastern': {
		a: 'America/New_York',
		r: 1
	},
	'US/Hawaii': {
		a: 'Pacific/Honolulu',
		c: ['US'],
		r: 1
	},
	'US/Indiana-Starke': {
		a: 'America/Indiana/Knox',
		r: 1
	},
	'US/Michigan': {
		a: 'America/Detroit',
		r: 1
	},
	'US/Mountain': {
		a: 'America/Denver',
		r: 1
	},
	'US/Pacific': {
		a: 'America/Los_Angeles',
		r: 1
	},
	'US/Samoa': {
		a: 'Pacific/Pago_Pago',
		c: ['WS'],
		r: 1
	},
	UTC: {
		a: 'Etc/UTC',
		r: 1
	},
	Universal: {
		a: 'Etc/UTC',
		r: 1
	},
	'W-SU': {
		a: 'Europe/Moscow',
		r: 1
	},
	WET: {
		u: 0,
		d: 60
	},
	Zulu: {
		a: 'Etc/UTC',
		r: 1
	}
};

export function getCountry(): string | null {
	const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;

	if (timezone === '' || !timezone) {
		return null;
	}

	const _country = timezones[timezone]?.c?.[0] ?? null;
	const country = countries[_country] ?? null;
	return country;
}
