You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					1549 lines
				
				54 KiB
			
		
		
			
		
	
	
					1549 lines
				
				54 KiB
			| 
											3 years ago
										 | //! moment-timezone.js
 | ||
|  | //! version : 0.5.43
 | ||
|  | //! Copyright (c) JS Foundation and other contributors
 | ||
|  | //! license : MIT
 | ||
|  | //! github.com/moment/moment-timezone
 | ||
|  | 
 | ||
|  | (function (root, factory) { | ||
|  | 	"use strict"; | ||
|  | 
 | ||
|  | 	/*global define*/ | ||
|  | 	if (typeof module === 'object' && module.exports) { | ||
|  | 		module.exports = factory(require('moment')); // Node
 | ||
|  | 	} else if (typeof define === 'function' && define.amd) { | ||
|  | 		define(['moment'], factory);                 // AMD
 | ||
|  | 	} else { | ||
|  | 		factory(root.moment);                        // Browser
 | ||
|  | 	} | ||
|  | }(this, function (moment) { | ||
|  | 	"use strict"; | ||
|  | 
 | ||
|  | 	// Resolves es6 module loading issue
 | ||
|  | 	if (moment.version === undefined && moment.default) { | ||
|  | 		moment = moment.default; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	// Do not load moment-timezone a second time.
 | ||
|  | 	// if (moment.tz !== undefined) {
 | ||
|  | 	// 	logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
 | ||
|  | 	// 	return moment;
 | ||
|  | 	// }
 | ||
|  | 
 | ||
|  | 	var VERSION = "0.5.43", | ||
|  | 		zones = {}, | ||
|  | 		links = {}, | ||
|  | 		countries = {}, | ||
|  | 		names = {}, | ||
|  | 		guesses = {}, | ||
|  | 		cachedGuess; | ||
|  | 
 | ||
|  | 	if (!moment || typeof moment.version !== 'string') { | ||
|  | 		logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/'); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	var momentVersion = moment.version.split('.'), | ||
|  | 		major = +momentVersion[0], | ||
|  | 		minor = +momentVersion[1]; | ||
|  | 
 | ||
|  | 	// Moment.js version check
 | ||
|  | 	if (major < 2 || (major === 2 && minor < 6)) { | ||
|  | 		logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com'); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Unpacking | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function charCodeToInt(charCode) { | ||
|  | 		if (charCode > 96) { | ||
|  | 			return charCode - 87; | ||
|  | 		} else if (charCode > 64) { | ||
|  | 			return charCode - 29; | ||
|  | 		} | ||
|  | 		return charCode - 48; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function unpackBase60(string) { | ||
|  | 		var i = 0, | ||
|  | 			parts = string.split('.'), | ||
|  | 			whole = parts[0], | ||
|  | 			fractional = parts[1] || '', | ||
|  | 			multiplier = 1, | ||
|  | 			num, | ||
|  | 			out = 0, | ||
|  | 			sign = 1; | ||
|  | 
 | ||
|  | 		// handle negative numbers
 | ||
|  | 		if (string.charCodeAt(0) === 45) { | ||
|  | 			i = 1; | ||
|  | 			sign = -1; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// handle digits before the decimal
 | ||
|  | 		for (i; i < whole.length; i++) { | ||
|  | 			num = charCodeToInt(whole.charCodeAt(i)); | ||
|  | 			out = 60 * out + num; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// handle digits after the decimal
 | ||
|  | 		for (i = 0; i < fractional.length; i++) { | ||
|  | 			multiplier = multiplier / 60; | ||
|  | 			num = charCodeToInt(fractional.charCodeAt(i)); | ||
|  | 			out += num * multiplier; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return out * sign; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function arrayToInt (array) { | ||
|  | 		for (var i = 0; i < array.length; i++) { | ||
|  | 			array[i] = unpackBase60(array[i]); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function intToUntil (array, length) { | ||
|  | 		for (var i = 0; i < length; i++) { | ||
|  | 			array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds
 | ||
|  | 		} | ||
|  | 
 | ||
|  | 		array[length - 1] = Infinity; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function mapIndices (source, indices) { | ||
|  | 		var out = [], i; | ||
|  | 
 | ||
|  | 		for (i = 0; i < indices.length; i++) { | ||
|  | 			out[i] = source[indices[i]]; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return out; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function unpack (string) { | ||
|  | 		var data = string.split('|'), | ||
|  | 			offsets = data[2].split(' '), | ||
|  | 			indices = data[3].split(''), | ||
|  | 			untils  = data[4].split(' '); | ||
|  | 
 | ||
|  | 		arrayToInt(offsets); | ||
|  | 		arrayToInt(indices); | ||
|  | 		arrayToInt(untils); | ||
|  | 
 | ||
|  | 		intToUntil(untils, indices.length); | ||
|  | 
 | ||
|  | 		return { | ||
|  | 			name       : data[0], | ||
|  | 			abbrs      : mapIndices(data[1].split(' '), indices), | ||
|  | 			offsets    : mapIndices(offsets, indices), | ||
|  | 			untils     : untils, | ||
|  | 			population : data[5] | 0 | ||
|  | 		}; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Zone object | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function Zone (packedString) { | ||
|  | 		if (packedString) { | ||
|  | 			this._set(unpack(packedString)); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	Zone.prototype = { | ||
|  | 		_set : function (unpacked) { | ||
|  | 			this.name       = unpacked.name; | ||
|  | 			this.abbrs      = unpacked.abbrs; | ||
|  | 			this.untils     = unpacked.untils; | ||
|  | 			this.offsets    = unpacked.offsets; | ||
|  | 			this.population = unpacked.population; | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		_index : function (timestamp) { | ||
|  | 			var target = +timestamp, | ||
|  | 				untils = this.untils, | ||
|  | 				i; | ||
|  | 
 | ||
|  | 			for (i = 0; i < untils.length; i++) { | ||
|  | 				if (target < untils[i]) { | ||
|  | 					return i; | ||
|  | 				} | ||
|  | 			} | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		countries : function () { | ||
|  | 			var zone_name = this.name; | ||
|  | 			return Object.keys(countries).filter(function (country_code) { | ||
|  | 				return countries[country_code].zones.indexOf(zone_name) !== -1; | ||
|  | 			}); | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		parse : function (timestamp) { | ||
|  | 			var target  = +timestamp, | ||
|  | 				offsets = this.offsets, | ||
|  | 				untils  = this.untils, | ||
|  | 				max     = untils.length - 1, | ||
|  | 				offset, offsetNext, offsetPrev, i; | ||
|  | 
 | ||
|  | 			for (i = 0; i < max; i++) { | ||
|  | 				offset     = offsets[i]; | ||
|  | 				offsetNext = offsets[i + 1]; | ||
|  | 				offsetPrev = offsets[i ? i - 1 : i]; | ||
|  | 
 | ||
|  | 				if (offset < offsetNext && tz.moveAmbiguousForward) { | ||
|  | 					offset = offsetNext; | ||
|  | 				} else if (offset > offsetPrev && tz.moveInvalidForward) { | ||
|  | 					offset = offsetPrev; | ||
|  | 				} | ||
|  | 
 | ||
|  | 				if (target < untils[i] - (offset * 60000)) { | ||
|  | 					return offsets[i]; | ||
|  | 				} | ||
|  | 			} | ||
|  | 
 | ||
|  | 			return offsets[max]; | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		abbr : function (mom) { | ||
|  | 			return this.abbrs[this._index(mom)]; | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		offset : function (mom) { | ||
|  | 			logError("zone.offset has been deprecated in favor of zone.utcOffset"); | ||
|  | 			return this.offsets[this._index(mom)]; | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		utcOffset : function (mom) { | ||
|  | 			return this.offsets[this._index(mom)]; | ||
|  | 		} | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Country object | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function Country (country_name, zone_names) { | ||
|  | 		this.name = country_name; | ||
|  | 		this.zones = zone_names; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Current Timezone | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function OffsetAt(at) { | ||
|  | 		var timeString = at.toTimeString(); | ||
|  | 		var abbr = timeString.match(/\([a-z ]+\)/i); | ||
|  | 		if (abbr && abbr[0]) { | ||
|  | 			// 17:56:31 GMT-0600 (CST)
 | ||
|  | 			// 17:56:31 GMT-0600 (Central Standard Time)
 | ||
|  | 			abbr = abbr[0].match(/[A-Z]/g); | ||
|  | 			abbr = abbr ? abbr.join('') : undefined; | ||
|  | 		} else { | ||
|  | 			// 17:56:31 CST
 | ||
|  | 			// 17:56:31 GMT+0800 (台北標準時間)
 | ||
|  | 			abbr = timeString.match(/[A-Z]{3,5}/g); | ||
|  | 			abbr = abbr ? abbr[0] : undefined; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		if (abbr === 'GMT') { | ||
|  | 			abbr = undefined; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		this.at = +at; | ||
|  | 		this.abbr = abbr; | ||
|  | 		this.offset = at.getTimezoneOffset(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function ZoneScore(zone) { | ||
|  | 		this.zone = zone; | ||
|  | 		this.offsetScore = 0; | ||
|  | 		this.abbrScore = 0; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	ZoneScore.prototype.scoreOffsetAt = function (offsetAt) { | ||
|  | 		this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset); | ||
|  | 		if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) { | ||
|  | 			this.abbrScore++; | ||
|  | 		} | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	function findChange(low, high) { | ||
|  | 		var mid, diff; | ||
|  | 
 | ||
|  | 		while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) { | ||
|  | 			mid = new OffsetAt(new Date(low.at + diff)); | ||
|  | 			if (mid.offset === low.offset) { | ||
|  | 				low = mid; | ||
|  | 			} else { | ||
|  | 				high = mid; | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return low; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function userOffsets() { | ||
|  | 		var startYear = new Date().getFullYear() - 2, | ||
|  | 			last = new OffsetAt(new Date(startYear, 0, 1)), | ||
|  | 			offsets = [last], | ||
|  | 			change, next, i; | ||
|  | 
 | ||
|  | 		for (i = 1; i < 48; i++) { | ||
|  | 			next = new OffsetAt(new Date(startYear, i, 1)); | ||
|  | 			if (next.offset !== last.offset) { | ||
|  | 				change = findChange(last, next); | ||
|  | 				offsets.push(change); | ||
|  | 				offsets.push(new OffsetAt(new Date(change.at + 6e4))); | ||
|  | 			} | ||
|  | 			last = next; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		for (i = 0; i < 4; i++) { | ||
|  | 			offsets.push(new OffsetAt(new Date(startYear + i, 0, 1))); | ||
|  | 			offsets.push(new OffsetAt(new Date(startYear + i, 6, 1))); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return offsets; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function sortZoneScores (a, b) { | ||
|  | 		if (a.offsetScore !== b.offsetScore) { | ||
|  | 			return a.offsetScore - b.offsetScore; | ||
|  | 		} | ||
|  | 		if (a.abbrScore !== b.abbrScore) { | ||
|  | 			return a.abbrScore - b.abbrScore; | ||
|  | 		} | ||
|  | 		if (a.zone.population !== b.zone.population) { | ||
|  | 			return b.zone.population - a.zone.population; | ||
|  | 		} | ||
|  | 		return b.zone.name.localeCompare(a.zone.name); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function addToGuesses (name, offsets) { | ||
|  | 		var i, offset; | ||
|  | 		arrayToInt(offsets); | ||
|  | 		for (i = 0; i < offsets.length; i++) { | ||
|  | 			offset = offsets[i]; | ||
|  | 			guesses[offset] = guesses[offset] || {}; | ||
|  | 			guesses[offset][name] = true; | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function guessesForUserOffsets (offsets) { | ||
|  | 		var offsetsLength = offsets.length, | ||
|  | 			filteredGuesses = {}, | ||
|  | 			out = [], | ||
|  | 			i, j, guessesOffset; | ||
|  | 
 | ||
|  | 		for (i = 0; i < offsetsLength; i++) { | ||
|  | 			guessesOffset = guesses[offsets[i].offset] || {}; | ||
|  | 			for (j in guessesOffset) { | ||
|  | 				if (guessesOffset.hasOwnProperty(j)) { | ||
|  | 					filteredGuesses[j] = true; | ||
|  | 				} | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		for (i in filteredGuesses) { | ||
|  | 			if (filteredGuesses.hasOwnProperty(i)) { | ||
|  | 				out.push(names[i]); | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return out; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function rebuildGuess () { | ||
|  | 
 | ||
|  | 		// use Intl API when available and returning valid time zone
 | ||
|  | 		try { | ||
|  | 			var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone; | ||
|  | 			if (intlName && intlName.length > 3) { | ||
|  | 				var name = names[normalizeName(intlName)]; | ||
|  | 				if (name) { | ||
|  | 					return name; | ||
|  | 				} | ||
|  | 				logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded."); | ||
|  | 			} | ||
|  | 		} catch (e) { | ||
|  | 			// Intl unavailable, fall back to manual guessing.
 | ||
|  | 		} | ||
|  | 
 | ||
|  | 		var offsets = userOffsets(), | ||
|  | 			offsetsLength = offsets.length, | ||
|  | 			guesses = guessesForUserOffsets(offsets), | ||
|  | 			zoneScores = [], | ||
|  | 			zoneScore, i, j; | ||
|  | 
 | ||
|  | 		for (i = 0; i < guesses.length; i++) { | ||
|  | 			zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength); | ||
|  | 			for (j = 0; j < offsetsLength; j++) { | ||
|  | 				zoneScore.scoreOffsetAt(offsets[j]); | ||
|  | 			} | ||
|  | 			zoneScores.push(zoneScore); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		zoneScores.sort(sortZoneScores); | ||
|  | 
 | ||
|  | 		return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function guess (ignoreCache) { | ||
|  | 		if (!cachedGuess || ignoreCache) { | ||
|  | 			cachedGuess = rebuildGuess(); | ||
|  | 		} | ||
|  | 		return cachedGuess; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Global Methods | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function normalizeName (name) { | ||
|  | 		return (name || '').toLowerCase().replace(/\//g, '_'); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function addZone (packed) { | ||
|  | 		var i, name, split, normalized; | ||
|  | 
 | ||
|  | 		if (typeof packed === "string") { | ||
|  | 			packed = [packed]; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		for (i = 0; i < packed.length; i++) { | ||
|  | 			split = packed[i].split('|'); | ||
|  | 			name = split[0]; | ||
|  | 			normalized = normalizeName(name); | ||
|  | 			zones[normalized] = packed[i]; | ||
|  | 			names[normalized] = name; | ||
|  | 			addToGuesses(normalized, split[2].split(' ')); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function getZone (name, caller) { | ||
|  | 
 | ||
|  | 		name = normalizeName(name); | ||
|  | 
 | ||
|  | 		var zone = zones[name]; | ||
|  | 		var link; | ||
|  | 
 | ||
|  | 		if (zone instanceof Zone) { | ||
|  | 			return zone; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		if (typeof zone === 'string') { | ||
|  | 			zone = new Zone(zone); | ||
|  | 			zones[name] = zone; | ||
|  | 			return zone; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// Pass getZone to prevent recursion more than 1 level deep
 | ||
|  | 		if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) { | ||
|  | 			zone = zones[name] = new Zone(); | ||
|  | 			zone._set(link); | ||
|  | 			zone.name = names[name]; | ||
|  | 			return zone; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return null; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function getNames () { | ||
|  | 		var i, out = []; | ||
|  | 
 | ||
|  | 		for (i in names) { | ||
|  | 			if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) { | ||
|  | 				out.push(names[i]); | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return out.sort(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function getCountryNames () { | ||
|  | 		return Object.keys(countries); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function addLink (aliases) { | ||
|  | 		var i, alias, normal0, normal1; | ||
|  | 
 | ||
|  | 		if (typeof aliases === "string") { | ||
|  | 			aliases = [aliases]; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		for (i = 0; i < aliases.length; i++) { | ||
|  | 			alias = aliases[i].split('|'); | ||
|  | 
 | ||
|  | 			normal0 = normalizeName(alias[0]); | ||
|  | 			normal1 = normalizeName(alias[1]); | ||
|  | 
 | ||
|  | 			links[normal0] = normal1; | ||
|  | 			names[normal0] = alias[0]; | ||
|  | 
 | ||
|  | 			links[normal1] = normal0; | ||
|  | 			names[normal1] = alias[1]; | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function addCountries (data) { | ||
|  | 		var i, country_code, country_zones, split; | ||
|  | 		if (!data || !data.length) return; | ||
|  | 		for (i = 0; i < data.length; i++) { | ||
|  | 			split = data[i].split('|'); | ||
|  | 			country_code = split[0].toUpperCase(); | ||
|  | 			country_zones = split[1].split(' '); | ||
|  | 			countries[country_code] = new Country( | ||
|  | 				country_code, | ||
|  | 				country_zones | ||
|  | 			); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function getCountry (name) { | ||
|  | 		name = name.toUpperCase(); | ||
|  | 		return countries[name] || null; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function zonesForCountry(country, with_offset) { | ||
|  | 		country = getCountry(country); | ||
|  | 
 | ||
|  | 		if (!country) return null; | ||
|  | 
 | ||
|  | 		var zones = country.zones.sort(); | ||
|  | 
 | ||
|  | 		if (with_offset) { | ||
|  | 			return zones.map(function (zone_name) { | ||
|  | 				var zone = getZone(zone_name); | ||
|  | 				return { | ||
|  | 					name: zone_name, | ||
|  | 					offset: zone.utcOffset(new Date()) | ||
|  | 				}; | ||
|  | 			}); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return zones; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function loadData (data) { | ||
|  | 		addZone(data.zones); | ||
|  | 		addLink(data.links); | ||
|  | 		addCountries(data.countries); | ||
|  | 		tz.dataVersion = data.version; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function zoneExists (name) { | ||
|  | 		if (!zoneExists.didShowError) { | ||
|  | 			zoneExists.didShowError = true; | ||
|  | 				logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')"); | ||
|  | 		} | ||
|  | 		return !!getZone(name); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function needsOffset (m) { | ||
|  | 		var isUnixTimestamp = (m._f === 'X' || m._f === 'x'); | ||
|  | 		return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function logError (message) { | ||
|  | 		if (typeof console !== 'undefined' && typeof console.error === 'function') { | ||
|  | 			console.error(message); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		moment.tz namespace | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	function tz (input) { | ||
|  | 		var args = Array.prototype.slice.call(arguments, 0, -1), | ||
|  | 			name = arguments[arguments.length - 1], | ||
|  | 			zone = getZone(name), | ||
|  | 			out  = moment.utc.apply(null, args); | ||
|  | 
 | ||
|  | 		if (zone && !moment.isMoment(input) && needsOffset(out)) { | ||
|  | 			out.add(zone.parse(out), 'minutes'); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		out.tz(name); | ||
|  | 
 | ||
|  | 		return out; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	tz.version      = VERSION; | ||
|  | 	tz.dataVersion  = ''; | ||
|  | 	tz._zones       = zones; | ||
|  | 	tz._links       = links; | ||
|  | 	tz._names       = names; | ||
|  | 	tz._countries	= countries; | ||
|  | 	tz.add          = addZone; | ||
|  | 	tz.link         = addLink; | ||
|  | 	tz.load         = loadData; | ||
|  | 	tz.zone         = getZone; | ||
|  | 	tz.zoneExists   = zoneExists; // deprecated in 0.1.0
 | ||
|  | 	tz.guess        = guess; | ||
|  | 	tz.names        = getNames; | ||
|  | 	tz.Zone         = Zone; | ||
|  | 	tz.unpack       = unpack; | ||
|  | 	tz.unpackBase60 = unpackBase60; | ||
|  | 	tz.needsOffset  = needsOffset; | ||
|  | 	tz.moveInvalidForward   = true; | ||
|  | 	tz.moveAmbiguousForward = false; | ||
|  | 	tz.countries    = getCountryNames; | ||
|  | 	tz.zonesForCountry = zonesForCountry; | ||
|  | 
 | ||
|  | 	/************************************ | ||
|  | 		Interface with Moment.js | ||
|  | 	************************************/ | ||
|  | 
 | ||
|  | 	var fn = moment.fn; | ||
|  | 
 | ||
|  | 	moment.tz = tz; | ||
|  | 
 | ||
|  | 	moment.defaultZone = null; | ||
|  | 
 | ||
|  | 	moment.updateOffset = function (mom, keepTime) { | ||
|  | 		var zone = moment.defaultZone, | ||
|  | 			offset; | ||
|  | 
 | ||
|  | 		if (mom._z === undefined) { | ||
|  | 			if (zone && needsOffset(mom) && !mom._isUTC) { | ||
|  | 				mom._d = moment.utc(mom._a)._d; | ||
|  | 				mom.utc().add(zone.parse(mom), 'minutes'); | ||
|  | 			} | ||
|  | 			mom._z = zone; | ||
|  | 		} | ||
|  | 		if (mom._z) { | ||
|  | 			offset = mom._z.utcOffset(mom); | ||
|  | 			if (Math.abs(offset) < 16) { | ||
|  | 				offset = offset / 60; | ||
|  | 			} | ||
|  | 			if (mom.utcOffset !== undefined) { | ||
|  | 				var z = mom._z; | ||
|  | 				mom.utcOffset(-offset, keepTime); | ||
|  | 				mom._z = z; | ||
|  | 			} else { | ||
|  | 				mom.zone(offset, keepTime); | ||
|  | 			} | ||
|  | 		} | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	fn.tz = function (name, keepTime) { | ||
|  | 		if (name) { | ||
|  | 			if (typeof name !== 'string') { | ||
|  | 				throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']'); | ||
|  | 			} | ||
|  | 			this._z = getZone(name); | ||
|  | 			if (this._z) { | ||
|  | 				moment.updateOffset(this, keepTime); | ||
|  | 			} else { | ||
|  | 				logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/."); | ||
|  | 			} | ||
|  | 			return this; | ||
|  | 		} | ||
|  | 		if (this._z) { return this._z.name; } | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	function abbrWrap (old) { | ||
|  | 		return function () { | ||
|  | 			if (this._z) { return this._z.abbr(this); } | ||
|  | 			return old.call(this); | ||
|  | 		}; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function resetZoneWrap (old) { | ||
|  | 		return function () { | ||
|  | 			this._z = null; | ||
|  | 			return old.apply(this, arguments); | ||
|  | 		}; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	function resetZoneWrap2 (old) { | ||
|  | 		return function () { | ||
|  | 			if (arguments.length > 0) this._z = null; | ||
|  | 			return old.apply(this, arguments); | ||
|  | 		}; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	fn.zoneName  = abbrWrap(fn.zoneName); | ||
|  | 	fn.zoneAbbr  = abbrWrap(fn.zoneAbbr); | ||
|  | 	fn.utc       = resetZoneWrap(fn.utc); | ||
|  | 	fn.local     = resetZoneWrap(fn.local); | ||
|  | 	fn.utcOffset = resetZoneWrap2(fn.utcOffset); | ||
|  | 
 | ||
|  | 	moment.tz.setDefault = function(name) { | ||
|  | 		if (major < 2 || (major === 2 && minor < 9)) { | ||
|  | 			logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.'); | ||
|  | 		} | ||
|  | 		moment.defaultZone = name ? getZone(name) : null; | ||
|  | 		return moment; | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	// Cloning a moment should include the _z property.
 | ||
|  | 	var momentProperties = moment.momentProperties; | ||
|  | 	if (Object.prototype.toString.call(momentProperties) === '[object Array]') { | ||
|  | 		// moment 2.8.1+
 | ||
|  | 		momentProperties.push('_z'); | ||
|  | 		momentProperties.push('_a'); | ||
|  | 	} else if (momentProperties) { | ||
|  | 		// moment 2.7.0
 | ||
|  | 		momentProperties._z = null; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	loadData({ | ||
|  | 		"version": "2023c", | ||
|  | 		"zones": [ | ||
|  | 			"Africa/Abidjan|GMT|0|0||48e5", | ||
|  | 			"Africa/Nairobi|EAT|-30|0||47e5", | ||
|  | 			"Africa/Algiers|CET|-10|0||26e5", | ||
|  | 			"Africa/Lagos|WAT|-10|0||17e6", | ||
|  | 			"Africa/Khartoum|CAT|-20|0||51e5", | ||
|  | 			"Africa/Cairo|EET EEST|-20 -30|0101010101010|29NW0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0|15e6", | ||
|  | 			"Africa/Casablanca|+00 +01|0 -10|010101010101010101010101|1Vq20 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5", | ||
|  | 			"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|11e6", | ||
|  | 			"Africa/Johannesburg|SAST|-20|0||84e5", | ||
|  | 			"Africa/Juba|EAT CAT|-30 -20|01|24nx0|", | ||
|  | 			"Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|", | ||
|  | 			"Africa/Tripoli|EET|-20|0||11e5", | ||
|  | 			"America/Adak|HST HDT|a0 90|01010101010101010101010|1VkA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|326", | ||
|  | 			"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1Vkz0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|30e4", | ||
|  | 			"America/Santo_Domingo|AST|40|0||29e5", | ||
|  | 			"America/Fortaleza|-03|30|0||34e5", | ||
|  | 			"America/Asuncion|-03 -04|30 40|01010101010101010101010|1Vq30 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0|28e5", | ||
|  | 			"America/Panama|EST|50|0||15e5", | ||
|  | 			"America/Mexico_City|CST CDT|60 50|01010101010|1VsU0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6", | ||
|  | 			"America/Managua|CST|60|0||22e5", | ||
|  | 			"America/Caracas|-04|40|0||29e5", | ||
|  | 			"America/Lima|-05|50|0||11e6", | ||
|  | 			"America/Denver|MST MDT|70 60|01010101010101010101010|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|26e5", | ||
|  | 			"America/Campo_Grande|-03 -04|30 40|0101|1Vc30 1HB0 FX0|77e4", | ||
|  | 			"America/Chicago|CST CDT|60 50|01010101010101010101010|1Vkw0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|92e5", | ||
|  | 			"America/Chihuahua|MST MDT CST|70 60 60|01010101012|1VsV0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4", | ||
|  | 			"America/Ciudad_Juarez|MST MDT CST|70 60 60|010101010120101010101010|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|", | ||
|  | 			"America/Phoenix|MST|70|0||42e5", | ||
|  | 			"America/Whitehorse|PST PDT MST|80 70 70|0101012|1Vky0 1zb0 Op0 1zb0 Op0 1z90|23e3", | ||
|  | 			"America/New_York|EST EDT|50 40|01010101010101010101010|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|21e6", | ||
|  | 			"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1Vky0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|15e6", | ||
|  | 			"America/Halifax|AST ADT|40 30|01010101010101010101010|1Vku0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|39e4", | ||
|  | 			"America/Godthab|-03 -02 -01|30 20 10|0101010101012121212121|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|17e3", | ||
|  | 			"America/Grand_Turk|AST EDT EST|40 40 50|01212121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|37e2", | ||
|  | 			"America/Havana|CST CDT|50 40|01010101010101010101010|1Vkt0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0|21e5", | ||
|  | 			"America/Mazatlan|MST MDT|70 60|01010101010|1VsV0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4", | ||
|  | 			"America/Metlakatla|AKST AKDT PST|90 80 80|012010101010101010101010|1Vkz0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|14e2", | ||
|  | 			"America/Miquelon|-03 -02|30 20|01010101010101010101010|1Vkt0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|61e2", | ||
|  | 			"America/Noronha|-02|20|0||30e2", | ||
|  | 			"America/Ojinaga|MST MDT CST CDT|70 60 60 50|01010101012323232323232|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e3", | ||
|  | 			"America/Santiago|-03 -04|30 40|01010101010101010101010|1VJD0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5", | ||
|  | 			"America/Sao_Paulo|-02 -03|20 30|0101|1Vc20 1HB0 FX0|20e6", | ||
|  | 			"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4", | ||
|  | 			"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Vktu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4", | ||
|  | 			"Antarctica/Casey|+11 +08|-b0 -80|0101010|1Vkh0 1o30 14k0 1kr0 12l0 1o01|10", | ||
|  | 			"Asia/Bangkok|+07|-70|0||15e6", | ||
|  | 			"Asia/Vladivostok|+10|-a0|0||60e4", | ||
|  | 			"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1VsE0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5", | ||
|  | 			"Asia/Tashkent|+05|-50|0||23e5", | ||
|  | 			"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5", | ||
|  | 			"Europe/Istanbul|+03|-30|0||13e6", | ||
|  | 			"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|40", | ||
|  | 			"Asia/Dhaka|+06|-60|0||16e6", | ||
|  | 			"Asia/Amman|EET EEST +03|-20 -30 -30|01010101012|1VrW0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5", | ||
|  | 			"Asia/Kamchatka|+12|-c0|0||18e4", | ||
|  | 			"Asia/Dubai|+04|-40|0||39e5", | ||
|  | 			"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1VpW0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|22e5", | ||
|  | 			"Asia/Kuala_Lumpur|+08|-80|0||71e5", | ||
|  | 			"Asia/Kolkata|IST|-5u|0||15e6", | ||
|  | 			"Asia/Chita|+09|-90|0||33e4", | ||
|  | 			"Asia/Shanghai|CST|-80|0||23e6", | ||
|  | 			"Asia/Colombo|+0530|-5u|0||22e5", | ||
|  | 			"Asia/Damascus|EET EEST +03|-20 -30 -30|01010101012|1VrW0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5", | ||
|  | 			"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|35e5", | ||
|  | 			"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1Vpz0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0|18e5", | ||
|  | 			"Asia/Hong_Kong|HKT|-80|0||73e5", | ||
|  | 			"Asia/Jakarta|WIB|-70|0||31e6", | ||
|  | 			"Asia/Jayapura|WIT|-90|0||26e4", | ||
|  | 			"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1Vpc0 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0|81e4", | ||
|  | 			"Asia/Kabul|+0430|-4u|0||46e5", | ||
|  | 			"Asia/Karachi|PKT|-50|0||24e6", | ||
|  | 			"Asia/Kathmandu|+0545|-5J|0||12e5", | ||
|  | 			"Asia/Sakhalin|+11|-b0|0||58e4", | ||
|  | 			"Asia/Makassar|WITA|-80|0||15e5", | ||
|  | 			"Asia/Manila|PST|-80|0||24e6", | ||
|  | 			"Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5", | ||
|  | 			"Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4", | ||
|  | 			"Asia/Rangoon|+0630|-6u|0||48e5", | ||
|  | 			"Asia/Seoul|KST|-90|0||23e6", | ||
|  | 			"Asia/Tehran|+0330 +0430|-3u -4u|01010101010|1VoIu 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6", | ||
|  | 			"Asia/Tokyo|JST|-90|0||38e6", | ||
|  | 			"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|27e5", | ||
|  | 			"Atlantic/Cape_Verde|-01|10|0||50e4", | ||
|  | 			"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1VsEu 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5", | ||
|  | 			"Australia/Brisbane|AEST|-a0|0||20e5", | ||
|  | 			"Australia/Darwin|ACST|-9u|0||12e4", | ||
|  | 			"Australia/Eucla|+0845|-8J|0||368", | ||
|  | 			"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1VsD0 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347", | ||
|  | 			"Australia/Perth|AWST|-80|0||18e5", | ||
|  | 			"Pacific/Easter|-05 -06|50 60|01010101010101010101010|1VJD0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2", | ||
|  | 			"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|12e5", | ||
|  | 			"Etc/GMT-1|+01|-10|0||", | ||
|  | 			"Pacific/Tongatapu|+13|-d0|0||75e3", | ||
|  | 			"Pacific/Kiritimati|+14|-e0|0||51e2", | ||
|  | 			"Etc/GMT-2|+02|-20|0||", | ||
|  | 			"Pacific/Tahiti|-10|a0|0||18e4", | ||
|  | 			"Pacific/Niue|-11|b0|0||12e2", | ||
|  | 			"Etc/GMT+12|-12|c0|0||", | ||
|  | 			"Pacific/Galapagos|-06|60|0||25e3", | ||
|  | 			"Etc/GMT+7|-07|70|0||", | ||
|  | 			"Pacific/Pitcairn|-08|80|0||56", | ||
|  | 			"Pacific/Gambier|-09|90|0||125", | ||
|  | 			"Etc/UTC|UTC|0|0||", | ||
|  | 			"Europe/London|GMT BST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|10e6", | ||
|  | 			"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1Vq00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|67e4", | ||
|  | 			"Europe/Moscow|MSK|-30|0||16e6", | ||
|  | 			"Europe/Volgograd|MSK +04|-30 -40|010|1WQL0 5gn0|10e5", | ||
|  | 			"Pacific/Honolulu|HST|a0|0||37e4", | ||
|  | 			"MET|MET MEST|-10 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|", | ||
|  | 			"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600", | ||
|  | 			"Pacific/Apia|+14 +13|-e0 -d0|01010101|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3", | ||
|  | 			"Pacific/Fiji|+13 +12|-d0 -c0|01010101|1UVO0 1VA0 s00 20o0 pc0 2hc0 bc0|88e4", | ||
|  | 			"Pacific/Guam|ChST|-a0|0||17e4", | ||
|  | 			"Pacific/Marquesas|-0930|9u|0||86e2", | ||
|  | 			"Pacific/Pago_Pago|SST|b0|0||37e2", | ||
|  | 			"Pacific/Norfolk|+11 +12|-b0 -c0|01010101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4" | ||
|  | 		], | ||
|  | 		"links": [ | ||
|  | 			"Africa/Abidjan|Africa/Accra", | ||
|  | 			"Africa/Abidjan|Africa/Bamako", | ||
|  | 			"Africa/Abidjan|Africa/Banjul", | ||
|  | 			"Africa/Abidjan|Africa/Bissau", | ||
|  | 			"Africa/Abidjan|Africa/Conakry", | ||
|  | 			"Africa/Abidjan|Africa/Dakar", | ||
|  | 			"Africa/Abidjan|Africa/Freetown", | ||
|  | 			"Africa/Abidjan|Africa/Lome", | ||
|  | 			"Africa/Abidjan|Africa/Monrovia", | ||
|  | 			"Africa/Abidjan|Africa/Nouakchott", | ||
|  | 			"Africa/Abidjan|Africa/Ouagadougou", | ||
|  | 			"Africa/Abidjan|Africa/Timbuktu", | ||
|  | 			"Africa/Abidjan|America/Danmarkshavn", | ||
|  | 			"Africa/Abidjan|Atlantic/Reykjavik", | ||
|  | 			"Africa/Abidjan|Atlantic/St_Helena", | ||
|  | 			"Africa/Abidjan|Etc/GMT", | ||
|  | 			"Africa/Abidjan|Etc/GMT+0", | ||
|  | 			"Africa/Abidjan|Etc/GMT-0", | ||
|  | 			"Africa/Abidjan|Etc/GMT0", | ||
|  | 			"Africa/Abidjan|Etc/Greenwich", | ||
|  | 			"Africa/Abidjan|GMT", | ||
|  | 			"Africa/Abidjan|GMT+0", | ||
|  | 			"Africa/Abidjan|GMT-0", | ||
|  | 			"Africa/Abidjan|GMT0", | ||
|  | 			"Africa/Abidjan|Greenwich", | ||
|  | 			"Africa/Abidjan|Iceland", | ||
|  | 			"Africa/Algiers|Africa/Tunis", | ||
|  | 			"Africa/Cairo|Egypt", | ||
|  | 			"Africa/Casablanca|Africa/El_Aaiun", | ||
|  | 			"Africa/Johannesburg|Africa/Maseru", | ||
|  | 			"Africa/Johannesburg|Africa/Mbabane", | ||
|  | 			"Africa/Khartoum|Africa/Blantyre", | ||
|  | 			"Africa/Khartoum|Africa/Bujumbura", | ||
|  | 			"Africa/Khartoum|Africa/Gaborone", | ||
|  | 			"Africa/Khartoum|Africa/Harare", | ||
|  | 			"Africa/Khartoum|Africa/Kigali", | ||
|  | 			"Africa/Khartoum|Africa/Lubumbashi", | ||
|  | 			"Africa/Khartoum|Africa/Lusaka", | ||
|  | 			"Africa/Khartoum|Africa/Maputo", | ||
|  | 			"Africa/Khartoum|Africa/Windhoek", | ||
|  | 			"Africa/Lagos|Africa/Bangui", | ||
|  | 			"Africa/Lagos|Africa/Brazzaville", | ||
|  | 			"Africa/Lagos|Africa/Douala", | ||
|  | 			"Africa/Lagos|Africa/Kinshasa", | ||
|  | 			"Africa/Lagos|Africa/Libreville", | ||
|  | 			"Africa/Lagos|Africa/Luanda", | ||
|  | 			"Africa/Lagos|Africa/Malabo", | ||
|  | 			"Africa/Lagos|Africa/Ndjamena", | ||
|  | 			"Africa/Lagos|Africa/Niamey", | ||
|  | 			"Africa/Lagos|Africa/Porto-Novo", | ||
|  | 			"Africa/Nairobi|Africa/Addis_Ababa", | ||
|  | 			"Africa/Nairobi|Africa/Asmara", | ||
|  | 			"Africa/Nairobi|Africa/Asmera", | ||
|  | 			"Africa/Nairobi|Africa/Dar_es_Salaam", | ||
|  | 			"Africa/Nairobi|Africa/Djibouti", | ||
|  | 			"Africa/Nairobi|Africa/Kampala", | ||
|  | 			"Africa/Nairobi|Africa/Mogadishu", | ||
|  | 			"Africa/Nairobi|Indian/Antananarivo", | ||
|  | 			"Africa/Nairobi|Indian/Comoro", | ||
|  | 			"Africa/Nairobi|Indian/Mayotte", | ||
|  | 			"Africa/Tripoli|Europe/Kaliningrad", | ||
|  | 			"Africa/Tripoli|Libya", | ||
|  | 			"America/Adak|America/Atka", | ||
|  | 			"America/Adak|US/Aleutian", | ||
|  | 			"America/Anchorage|America/Juneau", | ||
|  | 			"America/Anchorage|America/Nome", | ||
|  | 			"America/Anchorage|America/Sitka", | ||
|  | 			"America/Anchorage|America/Yakutat", | ||
|  | 			"America/Anchorage|US/Alaska", | ||
|  | 			"America/Campo_Grande|America/Cuiaba", | ||
|  | 			"America/Caracas|America/Boa_Vista", | ||
|  | 			"America/Caracas|America/Guyana", | ||
|  | 			"America/Caracas|America/La_Paz", | ||
|  | 			"America/Caracas|America/Manaus", | ||
|  | 			"America/Caracas|America/Porto_Velho", | ||
|  | 			"America/Caracas|Brazil/West", | ||
|  | 			"America/Caracas|Etc/GMT+4", | ||
|  | 			"America/Chicago|America/Indiana/Knox", | ||
|  | 			"America/Chicago|America/Indiana/Tell_City", | ||
|  | 			"America/Chicago|America/Knox_IN", | ||
|  | 			"America/Chicago|America/Matamoros", | ||
|  | 			"America/Chicago|America/Menominee", | ||
|  | 			"America/Chicago|America/North_Dakota/Beulah", | ||
|  | 			"America/Chicago|America/North_Dakota/Center", | ||
|  | 			"America/Chicago|America/North_Dakota/New_Salem", | ||
|  | 			"America/Chicago|America/Rainy_River", | ||
|  | 			"America/Chicago|America/Rankin_Inlet", | ||
|  | 			"America/Chicago|America/Resolute", | ||
|  | 			"America/Chicago|America/Winnipeg", | ||
|  | 			"America/Chicago|CST6CDT", | ||
|  | 			"America/Chicago|Canada/Central", | ||
|  | 			"America/Chicago|US/Central", | ||
|  | 			"America/Chicago|US/Indiana-Starke", | ||
|  | 			"America/Denver|America/Boise", | ||
|  | 			"America/Denver|America/Cambridge_Bay", | ||
|  | 			"America/Denver|America/Edmonton", | ||
|  | 			"America/Denver|America/Inuvik", | ||
|  | 			"America/Denver|America/Shiprock", | ||
|  | 			"America/Denver|America/Yellowknife", | ||
|  | 			"America/Denver|Canada/Mountain", | ||
|  | 			"America/Denver|MST7MDT", | ||
|  | 			"America/Denver|Navajo", | ||
|  | 			"America/Denver|US/Mountain", | ||
|  | 			"America/Fortaleza|America/Araguaina", | ||
|  | 			"America/Fortaleza|America/Argentina/Buenos_Aires", | ||
|  | 			"America/Fortaleza|America/Argentina/Catamarca", | ||
|  | 			"America/Fortaleza|America/Argentina/ComodRivadavia", | ||
|  | 			"America/Fortaleza|America/Argentina/Cordoba", | ||
|  | 			"America/Fortaleza|America/Argentina/Jujuy", | ||
|  | 			"America/Fortaleza|America/Argentina/La_Rioja", | ||
|  | 			"America/Fortaleza|America/Argentina/Mendoza", | ||
|  | 			"America/Fortaleza|America/Argentina/Rio_Gallegos", | ||
|  | 			"America/Fortaleza|America/Argentina/Salta", | ||
|  | 			"America/Fortaleza|America/Argentina/San_Juan", | ||
|  | 			"America/Fortaleza|America/Argentina/San_Luis", | ||
|  | 			"America/Fortaleza|America/Argentina/Tucuman", | ||
|  | 			"America/Fortaleza|America/Argentina/Ushuaia", | ||
|  | 			"America/Fortaleza|America/Bahia", | ||
|  | 			"America/Fortaleza|America/Belem", | ||
|  | 			"America/Fortaleza|America/Buenos_Aires", | ||
|  | 			"America/Fortaleza|America/Catamarca", | ||
|  | 			"America/Fortaleza|America/Cayenne", | ||
|  | 			"America/Fortaleza|America/Cordoba", | ||
|  | 			"America/Fortaleza|America/Jujuy", | ||
|  | 			"America/Fortaleza|America/Maceio", | ||
|  | 			"America/Fortaleza|America/Mendoza", | ||
|  | 			"America/Fortaleza|America/Montevideo", | ||
|  | 			"America/Fortaleza|America/Paramaribo", | ||
|  | 			"America/Fortaleza|America/Punta_Arenas", | ||
|  | 			"America/Fortaleza|America/Recife", | ||
|  | 			"America/Fortaleza|America/Rosario", | ||
|  | 			"America/Fortaleza|America/Santarem", | ||
|  | 			"America/Fortaleza|Antarctica/Palmer", | ||
|  | 			"America/Fortaleza|Antarctica/Rothera", | ||
|  | 			"America/Fortaleza|Atlantic/Stanley", | ||
|  | 			"America/Fortaleza|Etc/GMT+3", | ||
|  | 			"America/Godthab|America/Nuuk", | ||
|  | 			"America/Halifax|America/Glace_Bay", | ||
|  | 			"America/Halifax|America/Goose_Bay", | ||
|  | 			"America/Halifax|America/Moncton", | ||
|  | 			"America/Halifax|America/Thule", | ||
|  | 			"America/Halifax|Atlantic/Bermuda", | ||
|  | 			"America/Halifax|Canada/Atlantic", | ||
|  | 			"America/Havana|Cuba", | ||
|  | 			"America/Lima|America/Bogota", | ||
|  | 			"America/Lima|America/Eirunepe", | ||
|  | 			"America/Lima|America/Guayaquil", | ||
|  | 			"America/Lima|America/Porto_Acre", | ||
|  | 			"America/Lima|America/Rio_Branco", | ||
|  | 			"America/Lima|Brazil/Acre", | ||
|  | 			"America/Lima|Etc/GMT+5", | ||
|  | 			"America/Los_Angeles|America/Ensenada", | ||
|  | 			"America/Los_Angeles|America/Santa_Isabel", | ||
|  | 			"America/Los_Angeles|America/Tijuana", | ||
|  | 			"America/Los_Angeles|America/Vancouver", | ||
|  | 			"America/Los_Angeles|Canada/Pacific", | ||
|  | 			"America/Los_Angeles|Mexico/BajaNorte", | ||
|  | 			"America/Los_Angeles|PST8PDT", | ||
|  | 			"America/Los_Angeles|US/Pacific", | ||
|  | 			"America/Managua|America/Belize", | ||
|  | 			"America/Managua|America/Costa_Rica", | ||
|  | 			"America/Managua|America/El_Salvador", | ||
|  | 			"America/Managua|America/Guatemala", | ||
|  | 			"America/Managua|America/Regina", | ||
|  | 			"America/Managua|America/Swift_Current", | ||
|  | 			"America/Managua|America/Tegucigalpa", | ||
|  | 			"America/Managua|Canada/Saskatchewan", | ||
|  | 			"America/Mazatlan|Mexico/BajaSur", | ||
|  | 			"America/Mexico_City|America/Bahia_Banderas", | ||
|  | 			"America/Mexico_City|America/Merida", | ||
|  | 			"America/Mexico_City|America/Monterrey", | ||
|  | 			"America/Mexico_City|Mexico/General", | ||
|  | 			"America/New_York|America/Detroit", | ||
|  | 			"America/New_York|America/Fort_Wayne", | ||
|  | 			"America/New_York|America/Indiana/Indianapolis", | ||
|  | 			"America/New_York|America/Indiana/Marengo", | ||
|  | 			"America/New_York|America/Indiana/Petersburg", | ||
|  | 			"America/New_York|America/Indiana/Vevay", | ||
|  | 			"America/New_York|America/Indiana/Vincennes", | ||
|  | 			"America/New_York|America/Indiana/Winamac", | ||
|  | 			"America/New_York|America/Indianapolis", | ||
|  | 			"America/New_York|America/Iqaluit", | ||
|  | 			"America/New_York|America/Kentucky/Louisville", | ||
|  | 			"America/New_York|America/Kentucky/Monticello", | ||
|  | 			"America/New_York|America/Louisville", | ||
|  | 			"America/New_York|America/Montreal", | ||
|  | 			"America/New_York|America/Nassau", | ||
|  | 			"America/New_York|America/Nipigon", | ||
|  | 			"America/New_York|America/Pangnirtung", | ||
|  | 			"America/New_York|America/Port-au-Prince", | ||
|  | 			"America/New_York|America/Thunder_Bay", | ||
|  | 			"America/New_York|America/Toronto", | ||
|  | 			"America/New_York|Canada/Eastern", | ||
|  | 			"America/New_York|EST5EDT", | ||
|  | 			"America/New_York|US/East-Indiana", | ||
|  | 			"America/New_York|US/Eastern", | ||
|  | 			"America/New_York|US/Michigan", | ||
|  | 			"America/Noronha|Atlantic/South_Georgia", | ||
|  | 			"America/Noronha|Brazil/DeNoronha", | ||
|  | 			"America/Noronha|Etc/GMT+2", | ||
|  | 			"America/Panama|America/Atikokan", | ||
|  | 			"America/Panama|America/Cancun", | ||
|  | 			"America/Panama|America/Cayman", | ||
|  | 			"America/Panama|America/Coral_Harbour", | ||
|  | 			"America/Panama|America/Jamaica", | ||
|  | 			"America/Panama|EST", | ||
|  | 			"America/Panama|Jamaica", | ||
|  | 			"America/Phoenix|America/Creston", | ||
|  | 			"America/Phoenix|America/Dawson_Creek", | ||
|  | 			"America/Phoenix|America/Fort_Nelson", | ||
|  | 			"America/Phoenix|America/Hermosillo", | ||
|  | 			"America/Phoenix|MST", | ||
|  | 			"America/Phoenix|US/Arizona", | ||
|  | 			"America/Santiago|Chile/Continental", | ||
|  | 			"America/Santo_Domingo|America/Anguilla", | ||
|  | 			"America/Santo_Domingo|America/Antigua", | ||
|  | 			"America/Santo_Domingo|America/Aruba", | ||
|  | 			"America/Santo_Domingo|America/Barbados", | ||
|  | 			"America/Santo_Domingo|America/Blanc-Sablon", | ||
|  | 			"America/Santo_Domingo|America/Curacao", | ||
|  | 			"America/Santo_Domingo|America/Dominica", | ||
|  | 			"America/Santo_Domingo|America/Grenada", | ||
|  | 			"America/Santo_Domingo|America/Guadeloupe", | ||
|  | 			"America/Santo_Domingo|America/Kralendijk", | ||
|  | 			"America/Santo_Domingo|America/Lower_Princes", | ||
|  | 			"America/Santo_Domingo|America/Marigot", | ||
|  | 			"America/Santo_Domingo|America/Martinique", | ||
|  | 			"America/Santo_Domingo|America/Montserrat", | ||
|  | 			"America/Santo_Domingo|America/Port_of_Spain", | ||
|  | 			"America/Santo_Domingo|America/Puerto_Rico", | ||
|  | 			"America/Santo_Domingo|America/St_Barthelemy", | ||
|  | 			"America/Santo_Domingo|America/St_Kitts", | ||
|  | 			"America/Santo_Domingo|America/St_Lucia", | ||
|  | 			"America/Santo_Domingo|America/St_Thomas", | ||
|  | 			"America/Santo_Domingo|America/St_Vincent", | ||
|  | 			"America/Santo_Domingo|America/Tortola", | ||
|  | 			"America/Santo_Domingo|America/Virgin", | ||
|  | 			"America/Sao_Paulo|Brazil/East", | ||
|  | 			"America/St_Johns|Canada/Newfoundland", | ||
|  | 			"America/Whitehorse|America/Dawson", | ||
|  | 			"America/Whitehorse|Canada/Yukon", | ||
|  | 			"Asia/Bangkok|Antarctica/Davis", | ||
|  | 			"Asia/Bangkok|Asia/Barnaul", | ||
|  | 			"Asia/Bangkok|Asia/Ho_Chi_Minh", | ||
|  | 			"Asia/Bangkok|Asia/Hovd", | ||
|  | 			"Asia/Bangkok|Asia/Krasnoyarsk", | ||
|  | 			"Asia/Bangkok|Asia/Novokuznetsk", | ||
|  | 			"Asia/Bangkok|Asia/Novosibirsk", | ||
|  | 			"Asia/Bangkok|Asia/Phnom_Penh", | ||
|  | 			"Asia/Bangkok|Asia/Saigon", | ||
|  | 			"Asia/Bangkok|Asia/Tomsk", | ||
|  | 			"Asia/Bangkok|Asia/Vientiane", | ||
|  | 			"Asia/Bangkok|Etc/GMT-7", | ||
|  | 			"Asia/Bangkok|Indian/Christmas", | ||
|  | 			"Asia/Chita|Asia/Dili", | ||
|  | 			"Asia/Chita|Asia/Khandyga", | ||
|  | 			"Asia/Chita|Asia/Yakutsk", | ||
|  | 			"Asia/Chita|Etc/GMT-9", | ||
|  | 			"Asia/Chita|Pacific/Palau", | ||
|  | 			"Asia/Dhaka|Antarctica/Vostok", | ||
|  | 			"Asia/Dhaka|Asia/Almaty", | ||
|  | 			"Asia/Dhaka|Asia/Bishkek", | ||
|  | 			"Asia/Dhaka|Asia/Dacca", | ||
|  | 			"Asia/Dhaka|Asia/Kashgar", | ||
|  | 			"Asia/Dhaka|Asia/Omsk", | ||
|  | 			"Asia/Dhaka|Asia/Qostanay", | ||
|  | 			"Asia/Dhaka|Asia/Thimbu", | ||
|  | 			"Asia/Dhaka|Asia/Thimphu", | ||
|  | 			"Asia/Dhaka|Asia/Urumqi", | ||
|  | 			"Asia/Dhaka|Etc/GMT-6", | ||
|  | 			"Asia/Dhaka|Indian/Chagos", | ||
|  | 			"Asia/Dubai|Asia/Baku", | ||
|  | 			"Asia/Dubai|Asia/Muscat", | ||
|  | 			"Asia/Dubai|Asia/Tbilisi", | ||
|  | 			"Asia/Dubai|Asia/Yerevan", | ||
|  | 			"Asia/Dubai|Etc/GMT-4", | ||
|  | 			"Asia/Dubai|Europe/Astrakhan", | ||
|  | 			"Asia/Dubai|Europe/Samara", | ||
|  | 			"Asia/Dubai|Europe/Saratov", | ||
|  | 			"Asia/Dubai|Europe/Ulyanovsk", | ||
|  | 			"Asia/Dubai|Indian/Mahe", | ||
|  | 			"Asia/Dubai|Indian/Mauritius", | ||
|  | 			"Asia/Dubai|Indian/Reunion", | ||
|  | 			"Asia/Gaza|Asia/Hebron", | ||
|  | 			"Asia/Hong_Kong|Hongkong", | ||
|  | 			"Asia/Jakarta|Asia/Pontianak", | ||
|  | 			"Asia/Jerusalem|Asia/Tel_Aviv", | ||
|  | 			"Asia/Jerusalem|Israel", | ||
|  | 			"Asia/Kamchatka|Asia/Anadyr", | ||
|  | 			"Asia/Kamchatka|Etc/GMT-12", | ||
|  | 			"Asia/Kamchatka|Kwajalein", | ||
|  | 			"Asia/Kamchatka|Pacific/Funafuti", | ||
|  | 			"Asia/Kamchatka|Pacific/Kwajalein", | ||
|  | 			"Asia/Kamchatka|Pacific/Majuro", | ||
|  | 			"Asia/Kamchatka|Pacific/Nauru", | ||
|  | 			"Asia/Kamchatka|Pacific/Tarawa", | ||
|  | 			"Asia/Kamchatka|Pacific/Wake", | ||
|  | 			"Asia/Kamchatka|Pacific/Wallis", | ||
|  | 			"Asia/Kathmandu|Asia/Katmandu", | ||
|  | 			"Asia/Kolkata|Asia/Calcutta", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Brunei", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Choibalsan", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Irkutsk", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Kuching", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Singapore", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Ulaanbaatar", | ||
|  | 			"Asia/Kuala_Lumpur|Asia/Ulan_Bator", | ||
|  | 			"Asia/Kuala_Lumpur|Etc/GMT-8", | ||
|  | 			"Asia/Kuala_Lumpur|Singapore", | ||
|  | 			"Asia/Makassar|Asia/Ujung_Pandang", | ||
|  | 			"Asia/Rangoon|Asia/Yangon", | ||
|  | 			"Asia/Rangoon|Indian/Cocos", | ||
|  | 			"Asia/Sakhalin|Asia/Magadan", | ||
|  | 			"Asia/Sakhalin|Asia/Srednekolymsk", | ||
|  | 			"Asia/Sakhalin|Etc/GMT-11", | ||
|  | 			"Asia/Sakhalin|Pacific/Bougainville", | ||
|  | 			"Asia/Sakhalin|Pacific/Efate", | ||
|  | 			"Asia/Sakhalin|Pacific/Guadalcanal", | ||
|  | 			"Asia/Sakhalin|Pacific/Kosrae", | ||
|  | 			"Asia/Sakhalin|Pacific/Noumea", | ||
|  | 			"Asia/Sakhalin|Pacific/Pohnpei", | ||
|  | 			"Asia/Sakhalin|Pacific/Ponape", | ||
|  | 			"Asia/Seoul|ROK", | ||
|  | 			"Asia/Shanghai|Asia/Chongqing", | ||
|  | 			"Asia/Shanghai|Asia/Chungking", | ||
|  | 			"Asia/Shanghai|Asia/Harbin", | ||
|  | 			"Asia/Shanghai|Asia/Macao", | ||
|  | 			"Asia/Shanghai|Asia/Macau", | ||
|  | 			"Asia/Shanghai|Asia/Taipei", | ||
|  | 			"Asia/Shanghai|PRC", | ||
|  | 			"Asia/Shanghai|ROC", | ||
|  | 			"Asia/Tashkent|Antarctica/Mawson", | ||
|  | 			"Asia/Tashkent|Asia/Aqtau", | ||
|  | 			"Asia/Tashkent|Asia/Aqtobe", | ||
|  | 			"Asia/Tashkent|Asia/Ashgabat", | ||
|  | 			"Asia/Tashkent|Asia/Ashkhabad", | ||
|  | 			"Asia/Tashkent|Asia/Atyrau", | ||
|  | 			"Asia/Tashkent|Asia/Dushanbe", | ||
|  | 			"Asia/Tashkent|Asia/Oral", | ||
|  | 			"Asia/Tashkent|Asia/Samarkand", | ||
|  | 			"Asia/Tashkent|Asia/Yekaterinburg", | ||
|  | 			"Asia/Tashkent|Etc/GMT-5", | ||
|  | 			"Asia/Tashkent|Indian/Kerguelen", | ||
|  | 			"Asia/Tashkent|Indian/Maldives", | ||
|  | 			"Asia/Tehran|Iran", | ||
|  | 			"Asia/Tokyo|Japan", | ||
|  | 			"Asia/Vladivostok|Antarctica/DumontDUrville", | ||
|  | 			"Asia/Vladivostok|Asia/Ust-Nera", | ||
|  | 			"Asia/Vladivostok|Etc/GMT-10", | ||
|  | 			"Asia/Vladivostok|Pacific/Chuuk", | ||
|  | 			"Asia/Vladivostok|Pacific/Port_Moresby", | ||
|  | 			"Asia/Vladivostok|Pacific/Truk", | ||
|  | 			"Asia/Vladivostok|Pacific/Yap", | ||
|  | 			"Atlantic/Azores|America/Scoresbysund", | ||
|  | 			"Atlantic/Cape_Verde|Etc/GMT+1", | ||
|  | 			"Australia/Adelaide|Australia/Broken_Hill", | ||
|  | 			"Australia/Adelaide|Australia/South", | ||
|  | 			"Australia/Adelaide|Australia/Yancowinna", | ||
|  | 			"Australia/Brisbane|Australia/Lindeman", | ||
|  | 			"Australia/Brisbane|Australia/Queensland", | ||
|  | 			"Australia/Darwin|Australia/North", | ||
|  | 			"Australia/Lord_Howe|Australia/LHI", | ||
|  | 			"Australia/Perth|Australia/West", | ||
|  | 			"Australia/Sydney|Antarctica/Macquarie", | ||
|  | 			"Australia/Sydney|Australia/ACT", | ||
|  | 			"Australia/Sydney|Australia/Canberra", | ||
|  | 			"Australia/Sydney|Australia/Currie", | ||
|  | 			"Australia/Sydney|Australia/Hobart", | ||
|  | 			"Australia/Sydney|Australia/Melbourne", | ||
|  | 			"Australia/Sydney|Australia/NSW", | ||
|  | 			"Australia/Sydney|Australia/Tasmania", | ||
|  | 			"Australia/Sydney|Australia/Victoria", | ||
|  | 			"Etc/UTC|Etc/UCT", | ||
|  | 			"Etc/UTC|Etc/Universal", | ||
|  | 			"Etc/UTC|Etc/Zulu", | ||
|  | 			"Etc/UTC|UCT", | ||
|  | 			"Etc/UTC|UTC", | ||
|  | 			"Etc/UTC|Universal", | ||
|  | 			"Etc/UTC|Zulu", | ||
|  | 			"Europe/Athens|Asia/Famagusta", | ||
|  | 			"Europe/Athens|Asia/Nicosia", | ||
|  | 			"Europe/Athens|EET", | ||
|  | 			"Europe/Athens|Europe/Bucharest", | ||
|  | 			"Europe/Athens|Europe/Helsinki", | ||
|  | 			"Europe/Athens|Europe/Kiev", | ||
|  | 			"Europe/Athens|Europe/Kyiv", | ||
|  | 			"Europe/Athens|Europe/Mariehamn", | ||
|  | 			"Europe/Athens|Europe/Nicosia", | ||
|  | 			"Europe/Athens|Europe/Riga", | ||
|  | 			"Europe/Athens|Europe/Sofia", | ||
|  | 			"Europe/Athens|Europe/Tallinn", | ||
|  | 			"Europe/Athens|Europe/Uzhgorod", | ||
|  | 			"Europe/Athens|Europe/Vilnius", | ||
|  | 			"Europe/Athens|Europe/Zaporozhye", | ||
|  | 			"Europe/Chisinau|Europe/Tiraspol", | ||
|  | 			"Europe/Dublin|Eire", | ||
|  | 			"Europe/Istanbul|Antarctica/Syowa", | ||
|  | 			"Europe/Istanbul|Asia/Aden", | ||
|  | 			"Europe/Istanbul|Asia/Baghdad", | ||
|  | 			"Europe/Istanbul|Asia/Bahrain", | ||
|  | 			"Europe/Istanbul|Asia/Istanbul", | ||
|  | 			"Europe/Istanbul|Asia/Kuwait", | ||
|  | 			"Europe/Istanbul|Asia/Qatar", | ||
|  | 			"Europe/Istanbul|Asia/Riyadh", | ||
|  | 			"Europe/Istanbul|Etc/GMT-3", | ||
|  | 			"Europe/Istanbul|Europe/Minsk", | ||
|  | 			"Europe/Istanbul|Turkey", | ||
|  | 			"Europe/Lisbon|Atlantic/Canary", | ||
|  | 			"Europe/Lisbon|Atlantic/Faeroe", | ||
|  | 			"Europe/Lisbon|Atlantic/Faroe", | ||
|  | 			"Europe/Lisbon|Atlantic/Madeira", | ||
|  | 			"Europe/Lisbon|Portugal", | ||
|  | 			"Europe/Lisbon|WET", | ||
|  | 			"Europe/London|Europe/Belfast", | ||
|  | 			"Europe/London|Europe/Guernsey", | ||
|  | 			"Europe/London|Europe/Isle_of_Man", | ||
|  | 			"Europe/London|Europe/Jersey", | ||
|  | 			"Europe/London|GB", | ||
|  | 			"Europe/London|GB-Eire", | ||
|  | 			"Europe/Moscow|Europe/Kirov", | ||
|  | 			"Europe/Moscow|Europe/Simferopol", | ||
|  | 			"Europe/Moscow|W-SU", | ||
|  | 			"Europe/Paris|Africa/Ceuta", | ||
|  | 			"Europe/Paris|Arctic/Longyearbyen", | ||
|  | 			"Europe/Paris|Atlantic/Jan_Mayen", | ||
|  | 			"Europe/Paris|CET", | ||
|  | 			"Europe/Paris|Europe/Amsterdam", | ||
|  | 			"Europe/Paris|Europe/Andorra", | ||
|  | 			"Europe/Paris|Europe/Belgrade", | ||
|  | 			"Europe/Paris|Europe/Berlin", | ||
|  | 			"Europe/Paris|Europe/Bratislava", | ||
|  | 			"Europe/Paris|Europe/Brussels", | ||
|  | 			"Europe/Paris|Europe/Budapest", | ||
|  | 			"Europe/Paris|Europe/Busingen", | ||
|  | 			"Europe/Paris|Europe/Copenhagen", | ||
|  | 			"Europe/Paris|Europe/Gibraltar", | ||
|  | 			"Europe/Paris|Europe/Ljubljana", | ||
|  | 			"Europe/Paris|Europe/Luxembourg", | ||
|  | 			"Europe/Paris|Europe/Madrid", | ||
|  | 			"Europe/Paris|Europe/Malta", | ||
|  | 			"Europe/Paris|Europe/Monaco", | ||
|  | 			"Europe/Paris|Europe/Oslo", | ||
|  | 			"Europe/Paris|Europe/Podgorica", | ||
|  | 			"Europe/Paris|Europe/Prague", | ||
|  | 			"Europe/Paris|Europe/Rome", | ||
|  | 			"Europe/Paris|Europe/San_Marino", | ||
|  | 			"Europe/Paris|Europe/Sarajevo", | ||
|  | 			"Europe/Paris|Europe/Skopje", | ||
|  | 			"Europe/Paris|Europe/Stockholm", | ||
|  | 			"Europe/Paris|Europe/Tirane", | ||
|  | 			"Europe/Paris|Europe/Vaduz", | ||
|  | 			"Europe/Paris|Europe/Vatican", | ||
|  | 			"Europe/Paris|Europe/Vienna", | ||
|  | 			"Europe/Paris|Europe/Warsaw", | ||
|  | 			"Europe/Paris|Europe/Zagreb", | ||
|  | 			"Europe/Paris|Europe/Zurich", | ||
|  | 			"Europe/Paris|Poland", | ||
|  | 			"Pacific/Auckland|Antarctica/McMurdo", | ||
|  | 			"Pacific/Auckland|Antarctica/South_Pole", | ||
|  | 			"Pacific/Auckland|NZ", | ||
|  | 			"Pacific/Chatham|NZ-CHAT", | ||
|  | 			"Pacific/Easter|Chile/EasterIsland", | ||
|  | 			"Pacific/Galapagos|Etc/GMT+6", | ||
|  | 			"Pacific/Gambier|Etc/GMT+9", | ||
|  | 			"Pacific/Guam|Pacific/Saipan", | ||
|  | 			"Pacific/Honolulu|HST", | ||
|  | 			"Pacific/Honolulu|Pacific/Johnston", | ||
|  | 			"Pacific/Honolulu|US/Hawaii", | ||
|  | 			"Pacific/Kiritimati|Etc/GMT-14", | ||
|  | 			"Pacific/Niue|Etc/GMT+11", | ||
|  | 			"Pacific/Pago_Pago|Pacific/Midway", | ||
|  | 			"Pacific/Pago_Pago|Pacific/Samoa", | ||
|  | 			"Pacific/Pago_Pago|US/Samoa", | ||
|  | 			"Pacific/Pitcairn|Etc/GMT+8", | ||
|  | 			"Pacific/Tahiti|Etc/GMT+10", | ||
|  | 			"Pacific/Tahiti|Pacific/Rarotonga", | ||
|  | 			"Pacific/Tongatapu|Etc/GMT-13", | ||
|  | 			"Pacific/Tongatapu|Pacific/Enderbury", | ||
|  | 			"Pacific/Tongatapu|Pacific/Fakaofo", | ||
|  | 			"Pacific/Tongatapu|Pacific/Kanton" | ||
|  | 		], | ||
|  | 		"countries": [ | ||
|  | 			"AD|Europe/Andorra", | ||
|  | 			"AE|Asia/Dubai", | ||
|  | 			"AF|Asia/Kabul", | ||
|  | 			"AG|America/Puerto_Rico America/Antigua", | ||
|  | 			"AI|America/Puerto_Rico America/Anguilla", | ||
|  | 			"AL|Europe/Tirane", | ||
|  | 			"AM|Asia/Yerevan", | ||
|  | 			"AO|Africa/Lagos Africa/Luanda", | ||
|  | 			"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok", | ||
|  | 			"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia", | ||
|  | 			"AS|Pacific/Pago_Pago", | ||
|  | 			"AT|Europe/Vienna", | ||
|  | 			"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla", | ||
|  | 			"AW|America/Puerto_Rico America/Aruba", | ||
|  | 			"AX|Europe/Helsinki Europe/Mariehamn", | ||
|  | 			"AZ|Asia/Baku", | ||
|  | 			"BA|Europe/Belgrade Europe/Sarajevo", | ||
|  | 			"BB|America/Barbados", | ||
|  | 			"BD|Asia/Dhaka", | ||
|  | 			"BE|Europe/Brussels", | ||
|  | 			"BF|Africa/Abidjan Africa/Ouagadougou", | ||
|  | 			"BG|Europe/Sofia", | ||
|  | 			"BH|Asia/Qatar Asia/Bahrain", | ||
|  | 			"BI|Africa/Maputo Africa/Bujumbura", | ||
|  | 			"BJ|Africa/Lagos Africa/Porto-Novo", | ||
|  | 			"BL|America/Puerto_Rico America/St_Barthelemy", | ||
|  | 			"BM|Atlantic/Bermuda", | ||
|  | 			"BN|Asia/Kuching Asia/Brunei", | ||
|  | 			"BO|America/La_Paz", | ||
|  | 			"BQ|America/Puerto_Rico America/Kralendijk", | ||
|  | 			"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco", | ||
|  | 			"BS|America/Toronto America/Nassau", | ||
|  | 			"BT|Asia/Thimphu", | ||
|  | 			"BW|Africa/Maputo Africa/Gaborone", | ||
|  | 			"BY|Europe/Minsk", | ||
|  | 			"BZ|America/Belize", | ||
|  | 			"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston", | ||
|  | 			"CC|Asia/Yangon Indian/Cocos", | ||
|  | 			"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi", | ||
|  | 			"CF|Africa/Lagos Africa/Bangui", | ||
|  | 			"CG|Africa/Lagos Africa/Brazzaville", | ||
|  | 			"CH|Europe/Zurich", | ||
|  | 			"CI|Africa/Abidjan", | ||
|  | 			"CK|Pacific/Rarotonga", | ||
|  | 			"CL|America/Santiago America/Punta_Arenas Pacific/Easter", | ||
|  | 			"CM|Africa/Lagos Africa/Douala", | ||
|  | 			"CN|Asia/Shanghai Asia/Urumqi", | ||
|  | 			"CO|America/Bogota", | ||
|  | 			"CR|America/Costa_Rica", | ||
|  | 			"CU|America/Havana", | ||
|  | 			"CV|Atlantic/Cape_Verde", | ||
|  | 			"CW|America/Puerto_Rico America/Curacao", | ||
|  | 			"CX|Asia/Bangkok Indian/Christmas", | ||
|  | 			"CY|Asia/Nicosia Asia/Famagusta", | ||
|  | 			"CZ|Europe/Prague", | ||
|  | 			"DE|Europe/Zurich Europe/Berlin Europe/Busingen", | ||
|  | 			"DJ|Africa/Nairobi Africa/Djibouti", | ||
|  | 			"DK|Europe/Berlin Europe/Copenhagen", | ||
|  | 			"DM|America/Puerto_Rico America/Dominica", | ||
|  | 			"DO|America/Santo_Domingo", | ||
|  | 			"DZ|Africa/Algiers", | ||
|  | 			"EC|America/Guayaquil Pacific/Galapagos", | ||
|  | 			"EE|Europe/Tallinn", | ||
|  | 			"EG|Africa/Cairo", | ||
|  | 			"EH|Africa/El_Aaiun", | ||
|  | 			"ER|Africa/Nairobi Africa/Asmara", | ||
|  | 			"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary", | ||
|  | 			"ET|Africa/Nairobi Africa/Addis_Ababa", | ||
|  | 			"FI|Europe/Helsinki", | ||
|  | 			"FJ|Pacific/Fiji", | ||
|  | 			"FK|Atlantic/Stanley", | ||
|  | 			"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei", | ||
|  | 			"FO|Atlantic/Faroe", | ||
|  | 			"FR|Europe/Paris", | ||
|  | 			"GA|Africa/Lagos Africa/Libreville", | ||
|  | 			"GB|Europe/London", | ||
|  | 			"GD|America/Puerto_Rico America/Grenada", | ||
|  | 			"GE|Asia/Tbilisi", | ||
|  | 			"GF|America/Cayenne", | ||
|  | 			"GG|Europe/London Europe/Guernsey", | ||
|  | 			"GH|Africa/Abidjan Africa/Accra", | ||
|  | 			"GI|Europe/Gibraltar", | ||
|  | 			"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule", | ||
|  | 			"GM|Africa/Abidjan Africa/Banjul", | ||
|  | 			"GN|Africa/Abidjan Africa/Conakry", | ||
|  | 			"GP|America/Puerto_Rico America/Guadeloupe", | ||
|  | 			"GQ|Africa/Lagos Africa/Malabo", | ||
|  | 			"GR|Europe/Athens", | ||
|  | 			"GS|Atlantic/South_Georgia", | ||
|  | 			"GT|America/Guatemala", | ||
|  | 			"GU|Pacific/Guam", | ||
|  | 			"GW|Africa/Bissau", | ||
|  | 			"GY|America/Guyana", | ||
|  | 			"HK|Asia/Hong_Kong", | ||
|  | 			"HN|America/Tegucigalpa", | ||
|  | 			"HR|Europe/Belgrade Europe/Zagreb", | ||
|  | 			"HT|America/Port-au-Prince", | ||
|  | 			"HU|Europe/Budapest", | ||
|  | 			"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura", | ||
|  | 			"IE|Europe/Dublin", | ||
|  | 			"IL|Asia/Jerusalem", | ||
|  | 			"IM|Europe/London Europe/Isle_of_Man", | ||
|  | 			"IN|Asia/Kolkata", | ||
|  | 			"IO|Indian/Chagos", | ||
|  | 			"IQ|Asia/Baghdad", | ||
|  | 			"IR|Asia/Tehran", | ||
|  | 			"IS|Africa/Abidjan Atlantic/Reykjavik", | ||
|  | 			"IT|Europe/Rome", | ||
|  | 			"JE|Europe/London Europe/Jersey", | ||
|  | 			"JM|America/Jamaica", | ||
|  | 			"JO|Asia/Amman", | ||
|  | 			"JP|Asia/Tokyo", | ||
|  | 			"KE|Africa/Nairobi", | ||
|  | 			"KG|Asia/Bishkek", | ||
|  | 			"KH|Asia/Bangkok Asia/Phnom_Penh", | ||
|  | 			"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati", | ||
|  | 			"KM|Africa/Nairobi Indian/Comoro", | ||
|  | 			"KN|America/Puerto_Rico America/St_Kitts", | ||
|  | 			"KP|Asia/Pyongyang", | ||
|  | 			"KR|Asia/Seoul", | ||
|  | 			"KW|Asia/Riyadh Asia/Kuwait", | ||
|  | 			"KY|America/Panama America/Cayman", | ||
|  | 			"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral", | ||
|  | 			"LA|Asia/Bangkok Asia/Vientiane", | ||
|  | 			"LB|Asia/Beirut", | ||
|  | 			"LC|America/Puerto_Rico America/St_Lucia", | ||
|  | 			"LI|Europe/Zurich Europe/Vaduz", | ||
|  | 			"LK|Asia/Colombo", | ||
|  | 			"LR|Africa/Monrovia", | ||
|  | 			"LS|Africa/Johannesburg Africa/Maseru", | ||
|  | 			"LT|Europe/Vilnius", | ||
|  | 			"LU|Europe/Brussels Europe/Luxembourg", | ||
|  | 			"LV|Europe/Riga", | ||
|  | 			"LY|Africa/Tripoli", | ||
|  | 			"MA|Africa/Casablanca", | ||
|  | 			"MC|Europe/Paris Europe/Monaco", | ||
|  | 			"MD|Europe/Chisinau", | ||
|  | 			"ME|Europe/Belgrade Europe/Podgorica", | ||
|  | 			"MF|America/Puerto_Rico America/Marigot", | ||
|  | 			"MG|Africa/Nairobi Indian/Antananarivo", | ||
|  | 			"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro", | ||
|  | 			"MK|Europe/Belgrade Europe/Skopje", | ||
|  | 			"ML|Africa/Abidjan Africa/Bamako", | ||
|  | 			"MM|Asia/Yangon", | ||
|  | 			"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan", | ||
|  | 			"MO|Asia/Macau", | ||
|  | 			"MP|Pacific/Guam Pacific/Saipan", | ||
|  | 			"MQ|America/Martinique", | ||
|  | 			"MR|Africa/Abidjan Africa/Nouakchott", | ||
|  | 			"MS|America/Puerto_Rico America/Montserrat", | ||
|  | 			"MT|Europe/Malta", | ||
|  | 			"MU|Indian/Mauritius", | ||
|  | 			"MV|Indian/Maldives", | ||
|  | 			"MW|Africa/Maputo Africa/Blantyre", | ||
|  | 			"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana", | ||
|  | 			"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur", | ||
|  | 			"MZ|Africa/Maputo", | ||
|  | 			"NA|Africa/Windhoek", | ||
|  | 			"NC|Pacific/Noumea", | ||
|  | 			"NE|Africa/Lagos Africa/Niamey", | ||
|  | 			"NF|Pacific/Norfolk", | ||
|  | 			"NG|Africa/Lagos", | ||
|  | 			"NI|America/Managua", | ||
|  | 			"NL|Europe/Brussels Europe/Amsterdam", | ||
|  | 			"NO|Europe/Berlin Europe/Oslo", | ||
|  | 			"NP|Asia/Kathmandu", | ||
|  | 			"NR|Pacific/Nauru", | ||
|  | 			"NU|Pacific/Niue", | ||
|  | 			"NZ|Pacific/Auckland Pacific/Chatham", | ||
|  | 			"OM|Asia/Dubai Asia/Muscat", | ||
|  | 			"PA|America/Panama", | ||
|  | 			"PE|America/Lima", | ||
|  | 			"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier", | ||
|  | 			"PG|Pacific/Port_Moresby Pacific/Bougainville", | ||
|  | 			"PH|Asia/Manila", | ||
|  | 			"PK|Asia/Karachi", | ||
|  | 			"PL|Europe/Warsaw", | ||
|  | 			"PM|America/Miquelon", | ||
|  | 			"PN|Pacific/Pitcairn", | ||
|  | 			"PR|America/Puerto_Rico", | ||
|  | 			"PS|Asia/Gaza Asia/Hebron", | ||
|  | 			"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores", | ||
|  | 			"PW|Pacific/Palau", | ||
|  | 			"PY|America/Asuncion", | ||
|  | 			"QA|Asia/Qatar", | ||
|  | 			"RE|Asia/Dubai Indian/Reunion", | ||
|  | 			"RO|Europe/Bucharest", | ||
|  | 			"RS|Europe/Belgrade", | ||
|  | 			"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr", | ||
|  | 			"RW|Africa/Maputo Africa/Kigali", | ||
|  | 			"SA|Asia/Riyadh", | ||
|  | 			"SB|Pacific/Guadalcanal", | ||
|  | 			"SC|Asia/Dubai Indian/Mahe", | ||
|  | 			"SD|Africa/Khartoum", | ||
|  | 			"SE|Europe/Berlin Europe/Stockholm", | ||
|  | 			"SG|Asia/Singapore", | ||
|  | 			"SH|Africa/Abidjan Atlantic/St_Helena", | ||
|  | 			"SI|Europe/Belgrade Europe/Ljubljana", | ||
|  | 			"SJ|Europe/Berlin Arctic/Longyearbyen", | ||
|  | 			"SK|Europe/Prague Europe/Bratislava", | ||
|  | 			"SL|Africa/Abidjan Africa/Freetown", | ||
|  | 			"SM|Europe/Rome Europe/San_Marino", | ||
|  | 			"SN|Africa/Abidjan Africa/Dakar", | ||
|  | 			"SO|Africa/Nairobi Africa/Mogadishu", | ||
|  | 			"SR|America/Paramaribo", | ||
|  | 			"SS|Africa/Juba", | ||
|  | 			"ST|Africa/Sao_Tome", | ||
|  | 			"SV|America/El_Salvador", | ||
|  | 			"SX|America/Puerto_Rico America/Lower_Princes", | ||
|  | 			"SY|Asia/Damascus", | ||
|  | 			"SZ|Africa/Johannesburg Africa/Mbabane", | ||
|  | 			"TC|America/Grand_Turk", | ||
|  | 			"TD|Africa/Ndjamena", | ||
|  | 			"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen", | ||
|  | 			"TG|Africa/Abidjan Africa/Lome", | ||
|  | 			"TH|Asia/Bangkok", | ||
|  | 			"TJ|Asia/Dushanbe", | ||
|  | 			"TK|Pacific/Fakaofo", | ||
|  | 			"TL|Asia/Dili", | ||
|  | 			"TM|Asia/Ashgabat", | ||
|  | 			"TN|Africa/Tunis", | ||
|  | 			"TO|Pacific/Tongatapu", | ||
|  | 			"TR|Europe/Istanbul", | ||
|  | 			"TT|America/Puerto_Rico America/Port_of_Spain", | ||
|  | 			"TV|Pacific/Tarawa Pacific/Funafuti", | ||
|  | 			"TW|Asia/Taipei", | ||
|  | 			"TZ|Africa/Nairobi Africa/Dar_es_Salaam", | ||
|  | 			"UA|Europe/Simferopol Europe/Kyiv", | ||
|  | 			"UG|Africa/Nairobi Africa/Kampala", | ||
|  | 			"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake", | ||
|  | 			"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu", | ||
|  | 			"UY|America/Montevideo", | ||
|  | 			"UZ|Asia/Samarkand Asia/Tashkent", | ||
|  | 			"VA|Europe/Rome Europe/Vatican", | ||
|  | 			"VC|America/Puerto_Rico America/St_Vincent", | ||
|  | 			"VE|America/Caracas", | ||
|  | 			"VG|America/Puerto_Rico America/Tortola", | ||
|  | 			"VI|America/Puerto_Rico America/St_Thomas", | ||
|  | 			"VN|Asia/Bangkok Asia/Ho_Chi_Minh", | ||
|  | 			"VU|Pacific/Efate", | ||
|  | 			"WF|Pacific/Tarawa Pacific/Wallis", | ||
|  | 			"WS|Pacific/Apia", | ||
|  | 			"YE|Asia/Riyadh Asia/Aden", | ||
|  | 			"YT|Africa/Nairobi Indian/Mayotte", | ||
|  | 			"ZA|Africa/Johannesburg", | ||
|  | 			"ZM|Africa/Maputo Africa/Lusaka", | ||
|  | 			"ZW|Africa/Maputo Africa/Harare" | ||
|  | 		] | ||
|  | 	}); | ||
|  | 
 | ||
|  | 
 | ||
|  | 	return moment; | ||
|  | })); |