diff --git a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala index d2aa8a96aba84..ce8f9762751a0 100644 --- a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala +++ b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala @@ -34,6 +34,7 @@ import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions.{SpecificInternalRow, UnsafeArrayData} import org.apache.spark.sql.catalyst.util.{ArrayBasedMapData, ArrayData, DateTimeUtils, GenericArrayData} import org.apache.spark.sql.catalyst.util.DateTimeConstants.MILLIS_PER_DAY +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ import org.apache.spark.unsafe.types.UTF8String @@ -95,7 +96,7 @@ class AvroDeserializer(rootAvroType: Schema, rootCatalystType: DataType) { case (INT, DateType) if rebaseDateTime => (updater, ordinal, value) => val days = value.asInstanceOf[Int] - val rebasedDays = DateTimeUtils.rebaseJulianToGregorianDays(days) + val rebasedDays = rebaseJulianToGregorianDays(days) updater.setInt(ordinal, rebasedDays) case (INT, DateType) => (updater, ordinal, value) => @@ -110,7 +111,7 @@ class AvroDeserializer(rootAvroType: Schema, rootCatalystType: DataType) { case null | _: TimestampMillis if rebaseDateTime => (updater, ordinal, value) => val millis = value.asInstanceOf[Long] val micros = DateTimeUtils.fromMillis(millis) - val rebasedMicros = DateTimeUtils.rebaseJulianToGregorianMicros(micros) + val rebasedMicros = rebaseJulianToGregorianMicros(micros) updater.setLong(ordinal, rebasedMicros) case null | _: TimestampMillis => (updater, ordinal, value) => val millis = value.asInstanceOf[Long] @@ -118,7 +119,7 @@ class AvroDeserializer(rootAvroType: Schema, rootCatalystType: DataType) { updater.setLong(ordinal, micros) case _: TimestampMicros if rebaseDateTime => (updater, ordinal, value) => val micros = value.asInstanceOf[Long] - val rebasedMicros = DateTimeUtils.rebaseJulianToGregorianMicros(micros) + val rebasedMicros = rebaseJulianToGregorianMicros(micros) updater.setLong(ordinal, rebasedMicros) case _: TimestampMicros => (updater, ordinal, value) => val micros = value.asInstanceOf[Long] diff --git a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala index 7f454e2bf9491..350d7a3005316 100644 --- a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala +++ b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala @@ -35,6 +35,7 @@ import org.apache.spark.internal.Logging import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions.{SpecializedGetters, SpecificInternalRow} import org.apache.spark.sql.catalyst.util.DateTimeUtils +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ @@ -142,7 +143,7 @@ class AvroSerializer(rootCatalystType: DataType, rootAvroType: Schema, nullable: (getter, ordinal) => ByteBuffer.wrap(getter.getBinary(ordinal)) case (DateType, INT) if rebaseDateTime => - (getter, ordinal) => DateTimeUtils.rebaseGregorianToJulianDays(getter.getInt(ordinal)) + (getter, ordinal) => rebaseGregorianToJulianDays(getter.getInt(ordinal)) case (DateType, INT) => (getter, ordinal) => getter.getInt(ordinal) @@ -152,12 +153,12 @@ class AvroSerializer(rootCatalystType: DataType, rootAvroType: Schema, nullable: // (the `null` case), output the timestamp value as with millisecond precision. case null | _: TimestampMillis if rebaseDateTime => (getter, ordinal) => val micros = getter.getLong(ordinal) - val rebasedMicros = DateTimeUtils.rebaseGregorianToJulianMicros(micros) + val rebasedMicros = rebaseGregorianToJulianMicros(micros) DateTimeUtils.toMillis(rebasedMicros) case null | _: TimestampMillis => (getter, ordinal) => DateTimeUtils.toMillis(getter.getLong(ordinal)) case _: TimestampMicros if rebaseDateTime => (getter, ordinal) => - DateTimeUtils.rebaseGregorianToJulianMicros(getter.getLong(ordinal)) + rebaseGregorianToJulianMicros(getter.getLong(ordinal)) case _: TimestampMicros => (getter, ordinal) => getter.getLong(ordinal) case other => throw new IncompatibleSchemaException( s"Cannot convert Catalyst Timestamp type to Avro logical type ${other}") diff --git a/sql/catalyst/src/main/resources/gregorian-julian-rebase-micros.json b/sql/catalyst/src/main/resources/gregorian-julian-rebase-micros.json new file mode 100644 index 0000000000000..050aa02918fc3 --- /dev/null +++ b/sql/catalyst/src/main/resources/gregorian-julian-rebase-micros.json @@ -0,0 +1,2385 @@ +[ { + "tz" : "Africa/Abidjan", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Accra", + "switches" : [ -62135596748, -59006361548, -55850687948, -52695014348, -46383580748, -43227907148, -40072233548, -33760799948, -30605126348, -27449452748, -21138019148, -17982345548, -14826671948, -12219292748, -2208988800 ], + "diffs" : [ -172852, -86452, -52, 86348, 172748, 259148, 345548, 431948, 518348, 604748, 691148, 777548, 863948, -52, 0 ] +}, { + "tz" : "Africa/Addis_Ababa", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Algiers", + "switches" : [ -62135597532, -59006362332, -55850688732, -52695015132, -46383581532, -43227907932, -40072234332, -33760800732, -30605127132, -27449453532, -21138019932, -17982346332, -14826672732, -12219293532, -2486679072, -2208988800 ], + "diffs" : [ -175668, -89268, -2868, 83532, 169932, 256332, 342732, 429132, 515532, 601932, 688332, 774732, 861132, -2868, -3039, 0 ] +}, { + "tz" : "Africa/Asmara", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Asmera", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Bamako", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Bangui", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Banjul", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Bissau", + "switches" : [ -62135593060, -59006357860, -55850684260, -52695010660, -46383577060, -43227903460, -40072229860, -33760796260, -30605122660, -27449449060, -21138015460, -17982341860, -14826668260, -12219289060, -2208988800 ], + "diffs" : [ -176540, -90140, -3740, 82660, 169060, 255460, 341860, 428260, 514660, 601060, 687460, 773860, 860260, -3740, 0 ] +}, { + "tz" : "Africa/Blantyre", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Brazzaville", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Bujumbura", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Cairo", + "switches" : [ -62135604309, -59006369109, -55850695509, -52695021909, -46383588309, -43227914709, -40072241109, -33760807509, -30605133909, -27449460309, -21138026709, -17982353109, -14826679509, -12219300309, -2208988800 ], + "diffs" : [ -172491, -86091, 309, 86709, 173109, 259509, 345909, 432309, 518709, 605109, 691509, 777909, 864309, 309, 0 ] +}, { + "tz" : "Africa/Ceuta", + "switches" : [ -62135595524, -59006360324, -55850686724, -52695013124, -46383579524, -43227905924, -40072232324, -33760798724, -30605125124, -27449451524, -21138017924, -17982344324, -14826670724, -12219291524, -2208988800 ], + "diffs" : [ -177676, -91276, -4876, 81524, 167924, 254324, 340724, 427124, 513524, 599924, 686324, 772724, 859124, -4876, 0 ] +}, { + "tz" : "Africa/Conakry", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Dakar", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Dar_es_Salaam", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Djibouti", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Douala", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Freetown", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Gaborone", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Harare", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Johannesburg", + "switches" : [ -62135603520, -59006368320, -55850694720, -52695021120, -46383587520, -43227913920, -40072240320, -33760806720, -30605133120, -27449459520, -21138025920, -17982352320, -14826678720, -12219299520, -2458173120, -2208988800 ], + "diffs" : [ -173280, -86880, -480, 85920, 172320, 258720, 345120, 431520, 517920, 604320, 690720, 777120, 863520, -480, -1800, 0 ] +}, { + "tz" : "Africa/Juba", + "switches" : [ -62135604388, -59006369188, -55850695588, -52695021988, -46383588388, -43227914788, -40072241188, -33760807588, -30605133988, -27449460388, -21138026788, -17982353188, -14826679588, -12219300388, -2208988800 ], + "diffs" : [ -176012, -89612, -3212, 83188, 169588, 255988, 342388, 428788, 515188, 601588, 687988, 774388, 860788, -3212, 0 ] +}, { + "tz" : "Africa/Kampala", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Khartoum", + "switches" : [ -62135604608, -59006369408, -55850695808, -52695022208, -46383588608, -43227915008, -40072241408, -33760807808, -30605134208, -27449460608, -21138027008, -17982353408, -14826679808, -12219300608, -2208988800 ], + "diffs" : [ -172192, -85792, 608, 87008, 173408, 259808, 346208, 432608, 519008, 605408, 691808, 778208, 864608, 608, 0 ] +}, { + "tz" : "Africa/Kigali", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Kinshasa", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Lagos", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Libreville", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Lome", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Luanda", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Lubumbashi", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Lusaka", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Malabo", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Maputo", + "switches" : [ -62135604620, -59006369420, -55850695820, -52695022220, -46383588620, -43227915020, -40072241420, -33760807820, -30605134220, -27449460620, -21138027020, -17982353420, -14826679820, -12219300620, -2208988800 ], + "diffs" : [ -172180, -85780, 620, 87020, 173420, 259820, 346220, 432620, 519020, 605420, 691820, 778220, 864620, 620, 0 ] +}, { + "tz" : "Africa/Maseru", + "switches" : [ -62135603520, -59006368320, -55850694720, -52695021120, -46383587520, -43227913920, -40072240320, -33760806720, -30605133120, -27449459520, -21138025920, -17982352320, -14826678720, -12219299520, -2458173120, -2208988800 ], + "diffs" : [ -173280, -86880, -480, 85920, 172320, 258720, 345120, 431520, 517920, 604320, 690720, 777120, 863520, -480, -1800, 0 ] +}, { + "tz" : "Africa/Mbabane", + "switches" : [ -62135603520, -59006368320, -55850694720, -52695021120, -46383587520, -43227913920, -40072240320, -33760806720, -30605133120, -27449459520, -21138025920, -17982352320, -14826678720, -12219299520, -2458173120, -2208988800 ], + "diffs" : [ -173280, -86880, -480, 85920, 172320, 258720, 345120, 431520, 517920, 604320, 690720, 777120, 863520, -480, -1800, 0 ] +}, { + "tz" : "Africa/Mogadishu", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Monrovia", + "switches" : [ -62135594212, -59006359012, -55850685412, -52695011812, -46383578212, -43227904612, -40072231012, -33760797412, -30605123812, -27449450212, -21138016612, -17982343012, -14826669412, -12219290212, -2208988800 ], + "diffs" : [ -175388, -88988, -2588, 83812, 170212, 256612, 343012, 429412, 515812, 602212, 688612, 775012, 861412, -2588, 0 ] +}, { + "tz" : "Africa/Nairobi", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Africa/Ndjamena", + "switches" : [ -62135600412, -59006365212, -55850691612, -52695018012, -46383584412, -43227910812, -40072237212, -33760803612, -30605130012, -27449456412, -21138022812, -17982349212, -14826675612, -12219296412, -2208988800 ], + "diffs" : [ -172788, -86388, 12, 86412, 172812, 259212, 345612, 432012, 518412, 604812, 691212, 777612, 864012, 12, 0 ] +}, { + "tz" : "Africa/Niamey", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Nouakchott", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Ouagadougou", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Porto-Novo", + "switches" : [ -62135597616, -59006362416, -55850688816, -52695015216, -46383581616, -43227908016, -40072234416, -33760800816, -30605127216, -27449453616, -21138020016, -17982346416, -14826672816, -12219293616, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Africa/Sao_Tome", + "switches" : [ -62135598416, -59006363216, -55850689616, -52695016016, -46383582416, -43227908816, -40072235216, -33760801616, -30605128016, -27449454416, -21138020816, -17982347216, -14826673616, -12219294416, -2713912016, -2208988800 ], + "diffs" : [ -171184, -84784, 1616, 88016, 174416, 260816, 347216, 433616, 520016, 606416, 692816, 779216, 865616, 1616, -2205, 0 ] +}, { + "tz" : "Africa/Timbuktu", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Africa/Tripoli", + "switches" : [ -62135599964, -59006364764, -55850691164, -52695017564, -46383583964, -43227910364, -40072236764, -33760803164, -30605129564, -27449455964, -21138022364, -17982348764, -14826675164, -12219295964, -2208988800 ], + "diffs" : [ -176836, -90436, -4036, 82364, 168764, 255164, 341564, 427964, 514364, 600764, 687164, 773564, 859964, -4036, 0 ] +}, { + "tz" : "Africa/Tunis", + "switches" : [ -62135599244, -59006364044, -55850690444, -52695016844, -46383583244, -43227909644, -40072236044, -33760802444, -30605128844, -27449455244, -21138021644, -17982348044, -14826674444, -12219295244, -2797202444, -2208988800 ], + "diffs" : [ -173956, -87556, -1156, 85244, 171644, 258044, 344444, 430844, 517244, 603644, 690044, 776444, 862844, -1156, -3039, 0 ] +}, { + "tz" : "Africa/Windhoek", + "switches" : [ -62135600904, -59006365704, -55850692104, -52695018504, -46383584904, -43227911304, -40072237704, -33760804104, -30605130504, -27449456904, -21138023304, -17982349704, -14826676104, -12219296904, -2458170504, -2208988800 ], + "diffs" : [ -175896, -89496, -3096, 83304, 169704, 256104, 342504, 428904, 515304, 601704, 688104, 774504, 860904, -3096, -1800, 0 ] +}, { + "tz" : "America/Adak", + "switches" : [ -62135640802, -59006405602, -55850732002, -52695058402, -46383624802, -43227951202, -40072277602, -33760844002, -30605170402, -27449496802, -21138063202, -17982389602, -14826716002, -12219336802, -3225223727, -2208988800 ], + "diffs" : [ -92798, -6398, 80002, 166402, 252802, 339202, 425602, 512002, 598402, 684802, 771202, 857602, 944002, 80002, -6398, 0 ] +}, { + "tz" : "America/Anchorage", + "switches" : [ -62135647224, -59006412024, -55850738424, -52695064824, -46383631224, -43227957624, -40072284024, -33760850424, -30605176824, -27449503224, -21138069624, -17982396024, -14826722424, -12219343224, -3225223727, -2208988800 ], + "diffs" : [ -89976, -3576, 82824, 169224, 255624, 342024, 428424, 514824, 601224, 687624, 774024, 860424, 946824, 82824, -3576, 0 ] +}, { + "tz" : "America/Anguilla", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Antigua", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Araguaina", + "switches" : [ -62135585232, -59006350032, -55850676432, -52695002832, -46383569232, -43227895632, -40072222032, -33760788432, -30605114832, -27449441232, -21138007632, -17982334032, -14826660432, -12219281232, -2208988800 ], + "diffs" : [ -173568, -87168, -768, 85632, 172032, 258432, 344832, 431232, 517632, 604032, 690432, 776832, 863232, -768, 0 ] +}, { + "tz" : "America/Argentina/Buenos_Aires", + "switches" : [ -62135582772, -59006347572, -55850673972, -52695000372, -46383566772, -43227893172, -40072219572, -33760785972, -30605112372, -27449438772, -21138005172, -17982331572, -14826657972, -12219278772, -2372097972, -2208988800 ], + "diffs" : [ -176028, -89628, -3228, 83172, 169572, 255972, 342372, 428772, 515172, 601572, 687972, 774372, 860772, -3228, -4608, 0 ] +}, { + "tz" : "America/Argentina/Catamarca", + "switches" : [ -62135581012, -59006345812, -55850672212, -52694998612, -46383565012, -43227891412, -40072217812, -33760784212, -30605110612, -27449437012, -21138003412, -17982329812, -14826656212, -12219277012, -2372096212, -2208988800 ], + "diffs" : [ -177788, -91388, -4988, 81412, 167812, 254212, 340612, 427012, 513412, 599812, 686212, 772612, 859012, -4988, -4608, 0 ] +}, { + "tz" : "America/Argentina/ComodRivadavia", + "switches" : [ -62135581012, -59006345812, -55850672212, -52694998612, -46383565012, -43227891412, -40072217812, -33760784212, -30605110612, -27449437012, -21138003412, -17982329812, -14826656212, -12219277012, -2372096212, -2208988800 ], + "diffs" : [ -177788, -91388, -4988, 81412, 167812, 254212, 340612, 427012, 513412, 599812, 686212, 772612, 859012, -4988, -4608, 0 ] +}, { + "tz" : "America/Argentina/Cordoba", + "switches" : [ -62135581392, -59006346192, -55850672592, -52694998992, -46383565392, -43227891792, -40072218192, -33760784592, -30605110992, -27449437392, -21138003792, -17982330192, -14826656592, -12219277392, -2208988800 ], + "diffs" : [ -177408, -91008, -4608, 81792, 168192, 254592, 340992, 427392, 513792, 600192, 686592, 772992, 859392, -4608, 0 ] +}, { + "tz" : "America/Argentina/Jujuy", + "switches" : [ -62135581128, -59006345928, -55850672328, -52694998728, -46383565128, -43227891528, -40072217928, -33760784328, -30605110728, -27449437128, -21138003528, -17982329928, -14826656328, -12219277128, -2372096328, -2208988800 ], + "diffs" : [ -177672, -91272, -4872, 81528, 167928, 254328, 340728, 427128, 513528, 599928, 686328, 772728, 859128, -4872, -4608, 0 ] +}, { + "tz" : "America/Argentina/La_Rioja", + "switches" : [ -62135580756, -59006345556, -55850671956, -52694998356, -46383564756, -43227891156, -40072217556, -33760783956, -30605110356, -27449436756, -21138003156, -17982329556, -14826655956, -12219276756, -2372095956, -2208988800 ], + "diffs" : [ -178044, -91644, -5244, 81156, 167556, 253956, 340356, 426756, 513156, 599556, 685956, 772356, 858756, -5244, -4608, 0 ] +}, { + "tz" : "America/Argentina/Mendoza", + "switches" : [ -62135580284, -59006345084, -55850671484, -52694997884, -46383564284, -43227890684, -40072217084, -33760783484, -30605109884, -27449436284, -21138002684, -17982329084, -14826655484, -12219276284, -2372095484, -2208988800 ], + "diffs" : [ -178516, -92116, -5716, 80684, 167084, 253484, 339884, 426284, 512684, 599084, 685484, 771884, 858284, -5716, -4608, 0 ] +}, { + "tz" : "America/Argentina/Rio_Gallegos", + "switches" : [ -62135580188, -59006344988, -55850671388, -52694997788, -46383564188, -43227890588, -40072216988, -33760783388, -30605109788, -27449436188, -21138002588, -17982328988, -14826655388, -12219276188, -2372095388, -2208988800 ], + "diffs" : [ -178612, -92212, -5812, 80588, 166988, 253388, 339788, 426188, 512588, 598988, 685388, 771788, 858188, -5812, -4608, 0 ] +}, { + "tz" : "America/Argentina/Salta", + "switches" : [ -62135581100, -59006345900, -55850672300, -52694998700, -46383565100, -43227891500, -40072217900, -33760784300, -30605110700, -27449437100, -21138003500, -17982329900, -14826656300, -12219277100, -2372096300, -2208988800 ], + "diffs" : [ -177700, -91300, -4900, 81500, 167900, 254300, 340700, 427100, 513500, 599900, 686300, 772700, 859100, -4900, -4608, 0 ] +}, { + "tz" : "America/Argentina/San_Juan", + "switches" : [ -62135580356, -59006345156, -55850671556, -52694997956, -46383564356, -43227890756, -40072217156, -33760783556, -30605109956, -27449436356, -21138002756, -17982329156, -14826655556, -12219276356, -2372095556, -2208988800 ], + "diffs" : [ -178444, -92044, -5644, 80756, 167156, 253556, 339956, 426356, 512756, 599156, 685556, 771956, 858356, -5644, -4608, 0 ] +}, { + "tz" : "America/Argentina/San_Luis", + "switches" : [ -62135580876, -59006345676, -55850672076, -52694998476, -46383564876, -43227891276, -40072217676, -33760784076, -30605110476, -27449436876, -21138003276, -17982329676, -14826656076, -12219276876, -2372096076, -2208988800 ], + "diffs" : [ -177924, -91524, -5124, 81276, 167676, 254076, 340476, 426876, 513276, 599676, 686076, 772476, 858876, -5124, -4608, 0 ] +}, { + "tz" : "America/Argentina/Tucuman", + "switches" : [ -62135581148, -59006345948, -55850672348, -52694998748, -46383565148, -43227891548, -40072217948, -33760784348, -30605110748, -27449437148, -21138003548, -17982329948, -14826656348, -12219277148, -2372096348, -2208988800 ], + "diffs" : [ -177652, -91252, -4852, 81548, 167948, 254348, 340748, 427148, 513548, 599948, 686348, 772748, 859148, -4852, -4608, 0 ] +}, { + "tz" : "America/Argentina/Ushuaia", + "switches" : [ -62135580408, -59006345208, -55850671608, -52694998008, -46383564408, -43227890808, -40072217208, -33760783608, -30605110008, -27449436408, -21138002808, -17982329208, -14826655608, -12219276408, -2372095608, -2208988800 ], + "diffs" : [ -178392, -91992, -5592, 80808, 167208, 253608, 340008, 426408, 512808, 599208, 685608, 772008, 858408, -5592, -4608, 0 ] +}, { + "tz" : "America/Aruba", + "switches" : [ -62135580253, -59006345053, -55850671453, -52694997853, -46383564253, -43227890653, -40072217053, -33760783453, -30605109853, -27449436253, -21138002653, -17982329053, -14826655453, -12219276253, -2208988800 ], + "diffs" : [ -174947, -88547, -2147, 84253, 170653, 257053, 343453, 429853, 516253, 602653, 689053, 775453, 861853, -2147, 0 ] +}, { + "tz" : "America/Asuncion", + "switches" : [ -62135582960, -59006347760, -55850674160, -52695000560, -46383566960, -43227893360, -40072219760, -33760786160, -30605112560, -27449438960, -21138005360, -17982331760, -14826658160, -12219278960, -2208988800 ], + "diffs" : [ -172240, -85840, 560, 86960, 173360, 259760, 346160, 432560, 518960, 605360, 691760, 778160, 864560, 560, 0 ] +}, { + "tz" : "America/Atikokan", + "switches" : [ -62135574812, -59006339612, -55850666012, -52694992412, -46383558812, -43227885212, -40072211612, -33760778012, -30605104412, -27449430812, -21137997212, -17982323612, -14826650012, -12219270812, -2366733212, -2208988800 ], + "diffs" : [ -176788, -90388, -3988, 82412, 168812, 255212, 341612, 428012, 514412, 600812, 687212, 773612, 860012, -3988, -3600, 0 ] +}, { + "tz" : "America/Atka", + "switches" : [ -62135640802, -59006405602, -55850732002, -52695058402, -46383624802, -43227951202, -40072277602, -33760844002, -30605170402, -27449496802, -21138063202, -17982389602, -14826716002, -12219336802, -3225223727, -2208988800 ], + "diffs" : [ -92798, -6398, 80002, 166402, 252802, 339202, 425602, 512002, 598402, 684802, 771202, 857602, 944002, 80002, -6398, 0 ] +}, { + "tz" : "America/Bahia", + "switches" : [ -62135587556, -59006352356, -55850678756, -52695005156, -46383571556, -43227897956, -40072224356, -33760790756, -30605117156, -27449443556, -21138009956, -17982336356, -14826662756, -12219283556, -2208988800 ], + "diffs" : [ -171244, -84844, 1556, 87956, 174356, 260756, 347156, 433556, 519956, 606356, 692756, 779156, 865556, 1556, 0 ] +}, { + "tz" : "America/Bahia_Banderas", + "switches" : [ -62135571540, -59006336340, -55850662740, -52694989140, -46383555540, -43227881940, -40072208340, -33760774740, -30605101140, -27449427540, -21137993940, -17982320340, -14826646740, -12219267540, -2208988800 ], + "diffs" : [ -176460, -90060, -3660, 82740, 169140, 255540, 341940, 428340, 514740, 601140, 687540, 773940, 860340, -3660, 0 ] +}, { + "tz" : "America/Barbados", + "switches" : [ -62135582491, -59006347291, -55850673691, -52695000091, -46383566491, -43227892891, -40072219291, -33760785691, -30605112091, -27449438491, -21138004891, -17982331291, -14826657691, -12219278491, -2208988800 ], + "diffs" : [ -172709, -86309, 91, 86491, 172891, 259291, 345691, 432091, 518491, 604891, 691291, 777691, 864091, 91, 0 ] +}, { + "tz" : "America/Belem", + "switches" : [ -62135585164, -59006349964, -55850676364, -52695002764, -46383569164, -43227895564, -40072221964, -33760788364, -30605114764, -27449441164, -21138007564, -17982333964, -14826660364, -12219281164, -2208988800 ], + "diffs" : [ -173636, -87236, -836, 85564, 171964, 258364, 344764, 431164, 517564, 603964, 690364, 776764, 863164, -836, 0 ] +}, { + "tz" : "America/Belize", + "switches" : [ -62135575632, -59006340432, -55850666832, -52694993232, -46383559632, -43227886032, -40072212432, -33760778832, -30605105232, -27449431632, -21137998032, -17982324432, -14826650832, -12219271632, -2208988800 ], + "diffs" : [ -172368, -85968, 432, 86832, 173232, 259632, 346032, 432432, 518832, 605232, 691632, 778032, 864432, 432, 0 ] +}, { + "tz" : "America/Blanc-Sablon", + "switches" : [ -62135583092, -59006347892, -55850674292, -52695000692, -46383567092, -43227893492, -40072219892, -33760786292, -30605112692, -27449439092, -21138005492, -17982331892, -14826658292, -12219279092, -2713896692 ], + "diffs" : [ -172108, -85708, 692, 87092, 173492, 259892, 346292, 432692, 519092, 605492, 691892, 778292, 864692, 692, 0 ] +}, { + "tz" : "America/Boa_Vista", + "switches" : [ -62135582240, -59006347040, -55850673440, -52694999840, -46383566240, -43227892640, -40072219040, -33760785440, -30605111840, -27449438240, -21138004640, -17982331040, -14826657440, -12219278240, -2208988800 ], + "diffs" : [ -172960, -86560, -160, 86240, 172640, 259040, 345440, 431840, 518240, 604640, 691040, 777440, 863840, -160, 0 ] +}, { + "tz" : "America/Bogota", + "switches" : [ -62135579024, -59006343824, -55850670224, -52694996624, -46383563024, -43227889424, -40072215824, -33760782224, -30605108624, -27449435024, -21138001424, -17982327824, -14826654224, -12219275024, -2208988800 ], + "diffs" : [ -172576, -86176, 224, 86624, 173024, 259424, 345824, 432224, 518624, 605024, 691424, 777824, 864224, 224, 0 ] +}, { + "tz" : "America/Boise", + "switches" : [ -62135568911, -59006333711, -55850660111, -52694986511, -46383552911, -43227879311, -40072205711, -33760772111, -30605098511, -27449424911, -21137991311, -17982317711, -14826644111, -12219264911, -2717640000, -2208988800 ], + "diffs" : [ -175489, -89089, -2689, 83711, 170111, 256511, 342911, 429311, 515711, 602111, 688511, 774911, 861311, -2689, -3600, 0 ] +}, { + "tz" : "America/Buenos_Aires", + "switches" : [ -62135582772, -59006347572, -55850673972, -52695000372, -46383566772, -43227893172, -40072219572, -33760785972, -30605112372, -27449438772, -21138005172, -17982331572, -14826657972, -12219278772, -2372097972, -2208988800 ], + "diffs" : [ -176028, -89628, -3228, 83172, 169572, 255972, 342372, 428772, 515172, 601572, 687972, 774372, 860772, -3228, -4608, 0 ] +}, { + "tz" : "America/Cambridge_Bay", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -147600, -61200, 25200, 111600, 198000, 284400, 370800, 457200, 543600, 630000, 716400, 802800, 889200, 25200, 0 ] +}, { + "tz" : "America/Campo_Grande", + "switches" : [ -62135583692, -59006348492, -55850674892, -52695001292, -46383567692, -43227894092, -40072220492, -33760786892, -30605113292, -27449439692, -21138006092, -17982332492, -14826658892, -12219279692, -2208988800 ], + "diffs" : [ -171508, -85108, 1292, 87692, 174092, 260492, 346892, 433292, 519692, 606092, 692492, 778892, 865292, 1292, 0 ] +}, { + "tz" : "America/Cancun", + "switches" : [ -62135575976, -59006340776, -55850667176, -52694993576, -46383559976, -43227886376, -40072212776, -33760779176, -30605105576, -27449431976, -21137998376, -17982324776, -14826651176, -12219271976, -2208988800 ], + "diffs" : [ -175624, -89224, -2824, 83576, 169976, 256376, 342776, 429176, 515576, 601976, 688376, 774776, 861176, -2824, 0 ] +}, { + "tz" : "America/Caracas", + "switches" : [ -62135580736, -59006345536, -55850671936, -52694998336, -46383564736, -43227891136, -40072217536, -33760783936, -30605110336, -27449436736, -21138003136, -17982329536, -14826655936, -12219276736, -2524505536, -2208988800 ], + "diffs" : [ -174464, -88064, -1664, 84736, 171136, 257536, 343936, 430336, 516736, 603136, 689536, 775936, 862336, -1664, -1660, 0 ] +}, { + "tz" : "America/Catamarca", + "switches" : [ -62135581012, -59006345812, -55850672212, -52694998612, -46383565012, -43227891412, -40072217812, -33760784212, -30605110612, -27449437012, -21138003412, -17982329812, -14826656212, -12219277012, -2372096212, -2208988800 ], + "diffs" : [ -177788, -91388, -4988, 81412, 167812, 254212, 340612, 427012, 513412, 599812, 686212, 772612, 859012, -4988, -4608, 0 ] +}, { + "tz" : "America/Cayenne", + "switches" : [ -62135584240, -59006349040, -55850675440, -52695001840, -46383568240, -43227894640, -40072221040, -33760787440, -30605113840, -27449440240, -21138006640, -17982333040, -14826659440, -12219280240, -2208988800 ], + "diffs" : [ -174560, -88160, -1760, 84640, 171040, 257440, 343840, 430240, 516640, 603040, 689440, 775840, 862240, -1760, 0 ] +}, { + "tz" : "America/Cayman", + "switches" : [ -62135577712, -59006342512, -55850668912, -52694995312, -46383561712, -43227888112, -40072214512, -33760780912, -30605107312, -27449433712, -21138000112, -17982326512, -14826652912, -12219273712, -2524502512, -2208988800 ], + "diffs" : [ -173888, -87488, -1088, 85312, 171712, 258112, 344512, 430912, 517312, 603712, 690112, 776512, 862912, -1088, -1176, 0 ] +}, { + "tz" : "America/Chicago", + "switches" : [ -62135575764, -59006340564, -55850666964, -52694993364, -46383559764, -43227886164, -40072212564, -33760778964, -30605105364, -27449431764, -21137998164, -17982324564, -14826650964, -12219271764, -2717647200 ], + "diffs" : [ -172236, -85836, 564, 86964, 173364, 259764, 346164, 432564, 518964, 605364, 691764, 778164, 864564, 564, 0 ] +}, { + "tz" : "America/Chihuahua", + "switches" : [ -62135571340, -59006336140, -55850662540, -52694988940, -46383555340, -43227881740, -40072208140, -33760774540, -30605100940, -27449427340, -21137993740, -17982320140, -14826646540, -12219267340, -2208988800 ], + "diffs" : [ -173060, -86660, -260, 86140, 172540, 258940, 345340, 431740, 518140, 604540, 690940, 777340, 863740, -260, 0 ] +}, { + "tz" : "America/Coral_Harbour", + "switches" : [ -62135574812, -59006339612, -55850666012, -52694992412, -46383558812, -43227885212, -40072211612, -33760778012, -30605104412, -27449430812, -21137997212, -17982323612, -14826650012, -12219270812, -2366733212, -2208988800 ], + "diffs" : [ -176788, -90388, -3988, 82412, 168812, 255212, 341612, 428012, 514412, 600812, 687212, 773612, 860012, -3988, -3600, 0 ] +}, { + "tz" : "America/Cordoba", + "switches" : [ -62135581392, -59006346192, -55850672592, -52694998992, -46383565392, -43227891792, -40072218192, -33760784592, -30605110992, -27449437392, -21138003792, -17982330192, -14826656592, -12219277392, -2208988800 ], + "diffs" : [ -177408, -91008, -4608, 81792, 168192, 254592, 340992, 427392, 513792, 600192, 686592, 772992, 859392, -4608, 0 ] +}, { + "tz" : "America/Costa_Rica", + "switches" : [ -62135576627, -59006341427, -55850667827, -52694994227, -46383560627, -43227887027, -40072213427, -33760779827, -30605106227, -27449432627, -21137999027, -17982325427, -14826651827, -12219272627, -2208988800 ], + "diffs" : [ -171373, -84973, 1427, 87827, 174227, 260627, 347027, 433427, 519827, 606227, 692627, 779027, 865427, 1427, 0 ] +}, { + "tz" : "America/Creston", + "switches" : [ -62135568836, -59006333636, -55850660036, -52694986436, -46383552836, -43227879236, -40072205636, -33760772036, -30605098436, -27449424836, -21137991236, -17982317636, -14826644036, -12219264836, -2713882436 ], + "diffs" : [ -175564, -89164, -2764, 83636, 170036, 256436, 342836, 429236, 515636, 602036, 688436, 774836, 861236, -2764, 0 ] +}, { + "tz" : "America/Cuiaba", + "switches" : [ -62135583340, -59006348140, -55850674540, -52695000940, -46383567340, -43227893740, -40072220140, -33760786540, -30605112940, -27449439340, -21138005740, -17982332140, -14826658540, -12219279340, -2208988800 ], + "diffs" : [ -171860, -85460, 940, 87340, 173740, 260140, 346540, 432940, 519340, 605740, 692140, 778540, 864940, 940, 0 ] +}, { + "tz" : "America/Curacao", + "switches" : [ -62135580253, -59006345053, -55850671453, -52694997853, -46383564253, -43227890653, -40072217053, -33760783453, -30605109853, -27449436253, -21138002653, -17982329053, -14826655453, -12219276253, -2208988800 ], + "diffs" : [ -174947, -88547, -2147, 84253, 170653, 257053, 343453, 429853, 516253, 602653, 689053, 775453, 861853, -2147, 0 ] +}, { + "tz" : "America/Danmarkshavn", + "switches" : [ -62135592320, -59006357120, -55850683520, -52695009920, -46383576320, -43227902720, -40072229120, -33760795520, -30605121920, -27449448320, -21138014720, -17982341120, -14826667520, -12219288320, -2208988800 ], + "diffs" : [ -177280, -90880, -4480, 81920, 168320, 254720, 341120, 427520, 513920, 600320, 686720, 773120, 859520, -4480, 0 ] +}, { + "tz" : "America/Dawson", + "switches" : [ -62135563340, -59006328140, -55850654540, -52694980940, -46383547340, -43227873740, -40072200140, -33760766540, -30605092940, -27449419340, -21137985740, -17982312140, -14826638540, -12219259340, -2208988800 ], + "diffs" : [ -177460, -91060, -4660, 81740, 168140, 254540, 340940, 427340, 513740, 600140, 686540, 772940, 859340, -4660, 0 ] +}, { + "tz" : "America/Dawson_Creek", + "switches" : [ -62135567944, -59006332744, -55850659144, -52694985544, -46383551944, -43227878344, -40072204744, -33760771144, -30605097544, -27449423944, -21137990344, -17982316744, -14826643144, -12219263944, -2713881544, -2208988800 ], + "diffs" : [ -176456, -90056, -3656, 82744, 169144, 255544, 341944, 428344, 514744, 601144, 687544, 773944, 860344, -3656, -3600, 0 ] +}, { + "tz" : "America/Denver", + "switches" : [ -62135571604, -59006336404, -55850662804, -52694989204, -46383555604, -43227882004, -40072208404, -33760774804, -30605101204, -27449427604, -21137994004, -17982320404, -14826646804, -12219267604, -2717643600 ], + "diffs" : [ -172796, -86396, 4, 86404, 172804, 259204, 345604, 432004, 518404, 604804, 691204, 777604, 864004, 4, 0 ] +}, { + "tz" : "America/Detroit", + "switches" : [ -62135576869, -59006341669, -55850668069, -52694994469, -46383560869, -43227887269, -40072213669, -33760780069, -30605106469, -27449432869, -21137999269, -17982325669, -14826652069, -12219272869, -2208988800 ], + "diffs" : [ -174731, -88331, -1931, 84469, 170869, 257269, 343669, 430069, 516469, 602869, 689269, 775669, 862069, -1931, 0 ] +}, { + "tz" : "America/Dominica", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Edmonton", + "switches" : [ -62135569568, -59006334368, -55850660768, -52694987168, -46383553568, -43227879968, -40072206368, -33760772768, -30605099168, -27449425568, -21137991968, -17982318368, -14826644768, -12219265568, -2208988800 ], + "diffs" : [ -174832, -88432, -2032, 84368, 170768, 257168, 343568, 429968, 516368, 602768, 689168, 775568, 861968, -2032, 0 ] +}, { + "tz" : "America/Eirunepe", + "switches" : [ -62135580032, -59006344832, -55850671232, -52694997632, -46383564032, -43227890432, -40072216832, -33760783232, -30605109632, -27449436032, -21138002432, -17982328832, -14826655232, -12219276032, -2208988800 ], + "diffs" : [ -171568, -85168, 1232, 87632, 174032, 260432, 346832, 433232, 519632, 606032, 692432, 778832, 865232, 1232, 0 ] +}, { + "tz" : "America/El_Salvador", + "switches" : [ -62135575392, -59006340192, -55850666592, -52694992992, -46383559392, -43227885792, -40072212192, -33760778592, -30605104992, -27449431392, -21137997792, -17982324192, -14826650592, -12219271392, -2208988800 ], + "diffs" : [ -172608, -86208, 192, 86592, 172992, 259392, 345792, 432192, 518592, 604992, 691392, 777792, 864192, 192, 0 ] +}, { + "tz" : "America/Ensenada", + "switches" : [ -62135568716, -59006333516, -55850659916, -52694986316, -46383552716, -43227879116, -40072205516, -33760771916, -30605098316, -27449424716, -21137991116, -17982317516, -14826643916, -12219264716, -2208988800 ], + "diffs" : [ -172084, -85684, 716, 87116, 173516, 259916, 346316, 432716, 519116, 605516, 691916, 778316, 864716, 716, 0 ] +}, { + "tz" : "America/Fort_Nelson", + "switches" : [ -62135567353, -59006332153, -55850658553, -52694984953, -46383551353, -43227877753, -40072204153, -33760770553, -30605096953, -27449423353, -21137989753, -17982316153, -14826642553, -12219263353, -2713880953, -2208988800 ], + "diffs" : [ -177047, -90647, -4247, 82153, 168553, 254953, 341353, 427753, 514153, 600553, 686953, 773353, 859753, -4247, -3600, 0 ] +}, { + "tz" : "America/Fort_Wayne", + "switches" : [ -62135576122, -59006340922, -55850667322, -52694993722, -46383560122, -43227886522, -40072212922, -33760779322, -30605105722, -27449432122, -21137998522, -17982324922, -14826651322, -12219272122, -2717647200, -2208988800 ], + "diffs" : [ -175478, -89078, -2678, 83722, 170122, 256522, 342922, 429322, 515722, 602122, 688522, 774922, 861322, -2678, -3600, 0 ] +}, { + "tz" : "America/Fortaleza", + "switches" : [ -62135587560, -59006352360, -55850678760, -52695005160, -46383571560, -43227897960, -40072224360, -33760790760, -30605117160, -27449443560, -21138009960, -17982336360, -14826662760, -12219283560, -2208988800 ], + "diffs" : [ -171240, -84840, 1560, 87960, 174360, 260760, 347160, 433560, 519960, 606360, 692760, 779160, 865560, 1560, 0 ] +}, { + "tz" : "America/Glace_Bay", + "switches" : [ -62135582412, -59006347212, -55850673612, -52695000012, -46383566412, -43227892812, -40072219212, -33760785612, -30605112012, -27449438412, -21138004812, -17982331212, -14826657612, -12219278412, -2208988800 ], + "diffs" : [ -172788, -86388, 12, 86412, 172812, 259212, 345612, 432012, 518412, 604812, 691212, 777612, 864012, 12, 0 ] +}, { + "tz" : "America/Godthab", + "switches" : [ -62135584384, -59006349184, -55850675584, -52695001984, -46383568384, -43227894784, -40072221184, -33760787584, -30605113984, -27449440384, -21138006784, -17982333184, -14826659584, -12219280384, -2208988800 ], + "diffs" : [ -174416, -88016, -1616, 84784, 171184, 257584, 343984, 430384, 516784, 603184, 689584, 775984, 862384, -1616, 0 ] +}, { + "tz" : "America/Goose_Bay", + "switches" : [ -62135582300, -59006347100, -55850673500, -52694999900, -46383566300, -43227892700, -40072219100, -33760785500, -30605111900, -27449438300, -21138004700, -17982331100, -14826657500, -12219278300, -2713895900, -2208988800 ], + "diffs" : [ -172900, -86500, -100, 86300, 172700, 259100, 345500, 431900, 518300, 604700, 691100, 777500, 863900, -100, 1748, 0 ] +}, { + "tz" : "America/Grand_Turk", + "switches" : [ -62135579728, -59006344528, -55850670928, -52694997328, -46383563728, -43227890128, -40072216528, -33760782928, -30605109328, -27449435728, -21138002128, -17982328528, -14826654928, -12219275728, -2524504528, -2208988800 ], + "diffs" : [ -171872, -85472, 928, 87328, 173728, 260128, 346528, 432928, 519328, 605728, 692128, 778528, 864928, 928, -430, 0 ] +}, { + "tz" : "America/Grenada", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Guadeloupe", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Guatemala", + "switches" : [ -62135575076, -59006339876, -55850666276, -52694992676, -46383559076, -43227885476, -40072211876, -33760778276, -30605104676, -27449431076, -21137997476, -17982323876, -14826650276, -12219271076, -2208988800 ], + "diffs" : [ -172924, -86524, -124, 86276, 172676, 259076, 345476, 431876, 518276, 604676, 691076, 777476, 863876, -124, 0 ] +}, { + "tz" : "America/Guayaquil", + "switches" : [ -62135577640, -59006342440, -55850668840, -52694995240, -46383561640, -43227888040, -40072214440, -33760780840, -30605107240, -27449433640, -21138000040, -17982326440, -14826652840, -12219273640, -2524502440, -2208988800 ], + "diffs" : [ -173960, -87560, -1160, 85240, 171640, 258040, 344440, 430840, 517240, 603640, 690040, 776440, 862840, -1160, -840, 0 ] +}, { + "tz" : "America/Guyana", + "switches" : [ -62135582840, -59006347640, -55850674040, -52695000440, -46383566840, -43227893240, -40072219640, -33760786040, -30605112440, -27449438840, -21138005240, -17982331640, -14826658040, -12219278840, -2208988800 ], + "diffs" : [ -172360, -85960, 440, 86840, 173240, 259640, 346040, 432440, 518840, 605240, 691640, 778040, 864440, 440, 0 ] +}, { + "tz" : "America/Halifax", + "switches" : [ -62135581536, -59006346336, -55850672736, -52694999136, -46383565536, -43227891936, -40072218336, -33760784736, -30605111136, -27449437536, -21138003936, -17982330336, -14826656736, -12219277536, -2208988800 ], + "diffs" : [ -173664, -87264, -864, 85536, 171936, 258336, 344736, 431136, 517536, 603936, 690336, 776736, 863136, -864, 0 ] +}, { + "tz" : "America/Havana", + "switches" : [ -62135577032, -59006341832, -55850668232, -52694994632, -46383561032, -43227887432, -40072213832, -33760780232, -30605106632, -27449433032, -21137999432, -17982325832, -14826652232, -12219273032, -2524501832, -2208988800 ], + "diffs" : [ -174568, -88168, -1768, 84632, 171032, 257432, 343832, 430232, 516632, 603032, 689432, 775832, 862232, -1768, -1776, 0 ] +}, { + "tz" : "America/Hermosillo", + "switches" : [ -62135570168, -59006334968, -55850661368, -52694987768, -46383554168, -43227880568, -40072206968, -33760773368, -30605099768, -27449426168, -21137992568, -17982318968, -14826645368, -12219266168, -2208988800 ], + "diffs" : [ -174232, -87832, -1432, 84968, 171368, 257768, 344168, 430568, 516968, 603368, 689768, 776168, 862568, -1432, 0 ] +}, { + "tz" : "America/Indiana/Indianapolis", + "switches" : [ -62135576122, -59006340922, -55850667322, -52694993722, -46383560122, -43227886522, -40072212922, -33760779322, -30605105722, -27449432122, -21137998522, -17982324922, -14826651322, -12219272122, -2717647200, -2208988800 ], + "diffs" : [ -175478, -89078, -2678, 83722, 170122, 256522, 342922, 429322, 515722, 602122, 688522, 774922, 861322, -2678, -3600, 0 ] +}, { + "tz" : "America/Indiana/Knox", + "switches" : [ -62135576010, -59006340810, -55850667210, -52694993610, -46383560010, -43227886410, -40072212810, -33760779210, -30605105610, -27449432010, -21137998410, -17982324810, -14826651210, -12219272010, -2717647200 ], + "diffs" : [ -171990, -85590, 810, 87210, 173610, 260010, 346410, 432810, 519210, 605610, 692010, 778410, 864810, 810, 0 ] +}, { + "tz" : "America/Indiana/Marengo", + "switches" : [ -62135576077, -59006340877, -55850667277, -52694993677, -46383560077, -43227886477, -40072212877, -33760779277, -30605105677, -27449432077, -21137998477, -17982324877, -14826651277, -12219272077, -2717647200, -2208988800 ], + "diffs" : [ -175523, -89123, -2723, 83677, 170077, 256477, 342877, 429277, 515677, 602077, 688477, 774877, 861277, -2723, -3600, 0 ] +}, { + "tz" : "America/Indiana/Petersburg", + "switches" : [ -62135575853, -59006340653, -55850667053, -52694993453, -46383559853, -43227886253, -40072212653, -33760779053, -30605105453, -27449431853, -21137998253, -17982324653, -14826651053, -12219271853, -2717647200, -2208988800 ], + "diffs" : [ -175747, -89347, -2947, 83453, 169853, 256253, 342653, 429053, 515453, 601853, 688253, 774653, 861053, -2947, -3600, 0 ] +}, { + "tz" : "America/Indiana/Tell_City", + "switches" : [ -62135575977, -59006340777, -55850667177, -52694993577, -46383559977, -43227886377, -40072212777, -33760779177, -30605105577, -27449431977, -21137998377, -17982324777, -14826651177, -12219271977, -2717647200 ], + "diffs" : [ -172023, -85623, 777, 87177, 173577, 259977, 346377, 432777, 519177, 605577, 691977, 778377, 864777, 777, 0 ] +}, { + "tz" : "America/Indiana/Vevay", + "switches" : [ -62135576384, -59006341184, -55850667584, -52694993984, -46383560384, -43227886784, -40072213184, -33760779584, -30605105984, -27449432384, -21137998784, -17982325184, -14826651584, -12219272384, -2717647200, -2208988800 ], + "diffs" : [ -175216, -88816, -2416, 83984, 170384, 256784, 343184, 429584, 515984, 602384, 688784, 775184, 861584, -2416, -3600, 0 ] +}, { + "tz" : "America/Indiana/Vincennes", + "switches" : [ -62135575793, -59006340593, -55850666993, -52694993393, -46383559793, -43227886193, -40072212593, -33760778993, -30605105393, -27449431793, -21137998193, -17982324593, -14826650993, -12219271793, -2717647200, -2208988800 ], + "diffs" : [ -175807, -89407, -3007, 83393, 169793, 256193, 342593, 428993, 515393, 601793, 688193, 774593, 860993, -3007, -3600, 0 ] +}, { + "tz" : "America/Indiana/Winamac", + "switches" : [ -62135576015, -59006340815, -55850667215, -52694993615, -46383560015, -43227886415, -40072212815, -33760779215, -30605105615, -27449432015, -21137998415, -17982324815, -14826651215, -12219272015, -2717647200, -2208988800 ], + "diffs" : [ -175585, -89185, -2785, 83615, 170015, 256415, 342815, 429215, 515615, 602015, 688415, 774815, 861215, -2785, -3600, 0 ] +}, { + "tz" : "America/Indianapolis", + "switches" : [ -62135576122, -59006340922, -55850667322, -52694993722, -46383560122, -43227886522, -40072212922, -33760779322, -30605105722, -27449432122, -21137998522, -17982324922, -14826651322, -12219272122, -2717647200, -2208988800 ], + "diffs" : [ -175478, -89078, -2678, 83722, 170122, 256522, 342922, 429322, 515722, 602122, 688522, 774922, 861322, -2678, -3600, 0 ] +}, { + "tz" : "America/Inuvik", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -147600, -61200, 25200, 111600, 198000, 284400, 370800, 457200, 543600, 630000, 716400, 802800, 889200, 25200, 0 ] +}, { + "tz" : "America/Iqaluit", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -154800, -68400, 18000, 104400, 190800, 277200, 363600, 450000, 536400, 622800, 709200, 795600, 882000, 18000, 0 ] +}, { + "tz" : "America/Jamaica", + "switches" : [ -62135578370, -59006343170, -55850669570, -52694995970, -46383562370, -43227888770, -40072215170, -33760781570, -30605107970, -27449434370, -21138000770, -17982327170, -14826653570, -12219274370, -2208988800 ], + "diffs" : [ -173230, -86830, -430, 85970, 172370, 258770, 345170, 431570, 517970, 604370, 690770, 777170, 863570, -430, 0 ] +}, { + "tz" : "America/Jujuy", + "switches" : [ -62135581128, -59006345928, -55850672328, -52694998728, -46383565128, -43227891528, -40072217928, -33760784328, -30605110728, -27449437128, -21138003528, -17982329928, -14826656328, -12219277128, -2372096328, -2208988800 ], + "diffs" : [ -177672, -91272, -4872, 81528, 167928, 254328, 340728, 427128, 513528, 599928, 686328, 772728, 859128, -4872, -4608, 0 ] +}, { + "tz" : "America/Juneau", + "switches" : [ -62135650939, -59006415739, -55850742139, -52695068539, -46383634939, -43227961339, -40072287739, -33760854139, -30605180539, -27449506939, -21138073339, -17982399739, -14826726139, -12219346939, -3225223727, -2208988800 ], + "diffs" : [ -86261, 139, 86539, 172939, 259339, 345739, 432139, 518539, 604939, 691339, 777739, 864139, 950539, 86539, 139, 0 ] +}, { + "tz" : "America/Kentucky/Louisville", + "switches" : [ -62135576218, -59006341018, -55850667418, -52694993818, -46383560218, -43227886618, -40072213018, -33760779418, -30605105818, -27449432218, -21137998618, -17982325018, -14826651418, -12219272218, -2717647200, -2208988800 ], + "diffs" : [ -175382, -88982, -2582, 83818, 170218, 256618, 343018, 429418, 515818, 602218, 688618, 775018, 861418, -2582, -3600, 0 ] +}, { + "tz" : "America/Kentucky/Monticello", + "switches" : [ -62135576436, -59006341236, -55850667636, -52694994036, -46383560436, -43227886836, -40072213236, -33760779636, -30605106036, -27449432436, -21137998836, -17982325236, -14826651636, -12219272436, -2717647200, -2208988800 ], + "diffs" : [ -175164, -88764, -2364, 84036, 170436, 256836, 343236, 429636, 516036, 602436, 688836, 775236, 861636, -2364, -3600, 0 ] +}, { + "tz" : "America/Knox_IN", + "switches" : [ -62135576010, -59006340810, -55850667210, -52694993610, -46383560010, -43227886410, -40072212810, -33760779210, -30605105610, -27449432010, -21137998410, -17982324810, -14826651210, -12219272010, -2717647200 ], + "diffs" : [ -171990, -85590, 810, 87210, 173610, 260010, 346410, 432810, 519210, 605610, 692010, 778410, 864810, 810, 0 ] +}, { + "tz" : "America/Kralendijk", + "switches" : [ -62135580253, -59006345053, -55850671453, -52694997853, -46383564253, -43227890653, -40072217053, -33760783453, -30605109853, -27449436253, -21138002653, -17982329053, -14826655453, -12219276253, -2208988800 ], + "diffs" : [ -174947, -88547, -2147, 84253, 170653, 257053, 343453, 429853, 516253, 602653, 689053, 775453, 861853, -2147, 0 ] +}, { + "tz" : "America/La_Paz", + "switches" : [ -62135580444, -59006345244, -55850671644, -52694998044, -46383564444, -43227890844, -40072217244, -33760783644, -30605110044, -27449436444, -21138002844, -17982329244, -14826655644, -12219276444, -2208988800 ], + "diffs" : [ -174756, -88356, -1956, 84444, 170844, 257244, 343644, 430044, 516444, 602844, 689244, 775644, 862044, -1956, 0 ] +}, { + "tz" : "America/Lima", + "switches" : [ -62135578308, -59006343108, -55850669508, -52694995908, -46383562308, -43227888708, -40072215108, -33760781508, -30605107908, -27449434308, -21138000708, -17982327108, -14826653508, -12219274308, -2524503108, -2208988800 ], + "diffs" : [ -173292, -86892, -492, 85908, 172308, 258708, 345108, 431508, 517908, 604308, 690708, 777108, 863508, -492, -516, 0 ] +}, { + "tz" : "America/Los_Angeles", + "switches" : [ -62135568422, -59006333222, -55850659622, -52694986022, -46383552422, -43227878822, -40072205222, -33760771622, -30605098022, -27449424422, -21137990822, -17982317222, -14826643622, -12219264422, -2717640000 ], + "diffs" : [ -172378, -85978, 422, 86822, 173222, 259622, 346022, 432422, 518822, 605222, 691622, 778022, 864422, 422, 0 ] +}, { + "tz" : "America/Louisville", + "switches" : [ -62135576218, -59006341018, -55850667418, -52694993818, -46383560218, -43227886618, -40072213018, -33760779418, -30605105818, -27449432218, -21137998618, -17982325018, -14826651418, -12219272218, -2717647200, -2208988800 ], + "diffs" : [ -175382, -88982, -2582, 83818, 170218, 256618, 343018, 429418, 515818, 602218, 688618, 775018, 861418, -2582, -3600, 0 ] +}, { + "tz" : "America/Lower_Princes", + "switches" : [ -62135580253, -59006345053, -55850671453, -52694997853, -46383564253, -43227890653, -40072217053, -33760783453, -30605109853, -27449436253, -21138002653, -17982329053, -14826655453, -12219276253, -2208988800 ], + "diffs" : [ -174947, -88547, -2147, 84253, 170653, 257053, 343453, 429853, 516253, 602653, 689053, 775453, 861853, -2147, 0 ] +}, { + "tz" : "America/Maceio", + "switches" : [ -62135588228, -59006353028, -55850679428, -52695005828, -46383572228, -43227898628, -40072225028, -33760791428, -30605117828, -27449444228, -21138010628, -17982337028, -14826663428, -12219284228, -2208988800 ], + "diffs" : [ -170572, -84172, 2228, 88628, 175028, 261428, 347828, 434228, 520628, 607028, 693428, 779828, 866228, 2228, 0 ] +}, { + "tz" : "America/Managua", + "switches" : [ -62135576092, -59006340892, -55850667292, -52694993692, -46383560092, -43227886492, -40072212892, -33760779292, -30605105692, -27449432092, -21137998492, -17982324892, -14826651292, -12219272092, -2524500892, -2208988800 ], + "diffs" : [ -171908, -85508, 892, 87292, 173692, 260092, 346492, 432892, 519292, 605692, 692092, 778492, 864892, 892, 888, 0 ] +}, { + "tz" : "America/Manaus", + "switches" : [ -62135582396, -59006347196, -55850673596, -52694999996, -46383566396, -43227892796, -40072219196, -33760785596, -30605111996, -27449438396, -21138004796, -17982331196, -14826657596, -12219278396, -2208988800 ], + "diffs" : [ -172804, -86404, -4, 86396, 172796, 259196, 345596, 431996, 518396, 604796, 691196, 777596, 863996, -4, 0 ] +}, { + "tz" : "America/Marigot", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Martinique", + "switches" : [ -62135582140, -59006346940, -55850673340, -52694999740, -46383566140, -43227892540, -40072218940, -33760785340, -30605111740, -27449438140, -21138004540, -17982330940, -14826657340, -12219278140, -2208988800 ], + "diffs" : [ -173060, -86660, -260, 86140, 172540, 258940, 345340, 431740, 518140, 604540, 690940, 777340, 863740, -260, 0 ] +}, { + "tz" : "America/Matamoros", + "switches" : [ -62135572800, -59006337600, -55850664000, -52694990400, -46383556800, -43227883200, -40072209600, -33760776000, -30605102400, -27449428800, -21137995200, -17982321600, -14826648000, -12219268800, -2208988800 ], + "diffs" : [ -175200, -88800, -2400, 84000, 170400, 256800, 343200, 429600, 516000, 602400, 688800, 775200, 861600, -2400, 0 ] +}, { + "tz" : "America/Mazatlan", + "switches" : [ -62135571260, -59006336060, -55850662460, -52694988860, -46383555260, -43227881660, -40072208060, -33760774460, -30605100860, -27449427260, -21137993660, -17982320060, -14826646460, -12219267260, -2208988800 ], + "diffs" : [ -173140, -86740, -340, 86060, 172460, 258860, 345260, 431660, 518060, 604460, 690860, 777260, 863660, -340, 0 ] +}, { + "tz" : "America/Mendoza", + "switches" : [ -62135580284, -59006345084, -55850671484, -52694997884, -46383564284, -43227890684, -40072217084, -33760783484, -30605109884, -27449436284, -21138002684, -17982329084, -14826655484, -12219276284, -2372095484, -2208988800 ], + "diffs" : [ -178516, -92116, -5716, 80684, 167084, 253484, 339884, 426284, 512684, 599084, 685484, 771884, 858284, -5716, -4608, 0 ] +}, { + "tz" : "America/Menominee", + "switches" : [ -62135575773, -59006340573, -55850666973, -52694993373, -46383559773, -43227886173, -40072212573, -33760778973, -30605105373, -27449431773, -21137998173, -17982324573, -14826650973, -12219271773, -2659759773 ], + "diffs" : [ -172227, -85827, 573, 86973, 173373, 259773, 346173, 432573, 518973, 605373, 691773, 778173, 864573, 573, 0 ] +}, { + "tz" : "America/Merida", + "switches" : [ -62135575292, -59006340092, -55850666492, -52694992892, -46383559292, -43227885692, -40072212092, -33760778492, -30605104892, -27449431292, -21137997692, -17982324092, -14826650492, -12219271292, -2208988800 ], + "diffs" : [ -172708, -86308, 92, 86492, 172892, 259292, 345692, 432092, 518492, 604892, 691292, 777692, 864092, 92, 0 ] +}, { + "tz" : "America/Metlakatla", + "switches" : [ -62135651622, -59006416422, -55850742822, -52695069222, -46383635622, -43227962022, -40072288422, -33760854822, -30605181222, -27449507622, -21138074022, -17982400422, -14826726822, -12219347622, -3225223727, -2208988800 ], + "diffs" : [ -85578, 822, 87222, 173622, 260022, 346422, 432822, 519222, 605622, 692022, 778422, 864822, 951222, 87222, 822, 0 ] +}, { + "tz" : "America/Mexico_City", + "switches" : [ -62135573004, -59006337804, -55850664204, -52694990604, -46383557004, -43227883404, -40072209804, -33760776204, -30605102604, -27449429004, -21137995404, -17982321804, -14826648204, -12219269004, -2208988800 ], + "diffs" : [ -174996, -88596, -2196, 84204, 170604, 257004, 343404, 429804, 516204, 602604, 689004, 775404, 861804, -2196, 0 ] +}, { + "tz" : "America/Miquelon", + "switches" : [ -62135583320, -59006348120, -55850674520, -52695000920, -46383567320, -43227893720, -40072220120, -33760786520, -30605112920, -27449439320, -21138005720, -17982332120, -14826658520, -12219279320, -2208988800 ], + "diffs" : [ -175480, -89080, -2680, 83720, 170120, 256520, 342920, 429320, 515720, 602120, 688520, 774920, 861320, -2680, 0 ] +}, { + "tz" : "America/Moncton", + "switches" : [ -62135581252, -59006346052, -55850672452, -52694998852, -46383565252, -43227891652, -40072218052, -33760784452, -30605110852, -27449437252, -21138003652, -17982330052, -14826656452, -12219277252, -2715882052, -2208988800 ], + "diffs" : [ -173948, -87548, -1148, 85252, 171652, 258052, 344452, 430852, 517252, 603652, 690052, 776452, 862852, -1148, -3600, 0 ] +}, { + "tz" : "America/Monterrey", + "switches" : [ -62135572724, -59006337524, -55850663924, -52694990324, -46383556724, -43227883124, -40072209524, -33760775924, -30605102324, -27449428724, -21137995124, -17982321524, -14826647924, -12219268724, -2208988800 ], + "diffs" : [ -175276, -88876, -2476, 83924, 170324, 256724, 343124, 429524, 515924, 602324, 688724, 775124, 861524, -2476, 0 ] +}, { + "tz" : "America/Montevideo", + "switches" : [ -62135583309, -59006348109, -55850674509, -52695000909, -46383567309, -43227893709, -40072220109, -33760786509, -30605112909, -27449439309, -21138005709, -17982332109, -14826658509, -12219279309, -2208988800 ], + "diffs" : [ -175491, -89091, -2691, 83709, 170109, 256509, 342909, 429309, 515709, 602109, 688509, 774909, 861309, -2691, 0 ] +}, { + "tz" : "America/Montreal", + "switches" : [ -62135577748, -59006342548, -55850668948, -52694995348, -46383561748, -43227888148, -40072214548, -33760780948, -30605107348, -27449433748, -21138000148, -17982326548, -14826652948, -12219273748, -2366736148 ], + "diffs" : [ -173852, -87452, -1052, 85348, 171748, 258148, 344548, 430948, 517348, 603748, 690148, 776548, 862948, -1052, 0 ] +}, { + "tz" : "America/Montserrat", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Nassau", + "switches" : [ -62135578230, -59006343030, -55850669430, -52694995830, -46383562230, -43227888630, -40072215030, -33760781430, -30605107830, -27449434230, -21138000630, -17982327030, -14826653430, -12219274230, -2208988800 ], + "diffs" : [ -173370, -86970, -570, 85830, 172230, 258630, 345030, 431430, 517830, 604230, 690630, 777030, 863430, -570, 0 ] +}, { + "tz" : "America/New_York", + "switches" : [ -62135579038, -59006343838, -55850670238, -52694996638, -46383563038, -43227889438, -40072215838, -33760782238, -30605108638, -27449435038, -21138001438, -17982327838, -14826654238, -12219275038, -2717650800 ], + "diffs" : [ -172562, -86162, 238, 86638, 173038, 259438, 345838, 432238, 518638, 605038, 691438, 777838, 864238, 238, 0 ] +}, { + "tz" : "America/Nipigon", + "switches" : [ -62135575616, -59006340416, -55850666816, -52694993216, -46383559616, -43227886016, -40072212416, -33760778816, -30605105216, -27449431616, -21137998016, -17982324416, -14826650816, -12219271616, -2366734016 ], + "diffs" : [ -175984, -89584, -3184, 83216, 169616, 256016, 342416, 428816, 515216, 601616, 688016, 774416, 860816, -3184, 0 ] +}, { + "tz" : "America/Nome", + "switches" : [ -62135643502, -59006408302, -55850734702, -52695061102, -46383627502, -43227953902, -40072280302, -33760846702, -30605173102, -27449499502, -21138065902, -17982392302, -14826718702, -12219339502, -3225223727, -2208988800 ], + "diffs" : [ -93698, -7298, 79102, 165502, 251902, 338302, 424702, 511102, 597502, 683902, 770302, 856702, 943102, 79102, -7298, 0 ] +}, { + "tz" : "America/Noronha", + "switches" : [ -62135589020, -59006353820, -55850680220, -52695006620, -46383573020, -43227899420, -40072225820, -33760792220, -30605118620, -27449445020, -21138011420, -17982337820, -14826664220, -12219285020, -2208988800 ], + "diffs" : [ -173380, -86980, -580, 85820, 172220, 258620, 345020, 431420, 517820, 604220, 690620, 777020, 863420, -580, 0 ] +}, { + "tz" : "America/North_Dakota/Beulah", + "switches" : [ -62135572373, -59006337173, -55850663573, -52694989973, -46383556373, -43227882773, -40072209173, -33760775573, -30605101973, -27449428373, -21137994773, -17982321173, -14826647573, -12219268373, -2717643600, -2208988800 ], + "diffs" : [ -175627, -89227, -2827, 83573, 169973, 256373, 342773, 429173, 515573, 601973, 688373, 774773, 861173, -2827, -3600, 0 ] +}, { + "tz" : "America/North_Dakota/Center", + "switches" : [ -62135572488, -59006337288, -55850663688, -52694990088, -46383556488, -43227882888, -40072209288, -33760775688, -30605102088, -27449428488, -21137994888, -17982321288, -14826647688, -12219268488, -2717643600, -2208988800 ], + "diffs" : [ -175512, -89112, -2712, 83688, 170088, 256488, 342888, 429288, 515688, 602088, 688488, 774888, 861288, -2712, -3600, 0 ] +}, { + "tz" : "America/North_Dakota/New_Salem", + "switches" : [ -62135572461, -59006337261, -55850663661, -52694990061, -46383556461, -43227882861, -40072209261, -33760775661, -30605102061, -27449428461, -21137994861, -17982321261, -14826647661, -12219268461, -2717643600, -2208988800 ], + "diffs" : [ -175539, -89139, -2739, 83661, 170061, 256461, 342861, 429261, 515661, 602061, 688461, 774861, 861261, -2739, -3600, 0 ] +}, { + "tz" : "America/Ojinaga", + "switches" : [ -62135571740, -59006336540, -55850662940, -52694989340, -46383555740, -43227882140, -40072208540, -33760774940, -30605101340, -27449427740, -21137994140, -17982320540, -14826646940, -12219267740, -2208988800 ], + "diffs" : [ -172660, -86260, 140, 86540, 172940, 259340, 345740, 432140, 518540, 604940, 691340, 777740, 864140, 140, 0 ] +}, { + "tz" : "America/Panama", + "switches" : [ -62135577712, -59006342512, -55850668912, -52694995312, -46383561712, -43227888112, -40072214512, -33760780912, -30605107312, -27449433712, -21138000112, -17982326512, -14826652912, -12219273712, -2524502512, -2208988800 ], + "diffs" : [ -173888, -87488, -1088, 85312, 171712, 258112, 344512, 430912, 517312, 603712, 690112, 776512, 862912, -1088, -1176, 0 ] +}, { + "tz" : "America/Pangnirtung", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -154800, -68400, 18000, 104400, 190800, 277200, 363600, 450000, 536400, 622800, 709200, 795600, 882000, 18000, 0 ] +}, { + "tz" : "America/Paramaribo", + "switches" : [ -62135583560, -59006348360, -55850674760, -52695001160, -46383567560, -43227893960, -40072220360, -33760786760, -30605113160, -27449439560, -21138005960, -17982332360, -14826658760, -12219279560, -2208988800 ], + "diffs" : [ -175240, -88840, -2440, 83960, 170360, 256760, 343160, 429560, 515960, 602360, 688760, 775160, 861560, -2440, 0 ] +}, { + "tz" : "America/Phoenix", + "switches" : [ -62135569902, -59006334702, -55850661102, -52694987502, -46383553902, -43227880302, -40072206702, -33760773102, -30605099502, -27449425902, -21137992302, -17982318702, -14826645102, -12219265902, -2717643600 ], + "diffs" : [ -174498, -88098, -1698, 84702, 171102, 257502, 343902, 430302, 516702, 603102, 689502, 775902, 862302, -1698, 0 ] +}, { + "tz" : "America/Port-au-Prince", + "switches" : [ -62135579440, -59006344240, -55850670640, -52694997040, -46383563440, -43227889840, -40072216240, -33760782640, -30605109040, -27449435440, -21138001840, -17982328240, -14826654640, -12219275440, -2524504240, -2208988800 ], + "diffs" : [ -172160, -85760, 640, 87040, 173440, 259840, 346240, 432640, 519040, 605440, 691840, 778240, 864640, 640, 660, 0 ] +}, { + "tz" : "America/Port_of_Spain", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Porto_Acre", + "switches" : [ -62135580528, -59006345328, -55850671728, -52694998128, -46383564528, -43227890928, -40072217328, -33760783728, -30605110128, -27449436528, -21138002928, -17982329328, -14826655728, -12219276528, -2208988800 ], + "diffs" : [ -171072, -84672, 1728, 88128, 174528, 260928, 347328, 433728, 520128, 606528, 692928, 779328, 865728, 1728, 0 ] +}, { + "tz" : "America/Porto_Velho", + "switches" : [ -62135581464, -59006346264, -55850672664, -52694999064, -46383565464, -43227891864, -40072218264, -33760784664, -30605111064, -27449437464, -21138003864, -17982330264, -14826656664, -12219277464, -2208988800 ], + "diffs" : [ -173736, -87336, -936, 85464, 171864, 258264, 344664, 431064, 517464, 603864, 690264, 776664, 863064, -936, 0 ] +}, { + "tz" : "America/Puerto_Rico", + "switches" : [ -62135580935, -59006345735, -55850672135, -52694998535, -46383564935, -43227891335, -40072217735, -33760784135, -30605110535, -27449436935, -21138003335, -17982329735, -14826656135, -12219276935, -2233035335 ], + "diffs" : [ -174265, -87865, -1465, 84935, 171335, 257735, 344135, 430535, 516935, 603335, 689735, 776135, 862535, -1465, 0 ] +}, { + "tz" : "America/Punta_Arenas", + "switches" : [ -62135579780, -59006344580, -55850670980, -52694997380, -46383563780, -43227890180, -40072216580, -33760782980, -30605109380, -27449435780, -21138002180, -17982328580, -14826654980, -12219275780, -2524504580, -2208988800 ], + "diffs" : [ -179020, -92620, -6220, 80180, 166580, 252980, 339380, 425780, 512180, 598580, 684980, 771380, 857780, -6220, -6166, 0 ] +}, { + "tz" : "America/Rainy_River", + "switches" : [ -62135574104, -59006338904, -55850665304, -52694991704, -46383558104, -43227884504, -40072210904, -33760777304, -30605103704, -27449430104, -21137996504, -17982322904, -14826649304, -12219270104, -2366732504 ], + "diffs" : [ -173896, -87496, -1096, 85304, 171704, 258104, 344504, 430904, 517304, 603704, 690104, 776504, 862904, -1096, 0 ] +}, { + "tz" : "America/Rankin_Inlet", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -151200, -64800, 21600, 108000, 194400, 280800, 367200, 453600, 540000, 626400, 712800, 799200, 885600, 21600, 0 ] +}, { + "tz" : "America/Recife", + "switches" : [ -62135588424, -59006353224, -55850679624, -52695006024, -46383572424, -43227898824, -40072225224, -33760791624, -30605118024, -27449444424, -21138010824, -17982337224, -14826663624, -12219284424, -2208988800 ], + "diffs" : [ -170376, -83976, 2424, 88824, 175224, 261624, 348024, 434424, 520824, 607224, 693624, 780024, 866424, 2424, 0 ] +}, { + "tz" : "America/Regina", + "switches" : [ -62135571684, -59006336484, -55850662884, -52694989284, -46383555684, -43227882084, -40072208484, -33760774884, -30605101284, -27449427684, -21137994084, -17982320484, -14826646884, -12219267684, -2208988800 ], + "diffs" : [ -176316, -89916, -3516, 82884, 169284, 255684, 342084, 428484, 514884, 601284, 687684, 774084, 860484, -3516, 0 ] +}, { + "tz" : "America/Resolute", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -151200, -64800, 21600, 108000, 194400, 280800, 367200, 453600, 540000, 626400, 712800, 799200, 885600, 21600, 0 ] +}, { + "tz" : "America/Rio_Branco", + "switches" : [ -62135580528, -59006345328, -55850671728, -52694998128, -46383564528, -43227890928, -40072217328, -33760783728, -30605110128, -27449436528, -21138002928, -17982329328, -14826655728, -12219276528, -2208988800 ], + "diffs" : [ -171072, -84672, 1728, 88128, 174528, 260928, 347328, 433728, 520128, 606528, 692928, 779328, 865728, 1728, 0 ] +}, { + "tz" : "America/Rosario", + "switches" : [ -62135581392, -59006346192, -55850672592, -52694998992, -46383565392, -43227891792, -40072218192, -33760784592, -30605110992, -27449437392, -21138003792, -17982330192, -14826656592, -12219277392, -2208988800 ], + "diffs" : [ -177408, -91008, -4608, 81792, 168192, 254592, 340992, 427392, 513792, 600192, 686592, 772992, 859392, -4608, 0 ] +}, { + "tz" : "America/Santa_Isabel", + "switches" : [ -62135568716, -59006333516, -55850659916, -52694986316, -46383552716, -43227879116, -40072205516, -33760771916, -30605098316, -27449424716, -21137991116, -17982317516, -14826643916, -12219264716, -2208988800 ], + "diffs" : [ -172084, -85684, 716, 87116, 173516, 259916, 346316, 432716, 519116, 605516, 691916, 778316, 864716, 716, 0 ] +}, { + "tz" : "America/Santarem", + "switches" : [ -62135583672, -59006348472, -55850674872, -52695001272, -46383567672, -43227894072, -40072220472, -33760786872, -30605113272, -27449439672, -21138006072, -17982332472, -14826658872, -12219279672, -2208988800 ], + "diffs" : [ -175128, -88728, -2328, 84072, 170472, 256872, 343272, 429672, 516072, 602472, 688872, 775272, 861672, -2328, 0 ] +}, { + "tz" : "America/Santiago", + "switches" : [ -62135579834, -59006344634, -55850671034, -52694997434, -46383563834, -43227890234, -40072216634, -33760783034, -30605109434, -27449435834, -21138002234, -17982328634, -14826655034, -12219275834, -2208988800 ], + "diffs" : [ -175366, -88966, -2566, 83834, 170234, 256634, 343034, 429434, 515834, 602234, 688634, 775034, 861434, -2566, 0 ] +}, { + "tz" : "America/Santo_Domingo", + "switches" : [ -62135580024, -59006344824, -55850671224, -52694997624, -46383564024, -43227890424, -40072216824, -33760783224, -30605109624, -27449436024, -21138002424, -17982328824, -14826655224, -12219276024, -2524504824, -2208988800 ], + "diffs" : [ -175176, -88776, -2376, 84024, 170424, 256824, 343224, 429624, 516024, 602424, 688824, 775224, 861624, -2376, -2400, 0 ] +}, { + "tz" : "America/Sao_Paulo", + "switches" : [ -62135585612, -59006350412, -55850676812, -52695003212, -46383569612, -43227896012, -40072222412, -33760788812, -30605115212, -27449441612, -21138008012, -17982334412, -14826660812, -12219281612, -2208988800 ], + "diffs" : [ -173188, -86788, -388, 86012, 172412, 258812, 345212, 431612, 518012, 604412, 690812, 777212, 863612, -388, 0 ] +}, { + "tz" : "America/Scoresbysund", + "switches" : [ -62135591528, -59006356328, -55850682728, -52695009128, -46383575528, -43227901928, -40072228328, -33760794728, -30605121128, -27449447528, -21138013928, -17982340328, -14826666728, -12219287528, -2208988800 ], + "diffs" : [ -174472, -88072, -1672, 84728, 171128, 257528, 343928, 430328, 516728, 603128, 689528, 775928, 862328, -1672, 0 ] +}, { + "tz" : "America/Shiprock", + "switches" : [ -62135571604, -59006336404, -55850662804, -52694989204, -46383555604, -43227882004, -40072208404, -33760774804, -30605101204, -27449427604, -21137994004, -17982320404, -14826646804, -12219267604, -2717643600 ], + "diffs" : [ -172796, -86396, 4, 86404, 172804, 259204, 345604, 432004, 518404, 604804, 691204, 777604, 864004, 4, 0 ] +}, { + "tz" : "America/Sitka", + "switches" : [ -62135650727, -59006415527, -55850741927, -52695068327, -46383634727, -43227961127, -40072287527, -33760853927, -30605180327, -27449506727, -21138073127, -17982399527, -14826725927, -12219346727, -3225223727, -2208988800 ], + "diffs" : [ -86473, -73, 86327, 172727, 259127, 345527, 431927, 518327, 604727, 691127, 777527, 863927, 950327, 86327, -73, 0 ] +}, { + "tz" : "America/St_Barthelemy", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/St_Johns", + "switches" : [ -62135584148, -59006348948, -55850675348, -52695001748, -46383568148, -43227894548, -40072220948, -33760787348, -30605113748, -27449440148, -21138006548, -17982332948, -14826659348, -12219280148, -2208988800 ], + "diffs" : [ -172852, -86452, -52, 86348, 172748, 259148, 345548, 431948, 518348, 604748, 691148, 777548, 863948, -52, 0 ] +}, { + "tz" : "America/St_Kitts", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/St_Lucia", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/St_Thomas", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/St_Vincent", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Swift_Current", + "switches" : [ -62135570920, -59006335720, -55850662120, -52694988520, -46383554920, -43227881320, -40072207720, -33760774120, -30605100520, -27449426920, -21137993320, -17982319720, -14826646120, -12219266920, -2208988800 ], + "diffs" : [ -177080, -90680, -4280, 82120, 168520, 254920, 341320, 427720, 514120, 600520, 686920, 773320, 859720, -4280, 0 ] +}, { + "tz" : "America/Tegucigalpa", + "switches" : [ -62135575868, -59006340668, -55850667068, -52694993468, -46383559868, -43227886268, -40072212668, -33760779068, -30605105468, -27449431868, -21137998268, -17982324668, -14826651068, -12219271868, -2208988800 ], + "diffs" : [ -172132, -85732, 668, 87068, 173468, 259868, 346268, 432668, 519068, 605468, 691868, 778268, 864668, 668, 0 ] +}, { + "tz" : "America/Thule", + "switches" : [ -62135580292, -59006345092, -55850671492, -52694997892, -46383564292, -43227890692, -40072217092, -33760783492, -30605109892, -27449436292, -21138002692, -17982329092, -14826655492, -12219276292, -2208988800 ], + "diffs" : [ -174908, -88508, -2108, 84292, 170692, 257092, 343492, 429892, 516292, 602692, 689092, 775492, 861892, -2108, 0 ] +}, { + "tz" : "America/Thunder_Bay", + "switches" : [ -62135575380, -59006340180, -55850666580, -52694992980, -46383559380, -43227885780, -40072212180, -33760778580, -30605104980, -27449431380, -21137997780, -17982324180, -14826650580, -12219271380, -2366733780, -2208988800 ], + "diffs" : [ -176220, -89820, -3420, 82980, 169380, 255780, 342180, 428580, 514980, 601380, 687780, 774180, 860580, -3420, -3600, 0 ] +}, { + "tz" : "America/Tijuana", + "switches" : [ -62135568716, -59006333516, -55850659916, -52694986316, -46383552716, -43227879116, -40072205516, -33760771916, -30605098316, -27449424716, -21137991116, -17982317516, -14826643916, -12219264716, -2208988800 ], + "diffs" : [ -172084, -85684, 716, 87116, 173516, 259916, 346316, 432716, 519116, 605516, 691916, 778316, 864716, 716, 0 ] +}, { + "tz" : "America/Toronto", + "switches" : [ -62135577748, -59006342548, -55850668948, -52694995348, -46383561748, -43227888148, -40072214548, -33760780948, -30605107348, -27449433748, -21138000148, -17982326548, -14826652948, -12219273748, -2366736148 ], + "diffs" : [ -173852, -87452, -1052, 85348, 171748, 258148, 344548, 430948, 517348, 603748, 690148, 776548, 862948, -1052, 0 ] +}, { + "tz" : "America/Tortola", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Vancouver", + "switches" : [ -62135567252, -59006332052, -55850658452, -52694984852, -46383551252, -43227877652, -40072204052, -33760770452, -30605096852, -27449423252, -21137989652, -17982316052, -14826642452, -12219263252, -2713880852 ], + "diffs" : [ -173548, -87148, -748, 85652, 172052, 258452, 344852, 431252, 517652, 604052, 690452, 776852, 863252, -748, 0 ] +}, { + "tz" : "America/Virgin", + "switches" : [ -62135582036, -59006346836, -55850673236, -52694999636, -46383566036, -43227892436, -40072218836, -33760785236, -30605111636, -27449438036, -21138004436, -17982330836, -14826657236, -12219278036, -2208988800 ], + "diffs" : [ -173164, -86764, -364, 86036, 172436, 258836, 345236, 431636, 518036, 604436, 690836, 777236, 863636, -364, 0 ] +}, { + "tz" : "America/Whitehorse", + "switches" : [ -62135564388, -59006329188, -55850655588, -52694981988, -46383548388, -43227874788, -40072201188, -33760767588, -30605093988, -27449420388, -21137986788, -17982313188, -14826639588, -12219260388, -2208988800 ], + "diffs" : [ -176412, -90012, -3612, 82788, 169188, 255588, 341988, 428388, 514788, 601188, 687588, 773988, 860388, -3612, 0 ] +}, { + "tz" : "America/Winnipeg", + "switches" : [ -62135573484, -59006338284, -55850664684, -52694991084, -46383557484, -43227883884, -40072210284, -33760776684, -30605103084, -27449429484, -21137995884, -17982322284, -14826648684, -12219269484, -2602258284 ], + "diffs" : [ -174516, -88116, -1716, 84684, 171084, 257484, 343884, 430284, 516684, 603084, 689484, 775884, 862284, -1716, 0 ] +}, { + "tz" : "America/Yakutat", + "switches" : [ -62135649665, -59006414465, -55850740865, -52695067265, -46383633665, -43227960065, -40072286465, -33760852865, -30605179265, -27449505665, -21138072065, -17982398465, -14826724865, -12219345665, -3225223727, -2208988800 ], + "diffs" : [ -87535, -1135, 85265, 171665, 258065, 344465, 430865, 517265, 603665, 690065, 776465, 862865, 949265, 85265, -1135, 0 ] +}, { + "tz" : "America/Yellowknife", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -147600, -61200, 25200, 111600, 198000, 284400, 370800, 457200, 543600, 630000, 716400, 802800, 889200, 25200, 0 ] +}, { + "tz" : "Antarctica/Casey", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -201600, -115200, -28800, 57600, 144000, 230400, 316800, 403200, 489600, 576000, 662400, 748800, 835200, -28800, 0 ] +}, { + "tz" : "Antarctica/Davis", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -198000, -111600, -25200, 61200, 147600, 234000, 320400, 406800, 493200, 579600, 666000, 752400, 838800, -25200, 0 ] +}, { + "tz" : "Antarctica/DumontDUrville", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -208800, -122400, -36000, 50400, 136800, 223200, 309600, 396000, 482400, 568800, 655200, 741600, 828000, -36000, 0 ] +}, { + "tz" : "Antarctica/Macquarie", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2214259200, -2208988800 ], + "diffs" : [ -212400, -126000, -39600, 46800, 133200, 219600, 306000, 392400, 478800, 565200, 651600, 738000, 824400, -39600, -3600, 0 ] +}, { + "tz" : "Antarctica/Mawson", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -190800, -104400, -18000, 68400, 154800, 241200, 327600, 414000, 500400, 586800, 673200, 759600, 846000, -18000, 0 ] +}, { + "tz" : "Antarctica/McMurdo", + "switches" : [ -62135638744, -59006403544, -55850729944, -52695056344, -46383622744, -43227949144, -40072275544, -33760841944, -30605168344, -27449494744, -21138061144, -17982387544, -14826713944, -12219334744, -3192435544, -2208988800 ], + "diffs" : [ -174056, -87656, -1256, 85144, 171544, 257944, 344344, 430744, 517144, 603544, 689944, 776344, 862744, -1256, -1800, 0 ] +}, { + "tz" : "Antarctica/Palmer", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -162000, -75600, 10800, 97200, 183600, 270000, 356400, 442800, 529200, 615600, 702000, 788400, 874800, 10800, 0 ] +}, { + "tz" : "Antarctica/Rothera", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -162000, -75600, 10800, 97200, 183600, 270000, 356400, 442800, 529200, 615600, 702000, 788400, 874800, 10800, 0 ] +}, { + "tz" : "Antarctica/South_Pole", + "switches" : [ -62135638744, -59006403544, -55850729944, -52695056344, -46383622744, -43227949144, -40072275544, -33760841944, -30605168344, -27449494744, -21138061144, -17982387544, -14826713944, -12219334744, -3192435544, -2208988800 ], + "diffs" : [ -174056, -87656, -1256, 85144, 171544, 257944, 344344, 430744, 517144, 603544, 689944, 776344, 862744, -1256, -1800, 0 ] +}, { + "tz" : "Antarctica/Syowa", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -183600, -97200, -10800, 75600, 162000, 248400, 334800, 421200, 507600, 594000, 680400, 766800, 853200, -10800, 0 ] +}, { + "tz" : "Antarctica/Troll", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Antarctica/Vostok", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -194400, -108000, -21600, 64800, 151200, 237600, 324000, 410400, 496800, 583200, 669600, 756000, 842400, -21600, 0 ] +}, { + "tz" : "Arctic/Longyearbyen", + "switches" : [ -62135599380, -59006364180, -55850690580, -52695016980, -46383583380, -43227909780, -40072236180, -33760802580, -30605128980, -27449455380, -21138021780, -17982348180, -14826674580, -12219295380, -2366757780 ], + "diffs" : [ -173820, -87420, -1020, 85380, 171780, 258180, 344580, 430980, 517380, 603780, 690180, 776580, 862980, -1020, 0 ] +}, { + "tz" : "Asia/Aden", + "switches" : [ -62135608012, -59006372812, -55850699212, -52695025612, -46383592012, -43227918412, -40072244812, -33760811212, -30605137612, -27449464012, -21138030412, -17982356812, -14826683212, -12219304012, -2208988800 ], + "diffs" : [ -172388, -85988, 412, 86812, 173212, 259612, 346012, 432412, 518812, 605212, 691612, 778012, 864412, 412, 0 ] +}, { + "tz" : "Asia/Almaty", + "switches" : [ -62135615268, -59006380068, -55850706468, -52695032868, -46383599268, -43227925668, -40072252068, -33760818468, -30605144868, -27449471268, -21138037668, -17982364068, -14826690468, -12219311268, -2208988800 ], + "diffs" : [ -175932, -89532, -3132, 83268, 169668, 256068, 342468, 428868, 515268, 601668, 688068, 774468, 860868, -3132, 0 ] +}, { + "tz" : "Asia/Amman", + "switches" : [ -62135605424, -59006370224, -55850696624, -52695023024, -46383589424, -43227915824, -40072242224, -33760808624, -30605135024, -27449461424, -21138027824, -17982354224, -14826680624, -12219301424, -2208988800 ], + "diffs" : [ -171376, -84976, 1424, 87824, 174224, 260624, 347024, 433424, 519824, 606224, 692624, 779024, 865424, 1424, 0 ] +}, { + "tz" : "Asia/Anadyr", + "switches" : [ -62135639396, -59006404196, -55850730596, -52695056996, -46383623396, -43227949796, -40072276196, -33760842596, -30605168996, -27449495396, -21138061796, -17982388196, -14826714596, -12219335396, -2208988800 ], + "diffs" : [ -173404, -87004, -604, 85796, 172196, 258596, 344996, 431396, 517796, 604196, 690596, 776996, 863396, -604, 0 ] +}, { + "tz" : "Asia/Aqtau", + "switches" : [ -62135608864, -59006373664, -55850700064, -52695026464, -46383592864, -43227919264, -40072245664, -33760812064, -30605138464, -27449464864, -21138031264, -17982357664, -14826684064, -12219304864, -2208988800 ], + "diffs" : [ -178736, -92336, -5936, 80464, 166864, 253264, 339664, 426064, 512464, 598864, 685264, 771664, 858064, -5936, 0 ] +}, { + "tz" : "Asia/Aqtobe", + "switches" : [ -62135610520, -59006375320, -55850701720, -52695028120, -46383594520, -43227920920, -40072247320, -33760813720, -30605140120, -27449466520, -21138032920, -17982359320, -14826685720, -12219306520, -2208988800 ], + "diffs" : [ -177080, -90680, -4280, 82120, 168520, 254920, 341320, 427720, 514120, 600520, 686920, 773320, 859720, -4280, 0 ] +}, { + "tz" : "Asia/Ashgabat", + "switches" : [ -62135610812, -59006375612, -55850702012, -52695028412, -46383594812, -43227921212, -40072247612, -33760814012, -30605140412, -27449466812, -21138033212, -17982359612, -14826686012, -12219306812, -2208988800 ], + "diffs" : [ -176788, -90388, -3988, 82412, 168812, 255212, 341612, 428012, 514412, 600812, 687212, 773612, 860012, -3988, 0 ] +}, { + "tz" : "Asia/Ashkhabad", + "switches" : [ -62135610812, -59006375612, -55850702012, -52695028412, -46383594812, -43227921212, -40072247612, -33760814012, -30605140412, -27449466812, -21138033212, -17982359612, -14826686012, -12219306812, -2208988800 ], + "diffs" : [ -176788, -90388, -3988, 82412, 168812, 255212, 341612, 428012, 514412, 600812, 687212, 773612, 860012, -3988, 0 ] +}, { + "tz" : "Asia/Atyrau", + "switches" : [ -62135609264, -59006374064, -55850700464, -52695026864, -46383593264, -43227919664, -40072246064, -33760812464, -30605138864, -27449465264, -21138031664, -17982358064, -14826684464, -12219305264, -2208988800 ], + "diffs" : [ -178336, -91936, -5536, 80864, 167264, 253664, 340064, 426464, 512864, 599264, 685664, 772064, 858464, -5536, 0 ] +}, { + "tz" : "Asia/Baghdad", + "switches" : [ -62135607460, -59006372260, -55850698660, -52695025060, -46383591460, -43227917860, -40072244260, -33760810660, -30605137060, -27449463460, -21138029860, -17982356260, -14826682660, -12219303460, -2524532260, -2208988800 ], + "diffs" : [ -172940, -86540, -140, 86260, 172660, 259060, 345460, 431860, 518260, 604660, 691060, 777460, 863860, -140, -144, 0 ] +}, { + "tz" : "Asia/Bahrain", + "switches" : [ -62135609168, -59006373968, -55850700368, -52695026768, -46383593168, -43227919568, -40072245968, -33760812368, -30605138768, -27449465168, -21138031568, -17982357968, -14826684368, -12219305168, -2208988800 ], + "diffs" : [ -171232, -84832, 1568, 87968, 174368, 260768, 347168, 433568, 519968, 606368, 692768, 779168, 865568, 1568, 0 ] +}, { + "tz" : "Asia/Baku", + "switches" : [ -62135608764, -59006373564, -55850699964, -52695026364, -46383592764, -43227919164, -40072245564, -33760811964, -30605138364, -27449464764, -21138031164, -17982357564, -14826683964, -12219304764, -2208988800 ], + "diffs" : [ -175236, -88836, -2436, 83964, 170364, 256764, 343164, 429564, 515964, 602364, 688764, 775164, 861564, -2436, 0 ] +}, { + "tz" : "Asia/Bangkok", + "switches" : [ -62135620924, -59006385724, -55850712124, -52695038524, -46383604924, -43227931324, -40072257724, -33760824124, -30605150524, -27449476924, -21138043324, -17982369724, -14826696124, -12219316924, -2208988800 ], + "diffs" : [ -173876, -87476, -1076, 85324, 171724, 258124, 344524, 430924, 517324, 603724, 690124, 776524, 862924, -1076, 0 ] +}, { + "tz" : "Asia/Barnaul", + "switches" : [ -62135616900, -59006381700, -55850708100, -52695034500, -46383600900, -43227927300, -40072253700, -33760820100, -30605146500, -27449472900, -21138039300, -17982365700, -14826692100, -12219312900, -2208988800 ], + "diffs" : [ -177900, -91500, -5100, 81300, 167700, 254100, 340500, 426900, 513300, 599700, 686100, 772500, 858900, -5100, 0 ] +}, { + "tz" : "Asia/Beirut", + "switches" : [ -62135605320, -59006370120, -55850696520, -52695022920, -46383589320, -43227915720, -40072242120, -33760808520, -30605134920, -27449461320, -21138027720, -17982354120, -14826680520, -12219301320, -2840149320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Asia/Bishkek", + "switches" : [ -62135614704, -59006379504, -55850705904, -52695032304, -46383598704, -43227925104, -40072251504, -33760817904, -30605144304, -27449470704, -21138037104, -17982363504, -14826689904, -12219310704, -2208988800 ], + "diffs" : [ -176496, -90096, -3696, 82704, 169104, 255504, 341904, 428304, 514704, 601104, 687504, 773904, 860304, -3696, 0 ] +}, { + "tz" : "Asia/Brunei", + "switches" : [ -62135624380, -59006389180, -55850715580, -52695041980, -46383608380, -43227934780, -40072261180, -33760827580, -30605153980, -27449480380, -21138046780, -17982373180, -14826699580, -12219320380, -2208988800 ], + "diffs" : [ -174020, -87620, -1220, 85180, 171580, 257980, 344380, 430780, 517180, 603580, 689980, 776380, 862780, -1220, 0 ] +}, { + "tz" : "Asia/Calcutta", + "switches" : [ -62135618008, -59006382808, -55850709208, -52695035608, -46383602008, -43227928408, -40072254808, -33760821208, -30605147608, -27449474008, -21138040408, -17982366808, -14826693208, -12219314008, -3645237208, -3155694800, -2208988800 ], + "diffs" : [ -171392, -84992, 1408, 87808, 174208, 260608, 347008, 433408, 519808, 606208, 692608, 779008, 865408, 1408, 1400, -530, 0 ] +}, { + "tz" : "Asia/Chita", + "switches" : [ -62135624032, -59006388832, -55850715232, -52695041632, -46383608032, -43227934432, -40072260832, -33760827232, -30605153632, -27449480032, -21138046432, -17982372832, -14826699232, -12219320032, -2208988800 ], + "diffs" : [ -177968, -91568, -5168, 81232, 167632, 254032, 340432, 426832, 513232, 599632, 686032, 772432, 858832, -5168, 0 ] +}, { + "tz" : "Asia/Choibalsan", + "switches" : [ -62135624280, -59006389080, -55850715480, -52695041880, -46383608280, -43227934680, -40072261080, -33760827480, -30605153880, -27449480280, -21138046680, -17982373080, -14826699480, -12219320280, -2208988800 ], + "diffs" : [ -174120, -87720, -1320, 85080, 171480, 257880, 344280, 430680, 517080, 603480, 689880, 776280, 862680, -1320, 0 ] +}, { + "tz" : "Asia/Chongqing", + "switches" : [ -62135625943, -59006390743, -55850717143, -52695043543, -46383609943, -43227936343, -40072262743, -33760829143, -30605155543, -27449481943, -21138048343, -17982374743, -14826701143, -12219321943, -2208988800 ], + "diffs" : [ -172457, -86057, 343, 86743, 173143, 259543, 345943, 432343, 518743, 605143, 691543, 777943, 864343, 343, 0 ] +}, { + "tz" : "Asia/Chungking", + "switches" : [ -62135625943, -59006390743, -55850717143, -52695043543, -46383609943, -43227936343, -40072262743, -33760829143, -30605155543, -27449481943, -21138048343, -17982374743, -14826701143, -12219321943, -2208988800 ], + "diffs" : [ -172457, -86057, 343, 86743, 173143, 259543, 345943, 432343, 518743, 605143, 691543, 777943, 864343, 343, 0 ] +}, { + "tz" : "Asia/Colombo", + "switches" : [ -62135615964, -59006380764, -55850707164, -52695033564, -46383599964, -43227926364, -40072252764, -33760819164, -30605145564, -27449471964, -21138038364, -17982364764, -14826691164, -12219311964, -2840159964, -2208988800 ], + "diffs" : [ -173436, -87036, -636, 85764, 172164, 258564, 344964, 431364, 517764, 604164, 690564, 776964, 863364, -636, -628, 0 ] +}, { + "tz" : "Asia/Dacca", + "switches" : [ -62135618500, -59006383300, -55850709700, -52695036100, -46383602500, -43227928900, -40072255300, -33760821700, -30605148100, -27449474500, -21138040900, -17982367300, -14826693700, -12219314500, -2524543300, -2208988800 ], + "diffs" : [ -172700, -86300, 100, 86500, 172900, 259300, 345700, 432100, 518500, 604900, 691300, 777700, 864100, 100, -400, 0 ] +}, { + "tz" : "Asia/Damascus", + "switches" : [ -62135605512, -59006370312, -55850696712, -52695023112, -46383589512, -43227915912, -40072242312, -33760808712, -30605135112, -27449461512, -21138027912, -17982354312, -14826680712, -12219301512, -2208988800 ], + "diffs" : [ -171288, -84888, 1512, 87912, 174312, 260712, 347112, 433512, 519912, 606312, 692712, 779112, 865512, 1512, 0 ] +}, { + "tz" : "Asia/Dhaka", + "switches" : [ -62135618500, -59006383300, -55850709700, -52695036100, -46383602500, -43227928900, -40072255300, -33760821700, -30605148100, -27449474500, -21138040900, -17982367300, -14826693700, -12219314500, -2524543300, -2208988800 ], + "diffs" : [ -172700, -86300, 100, 86500, 172900, 259300, 345700, 432100, 518500, 604900, 691300, 777700, 864100, 100, -400, 0 ] +}, { + "tz" : "Asia/Dili", + "switches" : [ -62135626940, -59006391740, -55850718140, -52695044540, -46383610940, -43227937340, -40072263740, -33760830140, -30605156540, -27449482940, -21138049340, -17982375740, -14826702140, -12219322940, -2208988800 ], + "diffs" : [ -175060, -88660, -2260, 84140, 170540, 256940, 343340, 429740, 516140, 602540, 688940, 775340, 861740, -2260, 0 ] +}, { + "tz" : "Asia/Dubai", + "switches" : [ -62135610072, -59006374872, -55850701272, -52695027672, -46383594072, -43227920472, -40072246872, -33760813272, -30605139672, -27449466072, -21138032472, -17982358872, -14826685272, -12219306072, -2208988800 ], + "diffs" : [ -173928, -87528, -1128, 85272, 171672, 258072, 344472, 430872, 517272, 603672, 690072, 776472, 862872, -1128, 0 ] +}, { + "tz" : "Asia/Dushanbe", + "switches" : [ -62135613312, -59006378112, -55850704512, -52695030912, -46383597312, -43227923712, -40072250112, -33760816512, -30605142912, -27449469312, -21138035712, -17982362112, -14826688512, -12219309312, -2208988800 ], + "diffs" : [ -174288, -87888, -1488, 84912, 171312, 257712, 344112, 430512, 516912, 603312, 689712, 776112, 862512, -1488, 0 ] +}, { + "tz" : "Asia/Famagusta", + "switches" : [ -62135604948, -59006369748, -55850696148, -52695022548, -46383588948, -43227915348, -40072241748, -33760808148, -30605134548, -27449460948, -21138027348, -17982353748, -14826680148, -12219300948, -2208988800 ], + "diffs" : [ -171852, -85452, 948, 87348, 173748, 260148, 346548, 432948, 519348, 605748, 692148, 778548, 864948, 948, 0 ] +}, { + "tz" : "Asia/Gaza", + "switches" : [ -62135605072, -59006369872, -55850696272, -52695022672, -46383589072, -43227915472, -40072241872, -33760808272, -30605134672, -27449461072, -21138027472, -17982353872, -14826680272, -12219301072, -2208988800 ], + "diffs" : [ -171728, -85328, 1072, 87472, 173872, 260272, 346672, 433072, 519472, 605872, 692272, 778672, 865072, 1072, 0 ] +}, { + "tz" : "Asia/Harbin", + "switches" : [ -62135625943, -59006390743, -55850717143, -52695043543, -46383609943, -43227936343, -40072262743, -33760829143, -30605155543, -27449481943, -21138048343, -17982374743, -14826701143, -12219321943, -2208988800 ], + "diffs" : [ -172457, -86057, 343, 86743, 173143, 259543, 345943, 432343, 518743, 605143, 691543, 777943, 864343, 343, 0 ] +}, { + "tz" : "Asia/Hebron", + "switches" : [ -62135605223, -59006370023, -55850696423, -52695022823, -46383589223, -43227915623, -40072242023, -33760808423, -30605134823, -27449461223, -21138027623, -17982354023, -14826680423, -12219301223, -2208988800 ], + "diffs" : [ -171577, -85177, 1223, 87623, 174023, 260423, 346823, 433223, 519623, 606023, 692423, 778823, 865223, 1223, 0 ] +}, { + "tz" : "Asia/Ho_Chi_Minh", + "switches" : [ -62135622400, -59006387200, -55850713600, -52695040000, -46383606400, -43227932800, -40072259200, -33760825600, -30605152000, -27449478400, -21138044800, -17982371200, -14826697600, -12219318400, -2208988800 ], + "diffs" : [ -172400, -86000, 400, 86800, 173200, 259600, 346000, 432400, 518800, 605200, 691600, 778000, 864400, 400, 0 ] +}, { + "tz" : "Asia/Hong_Kong", + "switches" : [ -62135624202, -59006389002, -55850715402, -52695041802, -46383608202, -43227934602, -40072261002, -33760827402, -30605153802, -27449480202, -21138046602, -17982373002, -14826699402, -12219320202, -2208988800 ], + "diffs" : [ -174198, -87798, -1398, 85002, 171402, 257802, 344202, 430602, 517002, 603402, 689802, 776202, 862602, -1398, 0 ] +}, { + "tz" : "Asia/Hovd", + "switches" : [ -62135618796, -59006383596, -55850709996, -52695036396, -46383602796, -43227929196, -40072255596, -33760821996, -30605148396, -27449474796, -21138041196, -17982367596, -14826693996, -12219314796, -2208988800 ], + "diffs" : [ -176004, -89604, -3204, 83196, 169596, 255996, 342396, 428796, 515196, 601596, 687996, 774396, 860796, -3204, 0 ] +}, { + "tz" : "Asia/Irkutsk", + "switches" : [ -62135621825, -59006386625, -55850713025, -52695039425, -46383605825, -43227932225, -40072258625, -33760825025, -30605151425, -27449477825, -21138044225, -17982370625, -14826697025, -12219317825, -2208988800 ], + "diffs" : [ -176575, -90175, -3775, 82625, 169025, 255425, 341825, 428225, 514625, 601025, 687425, 773825, 860225, -3775, 0 ] +}, { + "tz" : "Asia/Istanbul", + "switches" : [ -62135603752, -59006368552, -55850694952, -52695021352, -46383587752, -43227914152, -40072240552, -33760806952, -30605133352, -27449459752, -21138026152, -17982352552, -14826678952, -12219299752, -2840147752, -2208988800 ], + "diffs" : [ -176648, -90248, -3848, 82552, 168952, 255352, 341752, 428152, 514552, 600952, 687352, 773752, 860152, -3848, -3784, 0 ] +}, { + "tz" : "Asia/Jakarta", + "switches" : [ -62135622432, -59006387232, -55850713632, -52695040032, -46383606432, -43227932832, -40072259232, -33760825632, -30605152032, -27449478432, -21138044832, -17982371232, -14826697632, -12219318432, -2208988800 ], + "diffs" : [ -172368, -85968, 432, 86832, 173232, 259632, 346032, 432432, 518832, 605232, 691632, 778032, 864432, 432, 0 ] +}, { + "tz" : "Asia/Jayapura", + "switches" : [ -62135630568, -59006395368, -55850721768, -52695048168, -46383614568, -43227940968, -40072267368, -33760833768, -30605160168, -27449486568, -21138052968, -17982379368, -14826705768, -12219326568, -2208988800 ], + "diffs" : [ -171432, -85032, 1368, 87768, 174168, 260568, 346968, 433368, 519768, 606168, 692568, 778968, 865368, 1368, 0 ] +}, { + "tz" : "Asia/Jerusalem", + "switches" : [ -62135605254, -59006370054, -55850696454, -52695022854, -46383589254, -43227915654, -40072242054, -33760808454, -30605134854, -27449461254, -21138027654, -17982354054, -14826680454, -12219301254, -2840149254, -2208988800 ], + "diffs" : [ -171546, -85146, 1254, 87654, 174054, 260454, 346854, 433254, 519654, 606054, 692454, 778854, 865254, 1254, 1240, 0 ] +}, { + "tz" : "Asia/Kabul", + "switches" : [ -62135613408, -59006378208, -55850704608, -52695031008, -46383597408, -43227923808, -40072250208, -33760816608, -30605143008, -27449469408, -21138035808, -17982362208, -14826688608, -12219309408, -2524538208, -2208988800 ], + "diffs" : [ -172392, -85992, 408, 86808, 173208, 259608, 346008, 432408, 518808, 605208, 691608, 778008, 864408, 408, -1800, 0 ] +}, { + "tz" : "Asia/Kamchatka", + "switches" : [ -62135634876, -59006399676, -55850726076, -52695052476, -46383618876, -43227945276, -40072271676, -33760838076, -30605164476, -27449490876, -21138057276, -17982383676, -14826710076, -12219330876, -2208988800 ], + "diffs" : [ -177924, -91524, -5124, 81276, 167676, 254076, 340476, 426876, 513276, 599676, 686076, 772476, 858876, -5124, 0 ] +}, { + "tz" : "Asia/Karachi", + "switches" : [ -62135612892, -59006377692, -55850704092, -52695030492, -46383596892, -43227923292, -40072249692, -33760816092, -30605142492, -27449468892, -21138035292, -17982361692, -14826688092, -12219308892, -2208988800 ], + "diffs" : [ -174708, -88308, -1908, 84492, 170892, 257292, 343692, 430092, 516492, 602892, 689292, 775692, 862092, -1908, 0 ] +}, { + "tz" : "Asia/Kashgar", + "switches" : [ -62135617820, -59006382620, -55850709020, -52695035420, -46383601820, -43227928220, -40072254620, -33760821020, -30605147420, -27449473820, -21138040220, -17982366620, -14826693020, -12219313820, -2208988800 ], + "diffs" : [ -173380, -86980, -580, 85820, 172220, 258620, 345020, 431420, 517820, 604220, 690620, 777020, 863420, -580, 0 ] +}, { + "tz" : "Asia/Kathmandu", + "switches" : [ -62135617276, -59006382076, -55850708476, -52695034876, -46383601276, -43227927676, -40072254076, -33760820476, -30605146876, -27449473276, -21138039676, -17982366076, -14826692476, -12219313276, -2208988800 ], + "diffs" : [ -173024, -86624, -224, 86176, 172576, 258976, 345376, 431776, 518176, 604576, 690976, 777376, 863776, -224, 0 ] +}, { + "tz" : "Asia/Katmandu", + "switches" : [ -62135617276, -59006382076, -55850708476, -52695034876, -46383601276, -43227927676, -40072254076, -33760820476, -30605146876, -27449473276, -21138039676, -17982366076, -14826692476, -12219313276, -2208988800 ], + "diffs" : [ -173024, -86624, -224, 86176, 172576, 258976, 345376, 431776, 518176, 604576, 690976, 777376, 863776, -224, 0 ] +}, { + "tz" : "Asia/Khandyga", + "switches" : [ -62135629333, -59006394133, -55850720533, -52695046933, -46383613333, -43227939733, -40072266133, -33760832533, -30605158933, -27449485333, -21138051733, -17982378133, -14826704533, -12219325333, -2208988800 ], + "diffs" : [ -172667, -86267, 133, 86533, 172933, 259333, 345733, 432133, 518533, 604933, 691333, 777733, 864133, 133, 0 ] +}, { + "tz" : "Asia/Kolkata", + "switches" : [ -62135618008, -59006382808, -55850709208, -52695035608, -46383602008, -43227928408, -40072254808, -33760821208, -30605147608, -27449474008, -21138040408, -17982366808, -14826693208, -12219314008, -3645237208, -3155694800, -2208988800 ], + "diffs" : [ -171392, -84992, 1408, 87808, 174208, 260608, 347008, 433408, 519808, 606208, 692608, 779008, 865408, 1408, 1400, -530, 0 ] +}, { + "tz" : "Asia/Krasnoyarsk", + "switches" : [ -62135619086, -59006383886, -55850710286, -52695036686, -46383603086, -43227929486, -40072255886, -33760822286, -30605148686, -27449475086, -21138041486, -17982367886, -14826694286, -12219315086, -2208988800 ], + "diffs" : [ -175714, -89314, -2914, 83486, 169886, 256286, 342686, 429086, 515486, 601886, 688286, 774686, 861086, -2914, 0 ] +}, { + "tz" : "Asia/Kuala_Lumpur", + "switches" : [ -62135621206, -59006386006, -55850712406, -52695038806, -46383605206, -43227931606, -40072258006, -33760824406, -30605150806, -27449477206, -21138043606, -17982370006, -14826696406, -12219317206, -2208988800 ], + "diffs" : [ -177194, -90794, -4394, 82006, 168406, 254806, 341206, 427606, 514006, 600406, 686806, 773206, 859606, -4394, 0 ] +}, { + "tz" : "Asia/Kuching", + "switches" : [ -62135623280, -59006388080, -55850714480, -52695040880, -46383607280, -43227933680, -40072260080, -33760826480, -30605152880, -27449479280, -21138045680, -17982372080, -14826698480, -12219319280, -2208988800 ], + "diffs" : [ -175120, -88720, -2320, 84080, 170480, 256880, 343280, 429680, 516080, 602480, 688880, 775280, 861680, -2320, 0 ] +}, { + "tz" : "Asia/Kuwait", + "switches" : [ -62135608012, -59006372812, -55850699212, -52695025612, -46383592012, -43227918412, -40072244812, -33760811212, -30605137612, -27449464012, -21138030412, -17982356812, -14826683212, -12219304012, -2208988800 ], + "diffs" : [ -172388, -85988, 412, 86812, 173212, 259612, 346012, 432412, 518812, 605212, 691612, 778012, 864412, 412, 0 ] +}, { + "tz" : "Asia/Macao", + "switches" : [ -62135624050, -59006388850, -55850715250, -52695041650, -46383608050, -43227934450, -40072260850, -33760827250, -30605153650, -27449480050, -21138046450, -17982372850, -14826699250, -12219320050, -2208988800 ], + "diffs" : [ -174350, -87950, -1550, 84850, 171250, 257650, 344050, 430450, 516850, 603250, 689650, 776050, 862450, -1550, 0 ] +}, { + "tz" : "Asia/Macau", + "switches" : [ -62135624050, -59006388850, -55850715250, -52695041650, -46383608050, -43227934450, -40072260850, -33760827250, -30605153650, -27449480050, -21138046450, -17982372850, -14826699250, -12219320050, -2208988800 ], + "diffs" : [ -174350, -87950, -1550, 84850, 171250, 257650, 344050, 430450, 516850, 603250, 689650, 776050, 862450, -1550, 0 ] +}, { + "tz" : "Asia/Magadan", + "switches" : [ -62135632992, -59006397792, -55850724192, -52695050592, -46383616992, -43227943392, -40072269792, -33760836192, -30605162592, -27449488992, -21138055392, -17982381792, -14826708192, -12219328992, -2208988800 ], + "diffs" : [ -176208, -89808, -3408, 82992, 169392, 255792, 342192, 428592, 514992, 601392, 687792, 774192, 860592, -3408, 0 ] +}, { + "tz" : "Asia/Makassar", + "switches" : [ -62135625456, -59006390256, -55850716656, -52695043056, -46383609456, -43227935856, -40072262256, -33760828656, -30605155056, -27449481456, -21138047856, -17982374256, -14826700656, -12219321456, -2208988800 ], + "diffs" : [ -172944, -86544, -144, 86256, 172656, 259056, 345456, 431856, 518256, 604656, 691056, 777456, 863856, -144, 0 ] +}, { + "tz" : "Asia/Manila", + "switches" : [ -62135539440, -59006304240, -55850630640, -52694957040, -46383523440, -43227849840, -40072176240, -33760742640, -30605069040, -27449395440, -21137961840, -17982288240, -14826614640, -12219235440, -3944621040, -2229321840 ], + "diffs" : [ -258960, -172560, -86160, 240, 86640, 173040, 259440, 345840, 432240, 518640, 605040, 691440, 777840, -86160, 240, 0 ] +}, { + "tz" : "Asia/Muscat", + "switches" : [ -62135610072, -59006374872, -55850701272, -52695027672, -46383594072, -43227920472, -40072246872, -33760813272, -30605139672, -27449466072, -21138032472, -17982358872, -14826685272, -12219306072, -2208988800 ], + "diffs" : [ -173928, -87528, -1128, 85272, 171672, 258072, 344472, 430872, 517272, 603672, 690072, 776472, 862872, -1128, 0 ] +}, { + "tz" : "Asia/Nicosia", + "switches" : [ -62135604808, -59006369608, -55850696008, -52695022408, -46383588808, -43227915208, -40072241608, -33760808008, -30605134408, -27449460808, -21138027208, -17982353608, -14826680008, -12219300808, -2208988800 ], + "diffs" : [ -171992, -85592, 808, 87208, 173608, 260008, 346408, 432808, 519208, 605608, 692008, 778408, 864808, 808, 0 ] +}, { + "tz" : "Asia/Novokuznetsk", + "switches" : [ -62135617728, -59006382528, -55850708928, -52695035328, -46383601728, -43227928128, -40072254528, -33760820928, -30605147328, -27449473728, -21138040128, -17982366528, -14826692928, -12219313728, -2208988800 ], + "diffs" : [ -177072, -90672, -4272, 82128, 168528, 254928, 341328, 427728, 514128, 600528, 686928, 773328, 859728, -4272, 0 ] +}, { + "tz" : "Asia/Novosibirsk", + "switches" : [ -62135616700, -59006381500, -55850707900, -52695034300, -46383600700, -43227927100, -40072253500, -33760819900, -30605146300, -27449472700, -21138039100, -17982365500, -14826691900, -12219312700, -2208988800 ], + "diffs" : [ -178100, -91700, -5300, 81100, 167500, 253900, 340300, 426700, 513100, 599500, 685900, 772300, 858700, -5300, 0 ] +}, { + "tz" : "Asia/Omsk", + "switches" : [ -62135614410, -59006379210, -55850705610, -52695032010, -46383598410, -43227924810, -40072251210, -33760817610, -30605144010, -27449470410, -21138036810, -17982363210, -14826689610, -12219310410, -2208988800 ], + "diffs" : [ -176790, -90390, -3990, 82410, 168810, 255210, 341610, 428010, 514410, 600810, 687210, 773610, 860010, -3990, 0 ] +}, { + "tz" : "Asia/Oral", + "switches" : [ -62135609124, -59006373924, -55850700324, -52695026724, -46383593124, -43227919524, -40072245924, -33760812324, -30605138724, -27449465124, -21138031524, -17982357924, -14826684324, -12219305124, -2208988800 ], + "diffs" : [ -178476, -92076, -5676, 80724, 167124, 253524, 339924, 426324, 512724, 599124, 685524, 771924, 858324, -5676, 0 ] +}, { + "tz" : "Asia/Phnom_Penh", + "switches" : [ -62135620924, -59006385724, -55850712124, -52695038524, -46383604924, -43227931324, -40072257724, -33760824124, -30605150524, -27449476924, -21138043324, -17982369724, -14826696124, -12219316924, -2208988800 ], + "diffs" : [ -173876, -87476, -1076, 85324, 171724, 258124, 344524, 430924, 517324, 603724, 690124, 776524, 862924, -1076, 0 ] +}, { + "tz" : "Asia/Pontianak", + "switches" : [ -62135623040, -59006387840, -55850714240, -52695040640, -46383607040, -43227933440, -40072259840, -33760826240, -30605152640, -27449479040, -21138045440, -17982371840, -14826698240, -12219319040, -2208988800 ], + "diffs" : [ -171760, -85360, 1040, 87440, 173840, 260240, 346640, 433040, 519440, 605840, 692240, 778640, 865040, 1040, 0 ] +}, { + "tz" : "Asia/Pyongyang", + "switches" : [ -62135626980, -59006391780, -55850718180, -52695044580, -46383610980, -43227937380, -40072263780, -33760830180, -30605156580, -27449482980, -21138049380, -17982375780, -14826702180, -12219322980, -2208988800 ], + "diffs" : [ -175020, -88620, -2220, 84180, 170580, 256980, 343380, 429780, 516180, 602580, 688980, 775380, 861780, -2220, 0 ] +}, { + "tz" : "Asia/Qatar", + "switches" : [ -62135609168, -59006373968, -55850700368, -52695026768, -46383593168, -43227919568, -40072245968, -33760812368, -30605138768, -27449465168, -21138031568, -17982357968, -14826684368, -12219305168, -2208988800 ], + "diffs" : [ -171232, -84832, 1568, 87968, 174368, 260768, 347168, 433568, 519968, 606368, 692768, 779168, 865568, 1568, 0 ] +}, { + "tz" : "Asia/Qostanay", + "switches" : [ -62135612068, -59006376868, -55850703268, -52695029668, -46383596068, -43227922468, -40072248868, -33760815268, -30605141668, -27449468068, -21138034468, -17982360868, -14826687268, -12219308068, -2208988800 ], + "diffs" : [ -179132, -92732, -6332, 80068, 166468, 252868, 339268, 425668, 512068, 598468, 684868, 771268, 857668, -6332, 0 ] +}, { + "tz" : "Asia/Qyzylorda", + "switches" : [ -62135612512, -59006377312, -55850703712, -52695030112, -46383596512, -43227922912, -40072249312, -33760815712, -30605142112, -27449468512, -21138034912, -17982361312, -14826687712, -12219308512, -2208988800 ], + "diffs" : [ -175088, -88688, -2288, 84112, 170512, 256912, 343312, 429712, 516112, 602512, 688912, 775312, 861712, -2288, 0 ] +}, { + "tz" : "Asia/Rangoon", + "switches" : [ -62135619887, -59006384687, -55850711087, -52695037487, -46383603887, -43227930287, -40072256687, -33760823087, -30605149487, -27449475887, -21138042287, -17982368687, -14826695087, -12219315887, -2208988800 ], + "diffs" : [ -173113, -86713, -313, 86087, 172487, 258887, 345287, 431687, 518087, 604487, 690887, 777287, 863687, -313, 0 ] +}, { + "tz" : "Asia/Riyadh", + "switches" : [ -62135608012, -59006372812, -55850699212, -52695025612, -46383592012, -43227918412, -40072244812, -33760811212, -30605137612, -27449464012, -21138030412, -17982356812, -14826683212, -12219304012, -2208988800 ], + "diffs" : [ -172388, -85988, 412, 86812, 173212, 259612, 346012, 432412, 518812, 605212, 691612, 778012, 864412, 412, 0 ] +}, { + "tz" : "Asia/Saigon", + "switches" : [ -62135622400, -59006387200, -55850713600, -52695040000, -46383606400, -43227932800, -40072259200, -33760825600, -30605152000, -27449478400, -21138044800, -17982371200, -14826697600, -12219318400, -2208988800 ], + "diffs" : [ -172400, -86000, 400, 86800, 173200, 259600, 346000, 432400, 518800, 605200, 691600, 778000, 864400, 400, 0 ] +}, { + "tz" : "Asia/Sakhalin", + "switches" : [ -62135631048, -59006395848, -55850722248, -52695048648, -46383615048, -43227941448, -40072267848, -33760834248, -30605160648, -27449487048, -21138053448, -17982379848, -14826706248, -12219327048, -2208988800 ], + "diffs" : [ -178152, -91752, -5352, 81048, 167448, 253848, 340248, 426648, 513048, 599448, 685848, 772248, 858648, -5352, 0 ] +}, { + "tz" : "Asia/Samarkand", + "switches" : [ -62135612873, -59006377673, -55850704073, -52695030473, -46383596873, -43227923273, -40072249673, -33760816073, -30605142473, -27449468873, -21138035273, -17982361673, -14826688073, -12219308873, -2208988800 ], + "diffs" : [ -174727, -88327, -1927, 84473, 170873, 257273, 343673, 430073, 516473, 602873, 689273, 775673, 862073, -1927, 0 ] +}, { + "tz" : "Asia/Seoul", + "switches" : [ -62135627272, -59006392072, -55850718472, -52695044872, -46383611272, -43227937672, -40072264072, -33760830472, -30605156872, -27449483272, -21138049672, -17982376072, -14826702472, -12219323272, -2208988800 ], + "diffs" : [ -174728, -88328, -1928, 84472, 170872, 257272, 343672, 430072, 516472, 602872, 689272, 775672, 862072, -1928, 0 ] +}, { + "tz" : "Asia/Shanghai", + "switches" : [ -62135625943, -59006390743, -55850717143, -52695043543, -46383609943, -43227936343, -40072262743, -33760829143, -30605155543, -27449481943, -21138048343, -17982374743, -14826701143, -12219321943, -2208988800 ], + "diffs" : [ -172457, -86057, 343, 86743, 173143, 259543, 345943, 432343, 518743, 605143, 691543, 777943, 864343, 343, 0 ] +}, { + "tz" : "Asia/Singapore", + "switches" : [ -62135621725, -59006386525, -55850712925, -52695039325, -46383605725, -43227932125, -40072258525, -33760824925, -30605151325, -27449477725, -21138044125, -17982370525, -14826696925, -12219317725, -2208988800 ], + "diffs" : [ -176675, -90275, -3875, 82525, 168925, 255325, 341725, 428125, 514525, 600925, 687325, 773725, 860125, -3875, 0 ] +}, { + "tz" : "Asia/Srednekolymsk", + "switches" : [ -62135633692, -59006398492, -55850724892, -52695051292, -46383617692, -43227944092, -40072270492, -33760836892, -30605163292, -27449489692, -21138056092, -17982382492, -14826708892, -12219329692, -2208988800 ], + "diffs" : [ -175508, -89108, -2708, 83692, 170092, 256492, 342892, 429292, 515692, 602092, 688492, 774892, 861292, -2708, 0 ] +}, { + "tz" : "Asia/Taipei", + "switches" : [ -62135625960, -59006390760, -55850717160, -52695043560, -46383609960, -43227936360, -40072262760, -33760829160, -30605155560, -27449481960, -21138048360, -17982374760, -14826701160, -12219321960, -2335248360 ], + "diffs" : [ -172440, -86040, 360, 86760, 173160, 259560, 345960, 432360, 518760, 605160, 691560, 777960, 864360, 360, 0 ] +}, { + "tz" : "Asia/Tashkent", + "switches" : [ -62135613431, -59006378231, -55850704631, -52695031031, -46383597431, -43227923831, -40072250231, -33760816631, -30605143031, -27449469431, -21138035831, -17982362231, -14826688631, -12219309431, -2208988800 ], + "diffs" : [ -174169, -87769, -1369, 85031, 171431, 257831, 344231, 430631, 517031, 603431, 689831, 776231, 862631, -1369, 0 ] +}, { + "tz" : "Asia/Tbilisi", + "switches" : [ -62135607551, -59006372351, -55850698751, -52695025151, -46383591551, -43227917951, -40072244351, -33760810751, -30605137151, -27449463551, -21138029951, -17982356351, -14826682751, -12219303551, -2208988800 ], + "diffs" : [ -176449, -90049, -3649, 82751, 169151, 255551, 341951, 428351, 514751, 601151, 687551, 773951, 860351, -3649, 0 ] +}, { + "tz" : "Asia/Tel_Aviv", + "switches" : [ -62135605254, -59006370054, -55850696454, -52695022854, -46383589254, -43227915654, -40072242054, -33760808454, -30605134854, -27449461254, -21138027654, -17982354054, -14826680454, -12219301254, -2840149254, -2208988800 ], + "diffs" : [ -171546, -85146, 1254, 87654, 174054, 260454, 346854, 433254, 519654, 606054, 692454, 778854, 865254, 1254, 1240, 0 ] +}, { + "tz" : "Asia/Thimbu", + "switches" : [ -62135618316, -59006383116, -55850709516, -52695035916, -46383602316, -43227928716, -40072255116, -33760821516, -30605147916, -27449474316, -21138040716, -17982367116, -14826693516, -12219314316, -2208988800 ], + "diffs" : [ -172884, -86484, -84, 86316, 172716, 259116, 345516, 431916, 518316, 604716, 691116, 777516, 863916, -84, 0 ] +}, { + "tz" : "Asia/Thimphu", + "switches" : [ -62135618316, -59006383116, -55850709516, -52695035916, -46383602316, -43227928716, -40072255116, -33760821516, -30605147916, -27449474316, -21138040716, -17982367116, -14826693516, -12219314316, -2208988800 ], + "diffs" : [ -172884, -86484, -84, 86316, 172716, 259116, 345516, 431916, 518316, 604716, 691116, 777516, 863916, -84, 0 ] +}, { + "tz" : "Asia/Tokyo", + "switches" : [ -62135630339, -59006395139, -55850721539, -52695047939, -46383614339, -43227940739, -40072267139, -33760833539, -30605159939, -27449486339, -21138052739, -17982379139, -14826705539, -12219326339, -2587712400 ], + "diffs" : [ -171661, -85261, 1139, 87539, 173939, 260339, 346739, 433139, 519539, 605939, 692339, 778739, 865139, 1139, 0 ] +}, { + "tz" : "Asia/Tomsk", + "switches" : [ -62135617191, -59006381991, -55850708391, -52695034791, -46383601191, -43227927591, -40072253991, -33760820391, -30605146791, -27449473191, -21138039591, -17982365991, -14826692391, -12219313191, -2208988800 ], + "diffs" : [ -177609, -91209, -4809, 81591, 167991, 254391, 340791, 427191, 513591, 599991, 686391, 772791, 859191, -4809, 0 ] +}, { + "tz" : "Asia/Ujung_Pandang", + "switches" : [ -62135625456, -59006390256, -55850716656, -52695043056, -46383609456, -43227935856, -40072262256, -33760828656, -30605155056, -27449481456, -21138047856, -17982374256, -14826700656, -12219321456, -2208988800 ], + "diffs" : [ -172944, -86544, -144, 86256, 172656, 259056, 345456, 431856, 518256, 604656, 691056, 777456, 863856, -144, 0 ] +}, { + "tz" : "Asia/Ulaanbaatar", + "switches" : [ -62135622452, -59006387252, -55850713652, -52695040052, -46383606452, -43227932852, -40072259252, -33760825652, -30605152052, -27449478452, -21138044852, -17982371252, -14826697652, -12219318452, -2208988800 ], + "diffs" : [ -175948, -89548, -3148, 83252, 169652, 256052, 342452, 428852, 515252, 601652, 688052, 774452, 860852, -3148, 0 ] +}, { + "tz" : "Asia/Ulan_Bator", + "switches" : [ -62135622452, -59006387252, -55850713652, -52695040052, -46383606452, -43227932852, -40072259252, -33760825652, -30605152052, -27449478452, -21138044852, -17982371252, -14826697652, -12219318452, -2208988800 ], + "diffs" : [ -175948, -89548, -3148, 83252, 169652, 256052, 342452, 428852, 515252, 601652, 688052, 774452, 860852, -3148, 0 ] +}, { + "tz" : "Asia/Urumqi", + "switches" : [ -62135617820, -59006382620, -55850709020, -52695035420, -46383601820, -43227928220, -40072254620, -33760821020, -30605147420, -27449473820, -21138040220, -17982366620, -14826693020, -12219313820, -2208988800 ], + "diffs" : [ -173380, -86980, -580, 85820, 172220, 258620, 345020, 431420, 517820, 604220, 690620, 777020, 863420, -580, 0 ] +}, { + "tz" : "Asia/Ust-Nera", + "switches" : [ -62135631174, -59006395974, -55850722374, -52695048774, -46383615174, -43227941574, -40072267974, -33760834374, -30605160774, -27449487174, -21138053574, -17982379974, -14826706374, -12219327174, -2208988800 ], + "diffs" : [ -174426, -88026, -1626, 84774, 171174, 257574, 343974, 430374, 516774, 603174, 689574, 775974, 862374, -1626, 0 ] +}, { + "tz" : "Asia/Vientiane", + "switches" : [ -62135620924, -59006385724, -55850712124, -52695038524, -46383604924, -43227931324, -40072257724, -33760824124, -30605150524, -27449476924, -21138043324, -17982369724, -14826696124, -12219316924, -2208988800 ], + "diffs" : [ -173876, -87476, -1076, 85324, 171724, 258124, 344524, 430924, 517324, 603724, 690124, 776524, 862924, -1076, 0 ] +}, { + "tz" : "Asia/Vladivostok", + "switches" : [ -62135628451, -59006393251, -55850719651, -52695046051, -46383612451, -43227938851, -40072265251, -33760831651, -30605158051, -27449484451, -21138050851, -17982377251, -14826703651, -12219324451, -2208988800 ], + "diffs" : [ -177149, -90749, -4349, 82051, 168451, 254851, 341251, 427651, 514051, 600451, 686851, 773251, 859651, -4349, 0 ] +}, { + "tz" : "Asia/Yakutsk", + "switches" : [ -62135627938, -59006392738, -55850719138, -52695045538, -46383611938, -43227938338, -40072264738, -33760831138, -30605157538, -27449483938, -21138050338, -17982376738, -14826703138, -12219323938, -2208988800 ], + "diffs" : [ -174062, -87662, -1262, 85138, 171538, 257938, 344338, 430738, 517138, 603538, 689938, 776338, 862738, -1262, 0 ] +}, { + "tz" : "Asia/Yangon", + "switches" : [ -62135619887, -59006384687, -55850711087, -52695037487, -46383603887, -43227930287, -40072256687, -33760823087, -30605149487, -27449475887, -21138042287, -17982368687, -14826695087, -12219315887, -2208988800 ], + "diffs" : [ -173113, -86713, -313, 86087, 172487, 258887, 345287, 431687, 518087, 604487, 690887, 777287, 863687, -313, 0 ] +}, { + "tz" : "Asia/Yekaterinburg", + "switches" : [ -62135611353, -59006376153, -55850702553, -52695028953, -46383595353, -43227921753, -40072248153, -33760814553, -30605140953, -27449467353, -21138033753, -17982360153, -14826686553, -12219307353, -2208988800 ], + "diffs" : [ -176247, -89847, -3447, 82953, 169353, 255753, 342153, 428553, 514953, 601353, 687753, 774153, 860553, -3447, 0 ] +}, { + "tz" : "Asia/Yerevan", + "switches" : [ -62135607480, -59006372280, -55850698680, -52695025080, -46383591480, -43227917880, -40072244280, -33760810680, -30605137080, -27449463480, -21138029880, -17982356280, -14826682680, -12219303480, -2208988800 ], + "diffs" : [ -176520, -90120, -3720, 82680, 169080, 255480, 341880, 428280, 514680, 601080, 687480, 773880, 860280, -3720, 0 ] +}, { + "tz" : "Atlantic/Azores", + "switches" : [ -62135590640, -59006355440, -55850681840, -52695008240, -46383574640, -43227901040, -40072227440, -33760793840, -30605120240, -27449446640, -21138013040, -17982339440, -14826665840, -12219286640, -2713904240, -2208988800 ], + "diffs" : [ -175360, -88960, -2560, 83840, 170240, 256640, 343040, 429440, 515840, 602240, 688640, 775040, 861440, -2560, -3272, 0 ] +}, { + "tz" : "Atlantic/Bermuda", + "switches" : [ -62135581242, -59006346042, -55850672442, -52694998842, -46383565242, -43227891642, -40072218042, -33760784442, -30605110842, -27449437242, -21138003642, -17982330042, -14826656442, -12219277242, -2208988800 ], + "diffs" : [ -173958, -87558, -1158, 85242, 171642, 258042, 344442, 430842, 517242, 603642, 690042, 776442, 862842, -1158, 0 ] +}, { + "tz" : "Atlantic/Canary", + "switches" : [ -62135593104, -59006357904, -55850684304, -52695010704, -46383577104, -43227903504, -40072229904, -33760796304, -30605122704, -27449449104, -21138015504, -17982341904, -14826668304, -12219289104, -2208988800 ], + "diffs" : [ -176496, -90096, -3696, 82704, 169104, 255504, 341904, 428304, 514704, 601104, 687504, 773904, 860304, -3696, 0 ] +}, { + "tz" : "Atlantic/Cape_Verde", + "switches" : [ -62135591156, -59006355956, -55850682356, -52695008756, -46383575156, -43227901556, -40072227956, -33760794356, -30605120756, -27449447156, -21138013556, -17982339956, -14826666356, -12219287156, -2208988800 ], + "diffs" : [ -174844, -88444, -2044, 84356, 170756, 257156, 343556, 429956, 516356, 602756, 689156, 775556, 861956, -2044, 0 ] +}, { + "tz" : "Atlantic/Faeroe", + "switches" : [ -62135595176, -59006359976, -55850686376, -52695012776, -46383579176, -43227905576, -40072231976, -33760798376, -30605124776, -27449451176, -21138017576, -17982343976, -14826670376, -12219291176, -2208988800 ], + "diffs" : [ -174424, -88024, -1624, 84776, 171176, 257576, 343976, 430376, 516776, 603176, 689576, 775976, 862376, -1624, 0 ] +}, { + "tz" : "Atlantic/Faroe", + "switches" : [ -62135595176, -59006359976, -55850686376, -52695012776, -46383579176, -43227905576, -40072231976, -33760798376, -30605124776, -27449451176, -21138017576, -17982343976, -14826670376, -12219291176, -2208988800 ], + "diffs" : [ -174424, -88024, -1624, 84776, 171176, 257576, 343976, 430376, 516776, 603176, 689576, 775976, 862376, -1624, 0 ] +}, { + "tz" : "Atlantic/Jan_Mayen", + "switches" : [ -62135599380, -59006364180, -55850690580, -52695016980, -46383583380, -43227909780, -40072236180, -33760802580, -30605128980, -27449455380, -21138021780, -17982348180, -14826674580, -12219295380, -2366757780 ], + "diffs" : [ -173820, -87420, -1020, 85380, 171780, 258180, 344580, 430980, 517380, 603780, 690180, 776580, 862980, -1020, 0 ] +}, { + "tz" : "Atlantic/Madeira", + "switches" : [ -62135592744, -59006357544, -55850683944, -52695010344, -46383576744, -43227903144, -40072229544, -33760795944, -30605122344, -27449448744, -21138015144, -17982341544, -14826667944, -12219288744, -2208988800 ], + "diffs" : [ -176856, -90456, -4056, 82344, 168744, 255144, 341544, 427944, 514344, 600744, 687144, 773544, 859944, -4056, 0 ] +}, { + "tz" : "Atlantic/Reykjavik", + "switches" : [ -62135591520, -59006356320, -55850682720, -52695009120, -46383575520, -43227901920, -40072228320, -33760794720, -30605121120, -27449447520, -21138013920, -17982340320, -14826666720, -12219287520, -2208988800 ], + "diffs" : [ -178080, -91680, -5280, 81120, 167520, 253920, 340320, 426720, 513120, 599520, 685920, 772320, 858720, -5280, 0 ] +}, { + "tz" : "Atlantic/South_Georgia", + "switches" : [ -62135588032, -59006352832, -55850679232, -52695005632, -46383572032, -43227898432, -40072224832, -33760791232, -30605117632, -27449444032, -21138010432, -17982336832, -14826663232, -12219284032, -2524512832 ], + "diffs" : [ -174368, -87968, -1568, 84832, 171232, 257632, 344032, 430432, 516832, 603232, 689632, 776032, 862432, -1568, 0 ] +}, { + "tz" : "Atlantic/St_Helena", + "switches" : [ -62135595832, -59006360632, -55850687032, -52695013432, -46383579832, -43227906232, -40072232632, -33760799032, -30605125432, -27449451832, -21138018232, -17982344632, -14826671032, -12219291832, -2208988800 ], + "diffs" : [ -173768, -87368, -968, 85432, 171832, 258232, 344632, 431032, 517432, 603832, 690232, 776632, 863032, -968, 0 ] +}, { + "tz" : "Atlantic/Stanley", + "switches" : [ -62135582916, -59006347716, -55850674116, -52695000516, -46383566916, -43227893316, -40072219716, -33760786116, -30605112516, -27449438916, -21138005316, -17982331716, -14826658116, -12219278916, -2208988800 ], + "diffs" : [ -175884, -89484, -3084, 83316, 169716, 256116, 342516, 428916, 515316, 601716, 688116, 774516, 860916, -3084, 0 ] +}, { + "tz" : "Australia/ACT", + "switches" : [ -62135633092, -59006397892, -55850724292, -52695050692, -46383617092, -43227943492, -40072269892, -33760836292, -30605162692, -27449489092, -21138055492, -17982381892, -14826708292, -12219329092, -2364113092 ], + "diffs" : [ -172508, -86108, 292, 86692, 173092, 259492, 345892, 432292, 518692, 605092, 691492, 777892, 864292, 292, 0 ] +}, { + "tz" : "Australia/Adelaide", + "switches" : [ -62135630060, -59006394860, -55850721260, -52695047660, -46383614060, -43227940460, -40072266860, -33760833260, -30605159660, -27449486060, -21138052460, -17982378860, -14826705260, -12219326060, -2364110060, -2230189200 ], + "diffs" : [ -173740, -87340, -940, 85460, 171860, 258260, 344660, 431060, 517460, 603860, 690260, 776660, 863060, -940, -1800, 0 ] +}, { + "tz" : "Australia/Brisbane", + "switches" : [ -62135633528, -59006398328, -55850724728, -52695051128, -46383617528, -43227943928, -40072270328, -33760836728, -30605163128, -27449489528, -21138055928, -17982382328, -14826708728, -12219329528, -2366791928 ], + "diffs" : [ -172072, -85672, 728, 87128, 173528, 259928, 346328, 432728, 519128, 605528, 691928, 778328, 864728, 728, 0 ] +}, { + "tz" : "Australia/Broken_Hill", + "switches" : [ -62135630748, -59006395548, -55850721948, -52695048348, -46383614748, -43227941148, -40072267548, -33760833948, -30605160348, -27449486748, -21138053148, -17982379548, -14826705948, -12219326748, -2364110748, -2314951200, -2230189200 ], + "diffs" : [ -173052, -86652, -252, 86148, 172548, 258948, 345348, 431748, 518148, 604548, 690948, 777348, 863748, -252, 1800, -1800, 0 ] +}, { + "tz" : "Australia/Canberra", + "switches" : [ -62135633092, -59006397892, -55850724292, -52695050692, -46383617092, -43227943492, -40072269892, -33760836292, -30605162692, -27449489092, -21138055492, -17982381892, -14826708292, -12219329092, -2364113092 ], + "diffs" : [ -172508, -86108, 292, 86692, 173092, 259492, 345892, 432292, 518692, 605092, 691492, 777892, 864292, 292, 0 ] +}, { + "tz" : "Australia/Currie", + "switches" : [ -62135631328, -59006396128, -55850722528, -52695048928, -46383615328, -43227941728, -40072268128, -33760834528, -30605160928, -27449487328, -21138053728, -17982380128, -14826706528, -12219327328, -2345794528 ], + "diffs" : [ -174272, -87872, -1472, 84928, 171328, 257728, 344128, 430528, 516928, 603328, 689728, 776128, 862528, -1472, 0 ] +}, { + "tz" : "Australia/Darwin", + "switches" : [ -62135628200, -59006393000, -55850719400, -52695045800, -46383612200, -43227938600, -40072265000, -33760831400, -30605157800, -27449484200, -21138050600, -17982377000, -14826703400, -12219324200, -2364108200, -2230189200 ], + "diffs" : [ -175600, -89200, -2800, 83600, 170000, 256400, 342800, 429200, 515600, 602000, 688400, 774800, 861200, -2800, -1800, 0 ] +}, { + "tz" : "Australia/Eucla", + "switches" : [ -62135627728, -59006392528, -55850718928, -52695045328, -46383611728, -43227938128, -40072264528, -33760830928, -30605157328, -27449483728, -21138050128, -17982376528, -14826702928, -12219323728, -2337928528 ], + "diffs" : [ -173372, -86972, -572, 85828, 172228, 258628, 345028, 431428, 517828, 604228, 690628, 777028, 863428, -572, 0 ] +}, { + "tz" : "Australia/Hobart", + "switches" : [ -62135632156, -59006396956, -55850723356, -52695049756, -46383616156, -43227942556, -40072268956, -33760835356, -30605161756, -27449488156, -21138054556, -17982380956, -14826707356, -12219328156, -2345795356 ], + "diffs" : [ -173444, -87044, -644, 85756, 172156, 258556, 344956, 431356, 517756, 604156, 690556, 776956, 863356, -644, 0 ] +}, { + "tz" : "Australia/LHI", + "switches" : [ -62135634980, -59006399780, -55850726180, -52695052580, -46383618980, -43227945380, -40072271780, -33760838180, -30605164580, -27449490980, -21138057380, -17982383780, -14826710180, -12219330980, -2364114980, -2208988800 ], + "diffs" : [ -172420, -86020, 380, 86780, 173180, 259580, 345980, 432380, 518780, 605180, 691580, 777980, 864380, 380, -1800, 0 ] +}, { + "tz" : "Australia/Lindeman", + "switches" : [ -62135632556, -59006397356, -55850723756, -52695050156, -46383616556, -43227942956, -40072269356, -33760835756, -30605162156, -27449488556, -21138054956, -17982381356, -14826707756, -12219328556, -2366790956 ], + "diffs" : [ -173044, -86644, -244, 86156, 172556, 258956, 345356, 431756, 518156, 604556, 690956, 777356, 863756, -244, 0 ] +}, { + "tz" : "Australia/Lord_Howe", + "switches" : [ -62135634980, -59006399780, -55850726180, -52695052580, -46383618980, -43227945380, -40072271780, -33760838180, -30605164580, -27449490980, -21138057380, -17982383780, -14826710180, -12219330980, -2364114980, -2208988800 ], + "diffs" : [ -172420, -86020, 380, 86780, 173180, 259580, 345980, 432380, 518780, 605180, 691580, 777980, 864380, 380, -1800, 0 ] +}, { + "tz" : "Australia/Melbourne", + "switches" : [ -62135631592, -59006396392, -55850722792, -52695049192, -46383615592, -43227941992, -40072268392, -33760834792, -30605161192, -27449487592, -21138053992, -17982380392, -14826706792, -12219327592, -2364111592 ], + "diffs" : [ -174008, -87608, -1208, 85192, 171592, 257992, 344392, 430792, 517192, 603592, 689992, 776392, 862792, -1208, 0 ] +}, { + "tz" : "Australia/NSW", + "switches" : [ -62135633092, -59006397892, -55850724292, -52695050692, -46383617092, -43227943492, -40072269892, -33760836292, -30605162692, -27449489092, -21138055492, -17982381892, -14826708292, -12219329092, -2364113092 ], + "diffs" : [ -172508, -86108, 292, 86692, 173092, 259492, 345892, 432292, 518692, 605092, 691492, 777892, 864292, 292, 0 ] +}, { + "tz" : "Australia/North", + "switches" : [ -62135628200, -59006393000, -55850719400, -52695045800, -46383612200, -43227938600, -40072265000, -33760831400, -30605157800, -27449484200, -21138050600, -17982377000, -14826703400, -12219324200, -2364108200, -2230189200 ], + "diffs" : [ -175600, -89200, -2800, 83600, 170000, 256400, 342800, 429200, 515600, 602000, 688400, 774800, 861200, -2800, -1800, 0 ] +}, { + "tz" : "Australia/Perth", + "switches" : [ -62135624604, -59006389404, -55850715804, -52695042204, -46383608604, -43227935004, -40072261404, -33760827804, -30605154204, -27449480604, -21138047004, -17982373404, -14826699804, -12219320604, -2337925404 ], + "diffs" : [ -173796, -87396, -996, 85404, 171804, 258204, 344604, 431004, 517404, 603804, 690204, 776604, 863004, -996, 0 ] +}, { + "tz" : "Australia/Queensland", + "switches" : [ -62135633528, -59006398328, -55850724728, -52695051128, -46383617528, -43227943928, -40072270328, -33760836728, -30605163128, -27449489528, -21138055928, -17982382328, -14826708728, -12219329528, -2366791928 ], + "diffs" : [ -172072, -85672, 728, 87128, 173528, 259928, 346328, 432728, 519128, 605528, 691928, 778328, 864728, 728, 0 ] +}, { + "tz" : "Australia/South", + "switches" : [ -62135630060, -59006394860, -55850721260, -52695047660, -46383614060, -43227940460, -40072266860, -33760833260, -30605159660, -27449486060, -21138052460, -17982378860, -14826705260, -12219326060, -2364110060, -2230189200 ], + "diffs" : [ -173740, -87340, -940, 85460, 171860, 258260, 344660, 431060, 517460, 603860, 690260, 776660, 863060, -940, -1800, 0 ] +}, { + "tz" : "Australia/Sydney", + "switches" : [ -62135633092, -59006397892, -55850724292, -52695050692, -46383617092, -43227943492, -40072269892, -33760836292, -30605162692, -27449489092, -21138055492, -17982381892, -14826708292, -12219329092, -2364113092 ], + "diffs" : [ -172508, -86108, 292, 86692, 173092, 259492, 345892, 432292, 518692, 605092, 691492, 777892, 864292, 292, 0 ] +}, { + "tz" : "Australia/Tasmania", + "switches" : [ -62135632156, -59006396956, -55850723356, -52695049756, -46383616156, -43227942556, -40072268956, -33760835356, -30605161756, -27449488156, -21138054556, -17982380956, -14826707356, -12219328156, -2345795356 ], + "diffs" : [ -173444, -87044, -644, 85756, 172156, 258556, 344956, 431356, 517756, 604156, 690556, 776956, 863356, -644, 0 ] +}, { + "tz" : "Australia/Victoria", + "switches" : [ -62135631592, -59006396392, -55850722792, -52695049192, -46383615592, -43227941992, -40072268392, -33760834792, -30605161192, -27449487592, -21138053992, -17982380392, -14826706792, -12219327592, -2364111592 ], + "diffs" : [ -174008, -87608, -1208, 85192, 171592, 257992, 344392, 430792, 517192, 603592, 689992, 776392, 862792, -1208, 0 ] +}, { + "tz" : "Australia/West", + "switches" : [ -62135624604, -59006389404, -55850715804, -52695042204, -46383608604, -43227935004, -40072261404, -33760827804, -30605154204, -27449480604, -21138047004, -17982373404, -14826699804, -12219320604, -2337925404 ], + "diffs" : [ -173796, -87396, -996, 85404, 171804, 258204, 344604, 431004, 517404, 603804, 690204, 776604, 863004, -996, 0 ] +}, { + "tz" : "Australia/Yancowinna", + "switches" : [ -62135630748, -59006395548, -55850721948, -52695048348, -46383614748, -43227941148, -40072267548, -33760833948, -30605160348, -27449486748, -21138053148, -17982379548, -14826705948, -12219326748, -2364110748, -2314951200, -2230189200 ], + "diffs" : [ -173052, -86652, -252, 86148, 172548, 258948, 345348, 431748, 518148, 604548, 690948, 777348, 863748, -252, 1800, -1800, 0 ] +}, { + "tz" : "Brazil/Acre", + "switches" : [ -62135580528, -59006345328, -55850671728, -52694998128, -46383564528, -43227890928, -40072217328, -33760783728, -30605110128, -27449436528, -21138002928, -17982329328, -14826655728, -12219276528, -2208988800 ], + "diffs" : [ -171072, -84672, 1728, 88128, 174528, 260928, 347328, 433728, 520128, 606528, 692928, 779328, 865728, 1728, 0 ] +}, { + "tz" : "Brazil/DeNoronha", + "switches" : [ -62135589020, -59006353820, -55850680220, -52695006620, -46383573020, -43227899420, -40072225820, -33760792220, -30605118620, -27449445020, -21138011420, -17982337820, -14826664220, -12219285020, -2208988800 ], + "diffs" : [ -173380, -86980, -580, 85820, 172220, 258620, 345020, 431420, 517820, 604220, 690620, 777020, 863420, -580, 0 ] +}, { + "tz" : "Brazil/East", + "switches" : [ -62135585612, -59006350412, -55850676812, -52695003212, -46383569612, -43227896012, -40072222412, -33760788812, -30605115212, -27449441612, -21138008012, -17982334412, -14826660812, -12219281612, -2208988800 ], + "diffs" : [ -173188, -86788, -388, 86012, 172412, 258812, 345212, 431612, 518012, 604412, 690812, 777212, 863612, -388, 0 ] +}, { + "tz" : "Brazil/West", + "switches" : [ -62135582396, -59006347196, -55850673596, -52694999996, -46383566396, -43227892796, -40072219196, -33760785596, -30605111996, -27449438396, -21138004796, -17982331196, -14826657596, -12219278396, -2208988800 ], + "diffs" : [ -172804, -86404, -4, 86396, 172796, 259196, 345596, 431996, 518396, 604796, 691196, 777596, 863996, -4, 0 ] +}, { + "tz" : "CET", + "switches" : [ -62135600400, -59006365200, -55850691600, -52695018000, -46383584400, -43227910800, -40072237200, -33760803600, -30605130000, -27449456400, -21138022800, -17982349200, -14826675600, -12219296400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "CST6CDT", + "switches" : [ -62135575200, -59006340000, -55850666400, -52694992800, -46383559200, -43227885600, -40072212000, -33760778400, -30605104800, -27449431200, -21137997600, -17982324000, -14826650400, -12219271200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Canada/Atlantic", + "switches" : [ -62135581536, -59006346336, -55850672736, -52694999136, -46383565536, -43227891936, -40072218336, -33760784736, -30605111136, -27449437536, -21138003936, -17982330336, -14826656736, -12219277536, -2208988800 ], + "diffs" : [ -173664, -87264, -864, 85536, 171936, 258336, 344736, 431136, 517536, 603936, 690336, 776736, 863136, -864, 0 ] +}, { + "tz" : "Canada/Central", + "switches" : [ -62135573484, -59006338284, -55850664684, -52694991084, -46383557484, -43227883884, -40072210284, -33760776684, -30605103084, -27449429484, -21137995884, -17982322284, -14826648684, -12219269484, -2602258284 ], + "diffs" : [ -174516, -88116, -1716, 84684, 171084, 257484, 343884, 430284, 516684, 603084, 689484, 775884, 862284, -1716, 0 ] +}, { + "tz" : "Canada/Eastern", + "switches" : [ -62135577748, -59006342548, -55850668948, -52694995348, -46383561748, -43227888148, -40072214548, -33760780948, -30605107348, -27449433748, -21138000148, -17982326548, -14826652948, -12219273748, -2366736148 ], + "diffs" : [ -173852, -87452, -1052, 85348, 171748, 258148, 344548, 430948, 517348, 603748, 690148, 776548, 862948, -1052, 0 ] +}, { + "tz" : "Canada/Mountain", + "switches" : [ -62135569568, -59006334368, -55850660768, -52694987168, -46383553568, -43227879968, -40072206368, -33760772768, -30605099168, -27449425568, -21137991968, -17982318368, -14826644768, -12219265568, -2208988800 ], + "diffs" : [ -174832, -88432, -2032, 84368, 170768, 257168, 343568, 429968, 516368, 602768, 689168, 775568, 861968, -2032, 0 ] +}, { + "tz" : "Canada/Newfoundland", + "switches" : [ -62135584148, -59006348948, -55850675348, -52695001748, -46383568148, -43227894548, -40072220948, -33760787348, -30605113748, -27449440148, -21138006548, -17982332948, -14826659348, -12219280148, -2208988800 ], + "diffs" : [ -172852, -86452, -52, 86348, 172748, 259148, 345548, 431948, 518348, 604748, 691148, 777548, 863948, -52, 0 ] +}, { + "tz" : "Canada/Pacific", + "switches" : [ -62135567252, -59006332052, -55850658452, -52694984852, -46383551252, -43227877652, -40072204052, -33760770452, -30605096852, -27449423252, -21137989652, -17982316052, -14826642452, -12219263252, -2713880852 ], + "diffs" : [ -173548, -87148, -748, 85652, 172052, 258452, 344852, 431252, 517652, 604052, 690452, 776852, 863252, -748, 0 ] +}, { + "tz" : "Canada/Saskatchewan", + "switches" : [ -62135571684, -59006336484, -55850662884, -52694989284, -46383555684, -43227882084, -40072208484, -33760774884, -30605101284, -27449427684, -21137994084, -17982320484, -14826646884, -12219267684, -2208988800 ], + "diffs" : [ -176316, -89916, -3516, 82884, 169284, 255684, 342084, 428484, 514884, 601284, 687684, 774084, 860484, -3516, 0 ] +}, { + "tz" : "Canada/Yukon", + "switches" : [ -62135564388, -59006329188, -55850655588, -52694981988, -46383548388, -43227874788, -40072201188, -33760767588, -30605093988, -27449420388, -21137986788, -17982313188, -14826639588, -12219260388, -2208988800 ], + "diffs" : [ -176412, -90012, -3612, 82788, 169188, 255588, 341988, 428388, 514788, 601188, 687588, 773988, 860388, -3612, 0 ] +}, { + "tz" : "Chile/Continental", + "switches" : [ -62135579834, -59006344634, -55850671034, -52694997434, -46383563834, -43227890234, -40072216634, -33760783034, -30605109434, -27449435834, -21138002234, -17982328634, -14826655034, -12219275834, -2208988800 ], + "diffs" : [ -175366, -88966, -2566, 83834, 170234, 256634, 343034, 429434, 515834, 602234, 688634, 775034, 861434, -2566, 0 ] +}, { + "tz" : "Chile/EasterIsland", + "switches" : [ -62135570552, -59006335352, -55850661752, -52694988152, -46383554552, -43227880952, -40072207352, -33760773752, -30605100152, -27449426552, -21137992952, -17982319352, -14826645752, -12219266552, -2208988800 ], + "diffs" : [ -177448, -91048, -4648, 81752, 168152, 254552, 340952, 427352, 513752, 600152, 686552, 772952, 859352, -4648, 0 ] +}, { + "tz" : "Cuba", + "switches" : [ -62135577032, -59006341832, -55850668232, -52694994632, -46383561032, -43227887432, -40072213832, -33760780232, -30605106632, -27449433032, -21137999432, -17982325832, -14826652232, -12219273032, -2524501832, -2208988800 ], + "diffs" : [ -174568, -88168, -1768, 84632, 171032, 257432, 343832, 430232, 516632, 603032, 689432, 775832, 862232, -1768, -1776, 0 ] +}, { + "tz" : "EET", + "switches" : [ -62135604000, -59006368800, -55850695200, -52695021600, -46383588000, -43227914400, -40072240800, -33760807200, -30605133600, -27449460000, -21138026400, -17982352800, -14826679200, -12219300000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "EST5EDT", + "switches" : [ -62135578800, -59006343600, -55850670000, -52694996400, -46383562800, -43227889200, -40072215600, -33760782000, -30605108400, -27449434800, -21138001200, -17982327600, -14826654000, -12219274800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Egypt", + "switches" : [ -62135604309, -59006369109, -55850695509, -52695021909, -46383588309, -43227914709, -40072241109, -33760807509, -30605133909, -27449460309, -21138026709, -17982353109, -14826679509, -12219300309, -2208988800 ], + "diffs" : [ -172491, -86091, 309, 86709, 173109, 259509, 345909, 432309, 518709, 605109, 691509, 777909, 864309, 309, 0 ] +}, { + "tz" : "Eire", + "switches" : [ -62135595300, -59006360100, -55850686500, -52695012900, -46383579300, -43227905700, -40072232100, -33760798500, -30605124900, -27449451300, -21138017700, -17982344100, -14826670500, -12219291300, -2821649700, -2208988800 ], + "diffs" : [ -174300, -87900, -1500, 84900, 171300, 257700, 344100, 430500, 516900, 603300, 689700, 776100, 862500, -1500, -1521, 0 ] +}, { + "tz" : "Etc/GMT", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+0", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+1", + "switches" : [ -62135593200, -59006358000, -55850684400, -52695010800, -46383577200, -43227903600, -40072230000, -33760796400, -30605122800, -27449449200, -21138015600, -17982342000, -14826668400, -12219289200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+10", + "switches" : [ -62135560800, -59006325600, -55850652000, -52694978400, -46383544800, -43227871200, -40072197600, -33760764000, -30605090400, -27449416800, -21137983200, -17982309600, -14826636000, -12219256800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+11", + "switches" : [ -62135557200, -59006322000, -55850648400, -52694974800, -46383541200, -43227867600, -40072194000, -33760760400, -30605086800, -27449413200, -21137979600, -17982306000, -14826632400, -12219253200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+12", + "switches" : [ -62135553600, -59006318400, -55850644800, -52694971200, -46383537600, -43227864000, -40072190400, -33760756800, -30605083200, -27449409600, -21137976000, -17982302400, -14826628800, -12219249600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+2", + "switches" : [ -62135589600, -59006354400, -55850680800, -52695007200, -46383573600, -43227900000, -40072226400, -33760792800, -30605119200, -27449445600, -21138012000, -17982338400, -14826664800, -12219285600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+3", + "switches" : [ -62135586000, -59006350800, -55850677200, -52695003600, -46383570000, -43227896400, -40072222800, -33760789200, -30605115600, -27449442000, -21138008400, -17982334800, -14826661200, -12219282000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+4", + "switches" : [ -62135582400, -59006347200, -55850673600, -52695000000, -46383566400, -43227892800, -40072219200, -33760785600, -30605112000, -27449438400, -21138004800, -17982331200, -14826657600, -12219278400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+5", + "switches" : [ -62135578800, -59006343600, -55850670000, -52694996400, -46383562800, -43227889200, -40072215600, -33760782000, -30605108400, -27449434800, -21138001200, -17982327600, -14826654000, -12219274800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+6", + "switches" : [ -62135575200, -59006340000, -55850666400, -52694992800, -46383559200, -43227885600, -40072212000, -33760778400, -30605104800, -27449431200, -21137997600, -17982324000, -14826650400, -12219271200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+7", + "switches" : [ -62135571600, -59006336400, -55850662800, -52694989200, -46383555600, -43227882000, -40072208400, -33760774800, -30605101200, -27449427600, -21137994000, -17982320400, -14826646800, -12219267600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+8", + "switches" : [ -62135568000, -59006332800, -55850659200, -52694985600, -46383552000, -43227878400, -40072204800, -33760771200, -30605097600, -27449424000, -21137990400, -17982316800, -14826643200, -12219264000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT+9", + "switches" : [ -62135564400, -59006329200, -55850655600, -52694982000, -46383548400, -43227874800, -40072201200, -33760767600, -30605094000, -27449420400, -21137986800, -17982313200, -14826639600, -12219260400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-0", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-1", + "switches" : [ -62135600400, -59006365200, -55850691600, -52695018000, -46383584400, -43227910800, -40072237200, -33760803600, -30605130000, -27449456400, -21138022800, -17982349200, -14826675600, -12219296400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-10", + "switches" : [ -62135632800, -59006397600, -55850724000, -52695050400, -46383616800, -43227943200, -40072269600, -33760836000, -30605162400, -27449488800, -21138055200, -17982381600, -14826708000, -12219328800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-11", + "switches" : [ -62135636400, -59006401200, -55850727600, -52695054000, -46383620400, -43227946800, -40072273200, -33760839600, -30605166000, -27449492400, -21138058800, -17982385200, -14826711600, -12219332400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-12", + "switches" : [ -62135640000, -59006404800, -55850731200, -52695057600, -46383624000, -43227950400, -40072276800, -33760843200, -30605169600, -27449496000, -21138062400, -17982388800, -14826715200, -12219336000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-13", + "switches" : [ -62135643600, -59006408400, -55850734800, -52695061200, -46383627600, -43227954000, -40072280400, -33760846800, -30605173200, -27449499600, -21138066000, -17982392400, -14826718800, -12219339600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-14", + "switches" : [ -62135647200, -59006412000, -55850738400, -52695064800, -46383631200, -43227957600, -40072284000, -33760850400, -30605176800, -27449503200, -21138069600, -17982396000, -14826722400, -12219343200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-2", + "switches" : [ -62135604000, -59006368800, -55850695200, -52695021600, -46383588000, -43227914400, -40072240800, -33760807200, -30605133600, -27449460000, -21138026400, -17982352800, -14826679200, -12219300000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-3", + "switches" : [ -62135607600, -59006372400, -55850698800, -52695025200, -46383591600, -43227918000, -40072244400, -33760810800, -30605137200, -27449463600, -21138030000, -17982356400, -14826682800, -12219303600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-4", + "switches" : [ -62135611200, -59006376000, -55850702400, -52695028800, -46383595200, -43227921600, -40072248000, -33760814400, -30605140800, -27449467200, -21138033600, -17982360000, -14826686400, -12219307200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-5", + "switches" : [ -62135614800, -59006379600, -55850706000, -52695032400, -46383598800, -43227925200, -40072251600, -33760818000, -30605144400, -27449470800, -21138037200, -17982363600, -14826690000, -12219310800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-6", + "switches" : [ -62135618400, -59006383200, -55850709600, -52695036000, -46383602400, -43227928800, -40072255200, -33760821600, -30605148000, -27449474400, -21138040800, -17982367200, -14826693600, -12219314400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-7", + "switches" : [ -62135622000, -59006386800, -55850713200, -52695039600, -46383606000, -43227932400, -40072258800, -33760825200, -30605151600, -27449478000, -21138044400, -17982370800, -14826697200, -12219318000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-8", + "switches" : [ -62135625600, -59006390400, -55850716800, -52695043200, -46383609600, -43227936000, -40072262400, -33760828800, -30605155200, -27449481600, -21138048000, -17982374400, -14826700800, -12219321600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT-9", + "switches" : [ -62135629200, -59006394000, -55850720400, -52695046800, -46383613200, -43227939600, -40072266000, -33760832400, -30605158800, -27449485200, -21138051600, -17982378000, -14826704400, -12219325200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/GMT0", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/Greenwich", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/UCT", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/UTC", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/Universal", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Etc/Zulu", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Europe/Amsterdam", + "switches" : [ -62135597972, -59006362772, -55850689172, -52695015572, -46383581972, -43227908372, -40072234772, -33760801172, -30605127572, -27449453972, -21138020372, -17982346772, -14826673172, -12219293972, -2208988800 ], + "diffs" : [ -175228, -88828, -2428, 83972, 170372, 256772, 343172, 429572, 515972, 602372, 688772, 775172, 861572, -2428, 0 ] +}, { + "tz" : "Europe/Andorra", + "switches" : [ -62135597164, -59006361964, -55850688364, -52695014764, -46383581164, -43227907564, -40072233964, -33760800364, -30605126764, -27449453164, -21138019564, -17982345964, -14826672364, -12219293164, -2208988800 ], + "diffs" : [ -176036, -89636, -3236, 83164, 169564, 255964, 342364, 428764, 515164, 601564, 687964, 774364, 860764, -3236, 0 ] +}, { + "tz" : "Europe/Astrakhan", + "switches" : [ -62135608332, -59006373132, -55850699532, -52695025932, -46383592332, -43227918732, -40072245132, -33760811532, -30605137932, -27449464332, -21138030732, -17982357132, -14826683532, -12219304332, -2208988800 ], + "diffs" : [ -175668, -89268, -2868, 83532, 169932, 256332, 342732, 429132, 515532, 601932, 688332, 774732, 861132, -2868, 0 ] +}, { + "tz" : "Europe/Athens", + "switches" : [ -62135602492, -59006367292, -55850693692, -52695020092, -46383586492, -43227912892, -40072239292, -33760805692, -30605132092, -27449458492, -21138024892, -17982351292, -14826677692, -12219298492, -2208988800 ], + "diffs" : [ -174308, -87908, -1508, 84892, 171292, 257692, 344092, 430492, 516892, 603292, 689692, 776092, 862492, -1508, 0 ] +}, { + "tz" : "Europe/Belfast", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "Europe/Belgrade", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/Berlin", + "switches" : [ -62135600008, -59006364808, -55850691208, -52695017608, -46383584008, -43227910408, -40072236808, -33760803208, -30605129608, -27449456008, -21138022408, -17982348808, -14826675208, -12219296008, -2422054408 ], + "diffs" : [ -173192, -86792, -392, 86008, 172408, 258808, 345208, 431608, 518008, 604408, 690808, 777208, 863608, -392, 0 ] +}, { + "tz" : "Europe/Bratislava", + "switches" : [ -62135600264, -59006365064, -55850691464, -52695017864, -46383584264, -43227910664, -40072237064, -33760803464, -30605129864, -27449456264, -21138022664, -17982349064, -14826675464, -12219296264, -2469401864 ], + "diffs" : [ -172936, -86536, -136, 86264, 172664, 259064, 345464, 431864, 518264, 604664, 691064, 777464, 863864, -136, 0 ] +}, { + "tz" : "Europe/Brussels", + "switches" : [ -62135597850, -59006362650, -55850689050, -52695015450, -46383581850, -43227908250, -40072234650, -33760801050, -30605127450, -27449453850, -21138020250, -17982346650, -14826673050, -12219293850, -2450995200, -2208988800 ], + "diffs" : [ -175350, -88950, -2550, 83850, 170250, 256650, 343050, 429450, 515850, 602250, 688650, 775050, 861450, -2550, -3600, 0 ] +}, { + "tz" : "Europe/Bucharest", + "switches" : [ -62135603064, -59006367864, -55850694264, -52695020664, -46383587064, -43227913464, -40072239864, -33760806264, -30605132664, -27449459064, -21138025464, -17982351864, -14826678264, -12219299064, -2208988800 ], + "diffs" : [ -173736, -87336, -936, 85464, 171864, 258264, 344664, 431064, 517464, 603864, 690264, 776664, 863064, -936, 0 ] +}, { + "tz" : "Europe/Budapest", + "switches" : [ -62135601380, -59006366180, -55850692580, -52695018980, -46383585380, -43227911780, -40072238180, -33760804580, -30605130980, -27449457380, -21138023780, -17982350180, -14826676580, -12219297380, -2500938980 ], + "diffs" : [ -171820, -85420, 980, 87380, 173780, 260180, 346580, 432980, 519380, 605780, 692180, 778580, 864980, 980, 0 ] +}, { + "tz" : "Europe/Busingen", + "switches" : [ -62135598848, -59006363648, -55850690048, -52695016448, -46383582848, -43227909248, -40072235648, -33760802048, -30605128448, -27449454848, -21138021248, -17982347648, -14826674048, -12219294848, -3675198848, -2385246586 ], + "diffs" : [ -174352, -87952, -1552, 84848, 171248, 257648, 344048, 430448, 516848, 603248, 689648, 776048, 862448, -1552, -1814, 0 ] +}, { + "tz" : "Europe/Chisinau", + "switches" : [ -62135603720, -59006368520, -55850694920, -52695021320, -46383587720, -43227914120, -40072240520, -33760806920, -30605133320, -27449459720, -21138026120, -17982352520, -14826678920, -12219299720, -2840147720, -2208988800 ], + "diffs" : [ -173080, -86680, -280, 86120, 172520, 258920, 345320, 431720, 518120, 604520, 690920, 777320, 863720, -280, -300, 0 ] +}, { + "tz" : "Europe/Copenhagen", + "switches" : [ -62135599820, -59006364620, -55850691020, -52695017420, -46383583820, -43227910220, -40072236620, -33760803020, -30605129420, -27449455820, -21138022220, -17982348620, -14826675020, -12219295820, -2398294220 ], + "diffs" : [ -173380, -86980, -580, 85820, 172220, 258620, 345020, 431420, 517820, 604220, 690620, 777020, 863420, -580, 0 ] +}, { + "tz" : "Europe/Dublin", + "switches" : [ -62135595300, -59006360100, -55850686500, -52695012900, -46383579300, -43227905700, -40072232100, -33760798500, -30605124900, -27449451300, -21138017700, -17982344100, -14826670500, -12219291300, -2821649700, -2208988800 ], + "diffs" : [ -174300, -87900, -1500, 84900, 171300, 257700, 344100, 430500, 516900, 603300, 689700, 776100, 862500, -1500, -1521, 0 ] +}, { + "tz" : "Europe/Gibraltar", + "switches" : [ -62135595516, -59006360316, -55850686716, -52695013116, -46383579516, -43227905916, -40072232316, -33760798716, -30605125116, -27449451516, -21138017916, -17982344316, -14826670716, -12219291516, -2821649916, -2208988800 ], + "diffs" : [ -177684, -91284, -4884, 81516, 167916, 254316, 340716, 427116, 513516, 599916, 686316, 772716, 859116, -4884, -3600, 0 ] +}, { + "tz" : "Europe/Guernsey", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "Europe/Helsinki", + "switches" : [ -62135602789, -59006367589, -55850693989, -52695020389, -46383586789, -43227913189, -40072239589, -33760805989, -30605132389, -27449458789, -21138025189, -17982351589, -14826677989, -12219298789, -2208988800 ], + "diffs" : [ -174011, -87611, -1211, 85189, 171589, 257989, 344389, 430789, 517189, 603589, 689989, 776389, 862789, -1211, 0 ] +}, { + "tz" : "Europe/Isle_of_Man", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "Europe/Istanbul", + "switches" : [ -62135603752, -59006368552, -55850694952, -52695021352, -46383587752, -43227914152, -40072240552, -33760806952, -30605133352, -27449459752, -21138026152, -17982352552, -14826678952, -12219299752, -2840147752, -2208988800 ], + "diffs" : [ -176648, -90248, -3848, 82552, 168952, 255352, 341752, 428152, 514552, 600952, 687352, 773752, 860152, -3848, -3784, 0 ] +}, { + "tz" : "Europe/Jersey", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "Europe/Kaliningrad", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2422056120, -2208988800 ], + "diffs" : [ -175080, -88680, -2280, 84120, 170520, 256920, 343320, 429720, 516120, 602520, 688920, 775320, 861720, -2280, -3600, 0 ] +}, { + "tz" : "Europe/Kiev", + "switches" : [ -62135604124, -59006368924, -55850695324, -52695021724, -46383588124, -43227914524, -40072240924, -33760807324, -30605133724, -27449460124, -21138026524, -17982352924, -14826679324, -12219300124, -2208988800 ], + "diffs" : [ -172676, -86276, 124, 86524, 172924, 259324, 345724, 432124, 518524, 604924, 691324, 777724, 864124, 124, 0 ] +}, { + "tz" : "Europe/Kirov", + "switches" : [ -62135608728, -59006373528, -55850699928, -52695026328, -46383592728, -43227919128, -40072245528, -33760811928, -30605138328, -27449464728, -21138031128, -17982357528, -14826683928, -12219304728, -2208988800 ], + "diffs" : [ -171672, -85272, 1128, 87528, 173928, 260328, 346728, 433128, 519528, 605928, 692328, 778728, 865128, 1128, 0 ] +}, { + "tz" : "Europe/Lisbon", + "switches" : [ -62135594595, -59006359395, -55850685795, -52695012195, -46383578595, -43227904995, -40072231395, -33760797795, -30605124195, -27449450595, -21138016995, -17982343395, -14826669795, -12219290595, -2208988800 ], + "diffs" : [ -175005, -88605, -2205, 84195, 170595, 256995, 343395, 429795, 516195, 602595, 688995, 775395, 861795, -2205, 0 ] +}, { + "tz" : "Europe/Ljubljana", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/London", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "Europe/Luxembourg", + "switches" : [ -62135598276, -59006363076, -55850689476, -52695015876, -46383582276, -43227908676, -40072235076, -33760801476, -30605127876, -27449454276, -21138020676, -17982347076, -14826673476, -12219294276, -2208988800 ], + "diffs" : [ -174924, -88524, -2124, 84276, 170676, 257076, 343476, 429876, 516276, 602676, 689076, 775476, 861876, -2124, 0 ] +}, { + "tz" : "Europe/Madrid", + "switches" : [ -62135595916, -59006360716, -55850687116, -52695013516, -46383579916, -43227906316, -40072232716, -33760799116, -30605125516, -27449451916, -21138018316, -17982344716, -14826671116, -12219291916, -2208988800 ], + "diffs" : [ -177284, -90884, -4484, 81916, 168316, 254716, 341116, 427516, 513916, 600316, 686716, 773116, 859516, -4484, 0 ] +}, { + "tz" : "Europe/Malta", + "switches" : [ -62135600284, -59006365084, -55850691484, -52695017884, -46383584284, -43227910684, -40072237084, -33760803484, -30605129884, -27449456284, -21138022684, -17982349084, -14826675484, -12219296284, -2403478684 ], + "diffs" : [ -172916, -86516, -116, 86284, 172684, 259084, 345484, 431884, 518284, 604684, 691084, 777484, 863884, -116, 0 ] +}, { + "tz" : "Europe/Mariehamn", + "switches" : [ -62135602789, -59006367589, -55850693989, -52695020389, -46383586789, -43227913189, -40072239589, -33760805989, -30605132389, -27449458789, -21138025189, -17982351589, -14826677989, -12219298789, -2208988800 ], + "diffs" : [ -174011, -87611, -1211, 85189, 171589, 257989, 344389, 430789, 517189, 603589, 689989, 776389, 862789, -1211, 0 ] +}, { + "tz" : "Europe/Minsk", + "switches" : [ -62135603416, -59006368216, -55850694616, -52695021016, -46383587416, -43227913816, -40072240216, -33760806616, -30605133016, -27449459416, -21138025816, -17982352216, -14826678616, -12219299416, -2840147416, -2208988800 ], + "diffs" : [ -176984, -90584, -4184, 82216, 168616, 255016, 341416, 427816, 514216, 600616, 687016, 773416, 859816, -4184, -4200, 0 ] +}, { + "tz" : "Europe/Monaco", + "switches" : [ -62135598572, -59006363372, -55850689772, -52695016172, -46383582572, -43227908972, -40072235372, -33760801772, -30605128172, -27449454572, -21138020972, -17982347372, -14826673772, -12219294572, -2486680172, -2208988800 ], + "diffs" : [ -174628, -88228, -1828, 84572, 170972, 257372, 343772, 430172, 516572, 602972, 689372, 775772, 862172, -1828, -3039, 0 ] +}, { + "tz" : "Europe/Moscow", + "switches" : [ -62135605817, -59006370617, -55850697017, -52695023417, -46383589817, -43227916217, -40072242617, -33760809017, -30605135417, -27449461817, -21138028217, -17982354617, -14826681017, -12219301817, -2208988800 ], + "diffs" : [ -174583, -88183, -1783, 84617, 171017, 257417, 343817, 430217, 516617, 603017, 689417, 775817, 862217, -1783, 0 ] +}, { + "tz" : "Europe/Nicosia", + "switches" : [ -62135604808, -59006369608, -55850696008, -52695022408, -46383588808, -43227915208, -40072241608, -33760808008, -30605134408, -27449460808, -21138027208, -17982353608, -14826680008, -12219300808, -2208988800 ], + "diffs" : [ -171992, -85592, 808, 87208, 173608, 260008, 346408, 432808, 519208, 605608, 692008, 778408, 864808, 808, 0 ] +}, { + "tz" : "Europe/Oslo", + "switches" : [ -62135599380, -59006364180, -55850690580, -52695016980, -46383583380, -43227909780, -40072236180, -33760802580, -30605128980, -27449455380, -21138021780, -17982348180, -14826674580, -12219295380, -2366757780 ], + "diffs" : [ -173820, -87420, -1020, 85380, 171780, 258180, 344580, 430980, 517380, 603780, 690180, 776580, 862980, -1020, 0 ] +}, { + "tz" : "Europe/Paris", + "switches" : [ -62135597361, -59006362161, -55850688561, -52695014961, -46383581361, -43227907761, -40072234161, -33760800561, -30605126961, -27449453361, -21138019761, -17982346161, -14826672561, -12219293361, -2208988800 ], + "diffs" : [ -175839, -89439, -3039, 83361, 169761, 256161, 342561, 428961, 515361, 601761, 688161, 774561, 860961, -3039, 0 ] +}, { + "tz" : "Europe/Podgorica", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/Prague", + "switches" : [ -62135600264, -59006365064, -55850691464, -52695017864, -46383584264, -43227910664, -40072237064, -33760803464, -30605129864, -27449456264, -21138022664, -17982349064, -14826675464, -12219296264, -2469401864 ], + "diffs" : [ -172936, -86536, -136, 86264, 172664, 259064, 345464, 431864, 518264, 604664, 691064, 777464, 863864, -136, 0 ] +}, { + "tz" : "Europe/Riga", + "switches" : [ -62135602594, -59006367394, -55850693794, -52695020194, -46383586594, -43227912994, -40072239394, -33760805794, -30605132194, -27449458594, -21138024994, -17982351394, -14826677794, -12219298594, -2208988800 ], + "diffs" : [ -174206, -87806, -1406, 84994, 171394, 257794, 344194, 430594, 516994, 603394, 689794, 776194, 862594, -1406, 0 ] +}, { + "tz" : "Europe/Rome", + "switches" : [ -62135599796, -59006364596, -55850690996, -52695017396, -46383583796, -43227910196, -40072236596, -33760802996, -30605129396, -27449455796, -21138022196, -17982348596, -14826674996, -12219295796, -2403565200 ], + "diffs" : [ -173404, -87004, -604, 85796, 172196, 258596, 344996, 431396, 517796, 604196, 690596, 776996, 863396, -604, 0 ] +}, { + "tz" : "Europe/Samara", + "switches" : [ -62135608820, -59006373620, -55850700020, -52695026420, -46383592820, -43227919220, -40072245620, -33760812020, -30605138420, -27449464820, -21138031220, -17982357620, -14826684020, -12219304820, -2208988800 ], + "diffs" : [ -175180, -88780, -2380, 84020, 170420, 256820, 343220, 429620, 516020, 602420, 688820, 775220, 861620, -2380, 0 ] +}, { + "tz" : "Europe/San_Marino", + "switches" : [ -62135599796, -59006364596, -55850690996, -52695017396, -46383583796, -43227910196, -40072236596, -33760802996, -30605129396, -27449455796, -21138022196, -17982348596, -14826674996, -12219295796, -2403565200 ], + "diffs" : [ -173404, -87004, -604, 85796, 172196, 258596, 344996, 431396, 517796, 604196, 690596, 776996, 863396, -604, 0 ] +}, { + "tz" : "Europe/Sarajevo", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/Saratov", + "switches" : [ -62135607858, -59006372658, -55850699058, -52695025458, -46383591858, -43227918258, -40072244658, -33760811058, -30605137458, -27449463858, -21138030258, -17982356658, -14826683058, -12219303858, -2208988800 ], + "diffs" : [ -176142, -89742, -3342, 83058, 169458, 255858, 342258, 428658, 515058, 601458, 687858, 774258, 860658, -3342, 0 ] +}, { + "tz" : "Europe/Simferopol", + "switches" : [ -62135604984, -59006369784, -55850696184, -52695022584, -46383588984, -43227915384, -40072241784, -33760808184, -30605134584, -27449460984, -21138027384, -17982353784, -14826680184, -12219300984, -2840148984, -2208988800 ], + "diffs" : [ -175416, -89016, -2616, 83784, 170184, 256584, 342984, 429384, 515784, 602184, 688584, 774984, 861384, -2616, -2640, 0 ] +}, { + "tz" : "Europe/Skopje", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/Sofia", + "switches" : [ -62135602396, -59006367196, -55850693596, -52695019996, -46383586396, -43227912796, -40072239196, -33760805596, -30605131996, -27449458396, -21138024796, -17982351196, -14826677596, -12219298396, -2840146396, -2369527016 ], + "diffs" : [ -174404, -88004, -1604, 84796, 171196, 257596, 343996, 430396, 516796, 603196, 689596, 775996, 862396, -1604, -184, 0 ] +}, { + "tz" : "Europe/Stockholm", + "switches" : [ -62135601132, -59006365932, -55850692332, -52695018732, -46383585132, -43227911532, -40072237932, -33760804332, -30605130732, -27449457132, -21138023532, -17982349932, -14826676332, -12219297132, -2871681132, -2208992414 ], + "diffs" : [ -172068, -85668, 732, 87132, 173532, 259932, 346332, 432732, 519132, 605532, 691932, 778332, 864732, 732, 14, 0 ] +}, { + "tz" : "Europe/Tallinn", + "switches" : [ -62135602740, -59006367540, -55850693940, -52695020340, -46383586740, -43227913140, -40072239540, -33760805940, -30605132340, -27449458740, -21138025140, -17982351540, -14826677940, -12219298740, -2208988800 ], + "diffs" : [ -174060, -87660, -1260, 85140, 171540, 257940, 344340, 430740, 517140, 603540, 689940, 776340, 862740, -1260, 0 ] +}, { + "tz" : "Europe/Tirane", + "switches" : [ -62135601560, -59006366360, -55850692760, -52695019160, -46383585560, -43227911960, -40072238360, -33760804760, -30605131160, -27449457560, -21138023960, -17982350360, -14826676760, -12219297560, -2208988800 ], + "diffs" : [ -171640, -85240, 1160, 87560, 173960, 260360, 346760, 433160, 519560, 605960, 692360, 778760, 865160, 1160, 0 ] +}, { + "tz" : "Europe/Tiraspol", + "switches" : [ -62135603720, -59006368520, -55850694920, -52695021320, -46383587720, -43227914120, -40072240520, -33760806920, -30605133320, -27449459720, -21138026120, -17982352520, -14826678920, -12219299720, -2840147720, -2208988800 ], + "diffs" : [ -173080, -86680, -280, 86120, 172520, 258920, 345320, 431720, 518120, 604520, 690920, 777320, 863720, -280, -300, 0 ] +}, { + "tz" : "Europe/Ulyanovsk", + "switches" : [ -62135608416, -59006373216, -55850699616, -52695026016, -46383592416, -43227918816, -40072245216, -33760811616, -30605138016, -27449464416, -21138030816, -17982357216, -14826683616, -12219304416, -2208988800 ], + "diffs" : [ -175584, -89184, -2784, 83616, 170016, 256416, 342816, 429216, 515616, 602016, 688416, 774816, 861216, -2784, 0 ] +}, { + "tz" : "Europe/Uzhgorod", + "switches" : [ -62135602152, -59006366952, -55850693352, -52695019752, -46383586152, -43227912552, -40072238952, -33760805352, -30605131752, -27449458152, -21138024552, -17982350952, -14826677352, -12219298152, -2500939752, -2208988800 ], + "diffs" : [ -174648, -88248, -1848, 84552, 170952, 257352, 343752, 430152, 516552, 602952, 689352, 775752, 862152, -1848, -3600, 0 ] +}, { + "tz" : "Europe/Vaduz", + "switches" : [ -62135598848, -59006363648, -55850690048, -52695016448, -46383582848, -43227909248, -40072235648, -33760802048, -30605128448, -27449454848, -21138021248, -17982347648, -14826674048, -12219294848, -3675198848, -2385246586 ], + "diffs" : [ -174352, -87952, -1552, 84848, 171248, 257648, 344048, 430448, 516848, 603248, 689648, 776048, 862448, -1552, -1814, 0 ] +}, { + "tz" : "Europe/Vatican", + "switches" : [ -62135599796, -59006364596, -55850690996, -52695017396, -46383583796, -43227910196, -40072236596, -33760802996, -30605129396, -27449455796, -21138022196, -17982348596, -14826674996, -12219295796, -2403565200 ], + "diffs" : [ -173404, -87004, -604, 85796, 172196, 258596, 344996, 431396, 517796, 604196, 690596, 776996, 863396, -604, 0 ] +}, { + "tz" : "Europe/Vienna", + "switches" : [ -62135600721, -59006365521, -55850691921, -52695018321, -46383584721, -43227911121, -40072237521, -33760803921, -30605130321, -27449456721, -21138023121, -17982349521, -14826675921, -12219296721, -2422055121 ], + "diffs" : [ -172479, -86079, 321, 86721, 173121, 259521, 345921, 432321, 518721, 605121, 691521, 777921, 864321, 321, 0 ] +}, { + "tz" : "Europe/Vilnius", + "switches" : [ -62135602876, -59006367676, -55850694076, -52695020476, -46383586876, -43227913276, -40072239676, -33760806076, -30605132476, -27449458876, -21138025276, -17982351676, -14826678076, -12219298876, -2840146876, -2208988800 ], + "diffs" : [ -173924, -87524, -1124, 85276, 171676, 258076, 344476, 430876, 517276, 603676, 690076, 776476, 862876, -1124, -2160, 0 ] +}, { + "tz" : "Europe/Volgograd", + "switches" : [ -62135607460, -59006372260, -55850698660, -52695025060, -46383591460, -43227917860, -40072244260, -33760810660, -30605137060, -27449463460, -21138029860, -17982356260, -14826682660, -12219303460, -2208988800 ], + "diffs" : [ -176540, -90140, -3740, 82660, 169060, 255460, 341860, 428260, 514660, 601060, 687460, 773860, 860260, -3740, 0 ] +}, { + "tz" : "Europe/Warsaw", + "switches" : [ -62135601840, -59006366640, -55850693040, -52695019440, -46383585840, -43227912240, -40072238640, -33760805040, -30605131440, -27449457840, -21138024240, -17982350640, -14826677040, -12219297840, -2208988800 ], + "diffs" : [ -171360, -84960, 1440, 87840, 174240, 260640, 347040, 433440, 519840, 606240, 692640, 779040, 865440, 1440, 0 ] +}, { + "tz" : "Europe/Zagreb", + "switches" : [ -62135601720, -59006366520, -55850692920, -52695019320, -46383585720, -43227912120, -40072238520, -33760804920, -30605131320, -27449457720, -21138024120, -17982350520, -14826676920, -12219297720, -2713915320 ], + "diffs" : [ -171480, -85080, 1320, 87720, 174120, 260520, 346920, 433320, 519720, 606120, 692520, 778920, 865320, 1320, 0 ] +}, { + "tz" : "Europe/Zaporozhye", + "switches" : [ -62135605240, -59006370040, -55850696440, -52695022840, -46383589240, -43227915640, -40072242040, -33760808440, -30605134840, -27449461240, -21138027640, -17982354040, -14826680440, -12219301240, -2840149240, -2208988800 ], + "diffs" : [ -171560, -85160, 1240, 87640, 174040, 260440, 346840, 433240, 519640, 606040, 692440, 778840, 865240, 1240, 1200, 0 ] +}, { + "tz" : "Europe/Zurich", + "switches" : [ -62135598848, -59006363648, -55850690048, -52695016448, -46383582848, -43227909248, -40072235648, -33760802048, -30605128448, -27449454848, -21138021248, -17982347648, -14826674048, -12219294848, -3675198848, -2385246586 ], + "diffs" : [ -174352, -87952, -1552, 84848, 171248, 257648, 344048, 430448, 516848, 603248, 689648, 776048, 862448, -1552, -1814, 0 ] +}, { + "tz" : "GB", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "GB-Eire", + "switches" : [ -62135596725, -59006361525, -55850687925, -52695014325, -46383580725, -43227907125, -40072233525, -33760799925, -30605126325, -27449452725, -21138019125, -17982345525, -14826671925, -12219292725, -3852662325 ], + "diffs" : [ -172875, -86475, -75, 86325, 172725, 259125, 345525, 431925, 518325, 604725, 691125, 777525, 863925, -75, 0 ] +}, { + "tz" : "GMT", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "GMT0", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Greenwich", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Hongkong", + "switches" : [ -62135624202, -59006389002, -55850715402, -52695041802, -46383608202, -43227934602, -40072261002, -33760827402, -30605153802, -27449480202, -21138046602, -17982373002, -14826699402, -12219320202, -2208988800 ], + "diffs" : [ -174198, -87798, -1398, 85002, 171402, 257802, 344202, 430602, 517002, 603402, 689802, 776202, 862602, -1398, 0 ] +}, { + "tz" : "Iceland", + "switches" : [ -62135591520, -59006356320, -55850682720, -52695009120, -46383575520, -43227901920, -40072228320, -33760794720, -30605121120, -27449447520, -21138013920, -17982340320, -14826666720, -12219287520, -2208988800 ], + "diffs" : [ -178080, -91680, -5280, 81120, 167520, 253920, 340320, 426720, 513120, 599520, 685920, 772320, 858720, -5280, 0 ] +}, { + "tz" : "Indian/Antananarivo", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Indian/Chagos", + "switches" : [ -62135614180, -59006378980, -55850705380, -52695031780, -46383598180, -43227924580, -40072250980, -33760817380, -30605143780, -27449470180, -21138036580, -17982362980, -14826689380, -12219310180, -2208988800 ], + "diffs" : [ -177020, -90620, -4220, 82180, 168580, 254980, 341380, 427780, 514180, 600580, 686980, 773380, 859780, -4220, 0 ] +}, { + "tz" : "Indian/Christmas", + "switches" : [ -62135622172, -59006386972, -55850713372, -52695039772, -46383606172, -43227932572, -40072258972, -33760825372, -30605151772, -27449478172, -21138044572, -17982370972, -14826697372, -12219318172, -2364102172 ], + "diffs" : [ -172628, -86228, 172, 86572, 172972, 259372, 345772, 432172, 518572, 604972, 691372, 777772, 864172, 172, 0 ] +}, { + "tz" : "Indian/Cocos", + "switches" : [ -62135620060, -59006384860, -55850711260, -52695037660, -46383604060, -43227930460, -40072256860, -33760823260, -30605149660, -27449476060, -21138042460, -17982368860, -14826695260, -12219316060, -2209012060 ], + "diffs" : [ -172940, -86540, -140, 86260, 172660, 259060, 345460, 431860, 518260, 604660, 691060, 777460, 863860, -140, 0 ] +}, { + "tz" : "Indian/Comoro", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Indian/Kerguelen", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800, -2208988800 ], + "diffs" : [ -190800, -104400, -18000, 68400, 154800, 241200, 327600, 414000, 500400, 586800, 673200, 759600, 846000, -18000, 0 ] +}, { + "tz" : "Indian/Mahe", + "switches" : [ -62135610108, -59006374908, -55850701308, -52695027708, -46383594108, -43227920508, -40072246908, -33760813308, -30605139708, -27449466108, -21138032508, -17982358908, -14826685308, -12219306108, -2208988800 ], + "diffs" : [ -173892, -87492, -1092, 85308, 171708, 258108, 344508, 430908, 517308, 603708, 690108, 776508, 862908, -1092, 0 ] +}, { + "tz" : "Indian/Maldives", + "switches" : [ -62135614440, -59006379240, -55850705640, -52695032040, -46383598440, -43227924840, -40072251240, -33760817640, -30605144040, -27449470440, -21138036840, -17982363240, -14826689640, -12219310440, -2208988800 ], + "diffs" : [ -173160, -86760, -360, 86040, 172440, 258840, 345240, 431640, 518040, 604440, 690840, 777240, 863640, -360, 0 ] +}, { + "tz" : "Indian/Mauritius", + "switches" : [ -62135610600, -59006375400, -55850701800, -52695028200, -46383594600, -43227921000, -40072247400, -33760813800, -30605140200, -27449466600, -21138033000, -17982359400, -14826685800, -12219306600, -2208988800 ], + "diffs" : [ -173400, -87000, -600, 85800, 172200, 258600, 345000, 431400, 517800, 604200, 690600, 777000, 863400, -600, 0 ] +}, { + "tz" : "Indian/Mayotte", + "switches" : [ -62135605636, -59006370436, -55850696836, -52695023236, -46383589636, -43227916036, -40072242436, -33760808836, -30605135236, -27449461636, -21138028036, -17982354436, -14826680836, -12219301636, -2208988800 ], + "diffs" : [ -174764, -88364, -1964, 84436, 170836, 257236, 343636, 430036, 516436, 602836, 689236, 775636, 862036, -1964, 0 ] +}, { + "tz" : "Indian/Reunion", + "switches" : [ -62135610112, -59006374912, -55850701312, -52695027712, -46383594112, -43227920512, -40072246912, -33760813312, -30605139712, -27449466112, -21138032512, -17982358912, -14826685312, -12219306112, -2208988800 ], + "diffs" : [ -173888, -87488, -1088, 85312, 171712, 258112, 344512, 430912, 517312, 603712, 690112, 776512, 862912, -1088, 0 ] +}, { + "tz" : "Israel", + "switches" : [ -62135605254, -59006370054, -55850696454, -52695022854, -46383589254, -43227915654, -40072242054, -33760808454, -30605134854, -27449461254, -21138027654, -17982354054, -14826680454, -12219301254, -2840149254, -2208988800 ], + "diffs" : [ -171546, -85146, 1254, 87654, 174054, 260454, 346854, 433254, 519654, 606054, 692454, 778854, 865254, 1254, 1240, 0 ] +}, { + "tz" : "Jamaica", + "switches" : [ -62135578370, -59006343170, -55850669570, -52694995970, -46383562370, -43227888770, -40072215170, -33760781570, -30605107970, -27449434370, -21138000770, -17982327170, -14826653570, -12219274370, -2208988800 ], + "diffs" : [ -173230, -86830, -430, 85970, 172370, 258770, 345170, 431570, 517970, 604370, 690770, 777170, 863570, -430, 0 ] +}, { + "tz" : "Japan", + "switches" : [ -62135630339, -59006395139, -55850721539, -52695047939, -46383614339, -43227940739, -40072267139, -33760833539, -30605159939, -27449486339, -21138052739, -17982379139, -14826705539, -12219326339, -2587712400 ], + "diffs" : [ -171661, -85261, 1139, 87539, 173939, 260339, 346739, 433139, 519539, 605939, 692339, 778739, 865139, 1139, 0 ] +}, { + "tz" : "Kwajalein", + "switches" : [ -62135636960, -59006401760, -55850728160, -52695054560, -46383620960, -43227947360, -40072273760, -33760840160, -30605166560, -27449492960, -21138059360, -17982385760, -14826712160, -12219332960, -2208988800 ], + "diffs" : [ -175840, -89440, -3040, 83360, 169760, 256160, 342560, 428960, 515360, 601760, 688160, 774560, 860960, -3040, 0 ] +}, { + "tz" : "Libya", + "switches" : [ -62135599964, -59006364764, -55850691164, -52695017564, -46383583964, -43227910364, -40072236764, -33760803164, -30605129564, -27449455964, -21138022364, -17982348764, -14826675164, -12219295964, -2208988800 ], + "diffs" : [ -176836, -90436, -4036, 82364, 168764, 255164, 341564, 427964, 514364, 600764, 687164, 773564, 859964, -4036, 0 ] +}, { + "tz" : "MET", + "switches" : [ -62135600400, -59006365200, -55850691600, -52695018000, -46383584400, -43227910800, -40072237200, -33760803600, -30605130000, -27449456400, -21138022800, -17982349200, -14826675600, -12219296400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "MST7MDT", + "switches" : [ -62135571600, -59006336400, -55850662800, -52694989200, -46383555600, -43227882000, -40072208400, -33760774800, -30605101200, -27449427600, -21137994000, -17982320400, -14826646800, -12219267600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Mexico/BajaNorte", + "switches" : [ -62135568716, -59006333516, -55850659916, -52694986316, -46383552716, -43227879116, -40072205516, -33760771916, -30605098316, -27449424716, -21137991116, -17982317516, -14826643916, -12219264716, -2208988800 ], + "diffs" : [ -172084, -85684, 716, 87116, 173516, 259916, 346316, 432716, 519116, 605516, 691916, 778316, 864716, 716, 0 ] +}, { + "tz" : "Mexico/BajaSur", + "switches" : [ -62135571260, -59006336060, -55850662460, -52694988860, -46383555260, -43227881660, -40072208060, -33760774460, -30605100860, -27449427260, -21137993660, -17982320060, -14826646460, -12219267260, -2208988800 ], + "diffs" : [ -173140, -86740, -340, 86060, 172460, 258860, 345260, 431660, 518060, 604460, 690860, 777260, 863660, -340, 0 ] +}, { + "tz" : "Mexico/General", + "switches" : [ -62135573004, -59006337804, -55850664204, -52694990604, -46383557004, -43227883404, -40072209804, -33760776204, -30605102604, -27449429004, -21137995404, -17982321804, -14826648204, -12219269004, -2208988800 ], + "diffs" : [ -174996, -88596, -2196, 84204, 170604, 257004, 343404, 429804, 516204, 602604, 689004, 775404, 861804, -2196, 0 ] +}, { + "tz" : "NZ", + "switches" : [ -62135638744, -59006403544, -55850729944, -52695056344, -46383622744, -43227949144, -40072275544, -33760841944, -30605168344, -27449494744, -21138061144, -17982387544, -14826713944, -12219334744, -3192435544, -2208988800 ], + "diffs" : [ -174056, -87656, -1256, 85144, 171544, 257944, 344344, 430744, 517144, 603544, 689944, 776344, 862744, -1256, -1800, 0 ] +}, { + "tz" : "NZ-CHAT", + "switches" : [ -62135640828, -59006405628, -55850732028, -52695058428, -46383624828, -43227951228, -40072277628, -33760844028, -30605170428, -27449496828, -21138063228, -17982389628, -14826716028, -12219336828, -3192437628, -2208988800 ], + "diffs" : [ -174672, -88272, -1872, 84528, 170928, 257328, 343728, 430128, 516528, 602928, 689328, 775728, 862128, -1872, -1800, 0 ] +}, { + "tz" : "Navajo", + "switches" : [ -62135571604, -59006336404, -55850662804, -52694989204, -46383555604, -43227882004, -40072208404, -33760774804, -30605101204, -27449427604, -21137994004, -17982320404, -14826646804, -12219267604, -2717643600 ], + "diffs" : [ -172796, -86396, 4, 86404, 172804, 259204, 345604, 432004, 518404, 604804, 691204, 777604, 864004, 4, 0 ] +}, { + "tz" : "PRC", + "switches" : [ -62135625943, -59006390743, -55850717143, -52695043543, -46383609943, -43227936343, -40072262743, -33760829143, -30605155543, -27449481943, -21138048343, -17982374743, -14826701143, -12219321943, -2208988800 ], + "diffs" : [ -172457, -86057, 343, 86743, 173143, 259543, 345943, 432343, 518743, 605143, 691543, 777943, 864343, 343, 0 ] +}, { + "tz" : "PST8PDT", + "switches" : [ -62135568000, -59006332800, -55850659200, -52694985600, -46383552000, -43227878400, -40072204800, -33760771200, -30605097600, -27449424000, -21137990400, -17982316800, -14826643200, -12219264000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Pacific/Apia", + "switches" : [ -62135641984, -59006406784, -55850733184, -52695059584, -46383625984, -43227952384, -40072278784, -33760845184, -30605171584, -27449497984, -21138064384, -17982390784, -14826717184, -12219337984, -2445424384, -2208988800 ], + "diffs" : [ -174416, -88016, -1616, 84784, 171184, 257584, 343984, 430384, 516784, 603184, 689584, 775984, 862384, -1616, -88016, 0 ] +}, { + "tz" : "Pacific/Auckland", + "switches" : [ -62135638744, -59006403544, -55850729944, -52695056344, -46383622744, -43227949144, -40072275544, -33760841944, -30605168344, -27449494744, -21138061144, -17982387544, -14826713944, -12219334744, -3192435544, -2208988800 ], + "diffs" : [ -174056, -87656, -1256, 85144, 171544, 257944, 344344, 430744, 517144, 603544, 689944, 776344, 862744, -1256, -1800, 0 ] +}, { + "tz" : "Pacific/Bougainville", + "switches" : [ -62135634136, -59006398936, -55850725336, -52695051736, -46383618136, -43227944536, -40072270936, -33760837336, -30605163736, -27449490136, -21138056536, -17982382936, -14826709336, -12219330136, -2840178136, -2366790512, -2208988800 ], + "diffs" : [ -175064, -88664, -2264, 84136, 170536, 256936, 343336, 429736, 516136, 602536, 688936, 775336, 861736, -2264, -4288, -3600, 0 ] +}, { + "tz" : "Pacific/Chatham", + "switches" : [ -62135640828, -59006405628, -55850732028, -52695058428, -46383624828, -43227951228, -40072277628, -33760844028, -30605170428, -27449496828, -21138063228, -17982389628, -14826716028, -12219336828, -3192437628, -2208988800 ], + "diffs" : [ -174672, -88272, -1872, 84528, 170928, 257328, 343728, 430128, 516528, 602928, 689328, 775728, 862128, -1872, -1800, 0 ] +}, { + "tz" : "Pacific/Chuuk", + "switches" : [ -62135546828, -59006311628, -55850638028, -52694964428, -46383530828, -43227857228, -40072183628, -33760750028, -30605076428, -27449402828, -21137969228, -17982295628, -14826622028, -12219242828, -3944628428, -2208988800 ], + "diffs" : [ -258772, -172372, -85972, 428, 86828, 173228, 259628, 346028, 432428, 518828, 605228, 691628, 778028, -85972, 428, 0 ] +}, { + "tz" : "Pacific/Easter", + "switches" : [ -62135570552, -59006335352, -55850661752, -52694988152, -46383554552, -43227880952, -40072207352, -33760773752, -30605100152, -27449426552, -21137992952, -17982319352, -14826645752, -12219266552, -2208988800 ], + "diffs" : [ -177448, -91048, -4648, 81752, 168152, 254552, 340952, 427352, 513752, 600152, 686552, 772952, 859352, -4648, 0 ] +}, { + "tz" : "Pacific/Efate", + "switches" : [ -62135637196, -59006401996, -55850728396, -52695054796, -46383621196, -43227947596, -40072273996, -33760840396, -30605166796, -27449493196, -21138059596, -17982385996, -14826712396, -12219333196, -2208988800 ], + "diffs" : [ -172004, -85604, 796, 87196, 173596, 259996, 346396, 432796, 519196, 605596, 691996, 778396, 864796, 796, 0 ] +}, { + "tz" : "Pacific/Enderbury", + "switches" : [ -62135555740, -59006320540, -55850646940, -52694973340, -46383539740, -43227866140, -40072192540, -33760758940, -30605085340, -27449411740, -21137978140, -17982304540, -14826630940, -12219251740, -2208988800 ], + "diffs" : [ -260660, -174260, -87860, -1460, 84940, 171340, 257740, 344140, 430540, 516940, 603340, 689740, 776140, -87860, 0 ] +}, { + "tz" : "Pacific/Fakaofo", + "switches" : [ -62135555704, -59006320504, -55850646904, -52694973304, -46383539704, -43227866104, -40072192504, -33760758904, -30605085304, -27449411704, -21137978104, -17982304504, -14826630904, -12219251704, -2208988800 ], + "diffs" : [ -260696, -174296, -87896, -1496, 84904, 171304, 257704, 344104, 430504, 516904, 603304, 689704, 776104, -87896, 0 ] +}, { + "tz" : "Pacific/Fiji", + "switches" : [ -62135639744, -59006404544, -55850730944, -52695057344, -46383623744, -43227950144, -40072276544, -33760842944, -30605169344, -27449495744, -21138062144, -17982388544, -14826714944, -12219335744, -2208988800 ], + "diffs" : [ -173056, -86656, -256, 86144, 172544, 258944, 345344, 431744, 518144, 604544, 690944, 777344, 863744, -256, 0 ] +}, { + "tz" : "Pacific/Funafuti", + "switches" : [ -62135639812, -59006404612, -55850731012, -52695057412, -46383623812, -43227950212, -40072276612, -33760843012, -30605169412, -27449495812, -21138062212, -17982388612, -14826715012, -12219335812, -2208988800 ], + "diffs" : [ -172988, -86588, -188, 86212, 172612, 259012, 345412, 431812, 518212, 604612, 691012, 777412, 863812, -188, 0 ] +}, { + "tz" : "Pacific/Galapagos", + "switches" : [ -62135575296, -59006340096, -55850666496, -52694992896, -46383559296, -43227885696, -40072212096, -33760778496, -30605104896, -27449431296, -21137997696, -17982324096, -14826650496, -12219271296, -2208988800 ], + "diffs" : [ -172704, -86304, 96, 86496, 172896, 259296, 345696, 432096, 518496, 604896, 691296, 777696, 864096, 96, 0 ] +}, { + "tz" : "Pacific/Gambier", + "switches" : [ -62135564412, -59006329212, -55850655612, -52694982012, -46383548412, -43227874812, -40072201212, -33760767612, -30605094012, -27449420412, -21137986812, -17982313212, -14826639612, -12219260412, -2208988800 ], + "diffs" : [ -172788, -86388, 12, 86412, 172812, 259212, 345612, 432012, 518412, 604812, 691212, 777612, 864012, 12, 0 ] +}, { + "tz" : "Pacific/Guadalcanal", + "switches" : [ -62135635188, -59006399988, -55850726388, -52695052788, -46383619188, -43227945588, -40072271988, -33760838388, -30605164788, -27449491188, -21138057588, -17982383988, -14826710388, -12219331188, -2208988800 ], + "diffs" : [ -174012, -87612, -1212, 85188, 171588, 257988, 344388, 430788, 517188, 603588, 689988, 776388, 862788, -1212, 0 ] +}, { + "tz" : "Pacific/Guam", + "switches" : [ -62135545140, -59006309940, -55850636340, -52694962740, -46383529140, -43227855540, -40072181940, -33760748340, -30605074740, -27449401140, -21137967540, -17982293940, -14826620340, -12219241140, -3944626740, -2208988800 ], + "diffs" : [ -260460, -174060, -87660, -1260, 85140, 171540, 257940, 344340, 430740, 517140, 603540, 689940, 776340, -87660, -1260, 0 ] +}, { + "tz" : "Pacific/Honolulu", + "switches" : [ -62135558914, -59006323714, -55850650114, -52694976514, -46383542914, -43227869314, -40072195714, -33760762114, -30605088514, -27449414914, -21137981314, -17982307714, -14826634114, -12219254914, -2334101314, -2208988800 ], + "diffs" : [ -174686, -88286, -1886, 84514, 170914, 257314, 343714, 430114, 516514, 602914, 689314, 775714, 862114, -1886, -1800, 0 ] +}, { + "tz" : "Pacific/Johnston", + "switches" : [ -62135558914, -59006323714, -55850650114, -52694976514, -46383542914, -43227869314, -40072195714, -33760762114, -30605088514, -27449414914, -21137981314, -17982307714, -14826634114, -12219254914, -2334101314, -2208988800 ], + "diffs" : [ -174686, -88286, -1886, 84514, 170914, 257314, 343714, 430114, 516514, 602914, 689314, 775714, 862114, -1886, -1800, 0 ] +}, { + "tz" : "Pacific/Kiritimati", + "switches" : [ -62135559040, -59006323840, -55850650240, -52694976640, -46383543040, -43227869440, -40072195840, -33760762240, -30605088640, -27449415040, -21137981440, -17982307840, -14826634240, -12219255040, -2208988800 ], + "diffs" : [ -260960, -174560, -88160, -1760, 84640, 171040, 257440, 343840, 430240, 516640, 603040, 689440, 775840, -88160, 0 ] +}, { + "tz" : "Pacific/Kosrae", + "switches" : [ -62135549516, -59006314316, -55850640716, -52694967116, -46383533516, -43227859916, -40072186316, -33760752716, -30605079116, -27449405516, -21137971916, -17982298316, -14826624716, -12219245516, -3944631116, -2208988800 ], + "diffs" : [ -259684, -173284, -86884, -484, 85916, 172316, 258716, 345116, 431516, 517916, 604316, 690716, 777116, -86884, -484, 0 ] +}, { + "tz" : "Pacific/Kwajalein", + "switches" : [ -62135636960, -59006401760, -55850728160, -52695054560, -46383620960, -43227947360, -40072273760, -33760840160, -30605166560, -27449492960, -21138059360, -17982385760, -14826712160, -12219332960, -2208988800 ], + "diffs" : [ -175840, -89440, -3040, 83360, 169760, 256160, 342560, 428960, 515360, 601760, 688160, 774560, 860960, -3040, 0 ] +}, { + "tz" : "Pacific/Majuro", + "switches" : [ -62135637888, -59006402688, -55850729088, -52695055488, -46383621888, -43227948288, -40072274688, -33760841088, -30605167488, -27449493888, -21138060288, -17982386688, -14826713088, -12219333888, -2208988800 ], + "diffs" : [ -174912, -88512, -2112, 84288, 170688, 257088, 343488, 429888, 516288, 602688, 689088, 775488, 861888, -2112, 0 ] +}, { + "tz" : "Pacific/Marquesas", + "switches" : [ -62135563320, -59006328120, -55850654520, -52694980920, -46383547320, -43227873720, -40072200120, -33760766520, -30605092920, -27449419320, -21137985720, -17982312120, -14826638520, -12219259320, -2208988800 ], + "diffs" : [ -172080, -85680, 720, 87120, 173520, 259920, 346320, 432720, 519120, 605520, 691920, 778320, 864720, 720, 0 ] +}, { + "tz" : "Pacific/Midway", + "switches" : [ -62135642232, -59006407032, -55850733432, -52695059832, -46383626232, -43227952632, -40072279032, -33760845432, -30605171832, -27449498232, -21138064632, -17982391032, -14826717432, -12219338232, -2445424632, -2208988800 ], + "diffs" : [ -87768, -1368, 85032, 171432, 257832, 344232, 430632, 517032, 603432, 689832, 776232, 862632, 949032, 85032, -1368, 0 ] +}, { + "tz" : "Pacific/Nauru", + "switches" : [ -62135636860, -59006401660, -55850728060, -52695054460, -46383620860, -43227947260, -40072273660, -33760840060, -30605166460, -27449492860, -21138059260, -17982385660, -14826712060, -12219332860, -2208988800 ], + "diffs" : [ -175940, -89540, -3140, 83260, 169660, 256060, 342460, 428860, 515260, 601660, 688060, 774460, 860860, -3140, 0 ] +}, { + "tz" : "Pacific/Niue", + "switches" : [ -62135556020, -59006320820, -55850647220, -52694973620, -46383540020, -43227866420, -40072192820, -33760759220, -30605085620, -27449412020, -21137978420, -17982304820, -14826631220, -12219252020, -2208988800 ], + "diffs" : [ -173980, -87580, -1180, 85220, 171620, 258020, 344420, 430820, 517220, 603620, 690020, 776420, 862820, -1180, 0 ] +}, { + "tz" : "Pacific/Norfolk", + "switches" : [ -62135637112, -59006401912, -55850728312, -52695054712, -46383621112, -43227947512, -40072273912, -33760840312, -30605166712, -27449493112, -21138059512, -17982385912, -14826712312, -12219333112, -2208988800 ], + "diffs" : [ -172088, -85688, 712, 87112, 173512, 259912, 346312, 432712, 519112, 605512, 691912, 778312, 864712, 712, 0 ] +}, { + "tz" : "Pacific/Noumea", + "switches" : [ -62135636748, -59006401548, -55850727948, -52695054348, -46383620748, -43227947148, -40072273548, -33760839948, -30605166348, -27449492748, -21138059148, -17982385548, -14826711948, -12219332748, -2208988800 ], + "diffs" : [ -172452, -86052, 348, 86748, 173148, 259548, 345948, 432348, 518748, 605148, 691548, 777948, 864348, 348, 0 ] +}, { + "tz" : "Pacific/Pago_Pago", + "switches" : [ -62135642232, -59006407032, -55850733432, -52695059832, -46383626232, -43227952632, -40072279032, -33760845432, -30605171832, -27449498232, -21138064632, -17982391032, -14826717432, -12219338232, -2445424632, -2208988800 ], + "diffs" : [ -87768, -1368, 85032, 171432, 257832, 344232, 430632, 517032, 603432, 689832, 776232, 862632, 949032, 85032, -1368, 0 ] +}, { + "tz" : "Pacific/Palau", + "switches" : [ -62135542676, -59006307476, -55850633876, -52694960276, -46383526676, -43227853076, -40072179476, -33760745876, -30605072276, -27449398676, -21137965076, -17982291476, -14826617876, -12219238676, -3944624276, -2208988800 ], + "diffs" : [ -259324, -172924, -86524, -124, 86276, 172676, 259076, 345476, 431876, 518276, 604676, 691076, 777476, -86524, -124, 0 ] +}, { + "tz" : "Pacific/Pitcairn", + "switches" : [ -62135565580, -59006330380, -55850656780, -52694983180, -46383549580, -43227875980, -40072202380, -33760768780, -30605095180, -27449421580, -21137987980, -17982314380, -14826640780, -12219261580, -2208988800 ], + "diffs" : [ -175220, -88820, -2420, 83980, 170380, 256780, 343180, 429580, 515980, 602380, 688780, 775180, 861580, -2420, 0 ] +}, { + "tz" : "Pacific/Pohnpei", + "switches" : [ -62135548372, -59006313172, -55850639572, -52694965972, -46383532372, -43227858772, -40072185172, -33760751572, -30605077972, -27449404372, -21137970772, -17982297172, -14826623572, -12219244372, -3944629972, -2208988800 ], + "diffs" : [ -260828, -174428, -88028, -1628, 84772, 171172, 257572, 343972, 430372, 516772, 603172, 689572, 775972, -88028, -1628, 0 ] +}, { + "tz" : "Pacific/Ponape", + "switches" : [ -62135548372, -59006313172, -55850639572, -52694965972, -46383532372, -43227858772, -40072185172, -33760751572, -30605077972, -27449404372, -21137970772, -17982297172, -14826623572, -12219244372, -3944629972, -2208988800 ], + "diffs" : [ -260828, -174428, -88028, -1628, 84772, 171172, 257572, 343972, 430372, 516772, 603172, 689572, 775972, -88028, -1628, 0 ] +}, { + "tz" : "Pacific/Port_Moresby", + "switches" : [ -62135632120, -59006396920, -55850723320, -52695049720, -46383616120, -43227942520, -40072268920, -33760835320, -30605161720, -27449488120, -21138054520, -17982380920, -14826707320, -12219328120, -2840176120, -2366790512 ], + "diffs" : [ -173480, -87080, -680, 85720, 172120, 258520, 344920, 431320, 517720, 604120, 690520, 776920, 863320, -680, -688, 0 ] +}, { + "tz" : "Pacific/Rarotonga", + "switches" : [ -62135558456, -59006323256, -55850649656, -52694976056, -46383542456, -43227868856, -40072195256, -33760761656, -30605088056, -27449414456, -21137980856, -17982307256, -14826633656, -12219254456, -2208988800 ], + "diffs" : [ -175144, -88744, -2344, 84056, 170456, 256856, 343256, 429656, 516056, 602456, 688856, 775256, 861656, -2344, 0 ] +}, { + "tz" : "Pacific/Saipan", + "switches" : [ -62135545140, -59006309940, -55850636340, -52694962740, -46383529140, -43227855540, -40072181940, -33760748340, -30605074740, -27449401140, -21137967540, -17982293940, -14826620340, -12219241140, -3944626740, -2208988800 ], + "diffs" : [ -260460, -174060, -87660, -1260, 85140, 171540, 257940, 344340, 430740, 517140, 603540, 689940, 776340, -87660, -1260, 0 ] +}, { + "tz" : "Pacific/Samoa", + "switches" : [ -62135642232, -59006407032, -55850733432, -52695059832, -46383626232, -43227952632, -40072279032, -33760845432, -30605171832, -27449498232, -21138064632, -17982391032, -14826717432, -12219338232, -2445424632, -2208988800 ], + "diffs" : [ -87768, -1368, 85032, 171432, 257832, 344232, 430632, 517032, 603432, 689832, 776232, 862632, 949032, 85032, -1368, 0 ] +}, { + "tz" : "Pacific/Tahiti", + "switches" : [ -62135560904, -59006325704, -55850652104, -52694978504, -46383544904, -43227871304, -40072197704, -33760764104, -30605090504, -27449416904, -21137983304, -17982309704, -14826636104, -12219256904, -2208988800 ], + "diffs" : [ -172696, -86296, 104, 86504, 172904, 259304, 345704, 432104, 518504, 604904, 691304, 777704, 864104, 104, 0 ] +}, { + "tz" : "Pacific/Tarawa", + "switches" : [ -62135638324, -59006403124, -55850729524, -52695055924, -46383622324, -43227948724, -40072275124, -33760841524, -30605167924, -27449494324, -21138060724, -17982387124, -14826713524, -12219334324, -2208988800 ], + "diffs" : [ -174476, -88076, -1676, 84724, 171124, 257524, 343924, 430324, 516724, 603124, 689524, 775924, 862324, -1676, 0 ] +}, { + "tz" : "Pacific/Tongatapu", + "switches" : [ -62135641160, -59006405960, -55850732360, -52695058760, -46383625160, -43227951560, -40072277960, -33760844360, -30605170760, -27449497160, -21138063560, -17982389960, -14826716360, -12219337160, -2208988800 ], + "diffs" : [ -175240, -88840, -2440, 83960, 170360, 256760, 343160, 429560, 515960, 602360, 688760, 775160, 861560, -2440, 0 ] +}, { + "tz" : "Pacific/Truk", + "switches" : [ -62135546828, -59006311628, -55850638028, -52694964428, -46383530828, -43227857228, -40072183628, -33760750028, -30605076428, -27449402828, -21137969228, -17982295628, -14826622028, -12219242828, -3944628428, -2208988800 ], + "diffs" : [ -258772, -172372, -85972, 428, 86828, 173228, 259628, 346028, 432428, 518828, 605228, 691628, 778028, -85972, 428, 0 ] +}, { + "tz" : "Pacific/Wake", + "switches" : [ -62135636788, -59006401588, -55850727988, -52695054388, -46383620788, -43227947188, -40072273588, -33760839988, -30605166388, -27449492788, -21138059188, -17982385588, -14826711988, -12219332788, -2208988800 ], + "diffs" : [ -176012, -89612, -3212, 83188, 169588, 255988, 342388, 428788, 515188, 601588, 687988, 774388, 860788, -3212, 0 ] +}, { + "tz" : "Pacific/Wallis", + "switches" : [ -62135640920, -59006405720, -55850732120, -52695058520, -46383624920, -43227951320, -40072277720, -33760844120, -30605170520, -27449496920, -21138063320, -17982389720, -14826716120, -12219336920, -2208988800 ], + "diffs" : [ -171880, -85480, 920, 87320, 173720, 260120, 346520, 432920, 519320, 605720, 692120, 778520, 864920, 920, 0 ] +}, { + "tz" : "Pacific/Yap", + "switches" : [ -62135546828, -59006311628, -55850638028, -52694964428, -46383530828, -43227857228, -40072183628, -33760750028, -30605076428, -27449402828, -21137969228, -17982295628, -14826622028, -12219242828, -3944628428, -2208988800 ], + "diffs" : [ -258772, -172372, -85972, 428, 86828, 173228, 259628, 346028, 432428, 518828, 605228, 691628, 778028, -85972, 428, 0 ] +}, { + "tz" : "Poland", + "switches" : [ -62135601840, -59006366640, -55850693040, -52695019440, -46383585840, -43227912240, -40072238640, -33760805040, -30605131440, -27449457840, -21138024240, -17982350640, -14826677040, -12219297840, -2208988800 ], + "diffs" : [ -171360, -84960, 1440, 87840, 174240, 260640, 347040, 433440, 519840, 606240, 692640, 779040, 865440, 1440, 0 ] +}, { + "tz" : "Portugal", + "switches" : [ -62135594595, -59006359395, -55850685795, -52695012195, -46383578595, -43227904995, -40072231395, -33760797795, -30605124195, -27449450595, -21138016995, -17982343395, -14826669795, -12219290595, -2208988800 ], + "diffs" : [ -175005, -88605, -2205, 84195, 170595, 256995, 343395, 429795, 516195, 602595, 688995, 775395, 861795, -2205, 0 ] +}, { + "tz" : "ROK", + "switches" : [ -62135627272, -59006392072, -55850718472, -52695044872, -46383611272, -43227937672, -40072264072, -33760830472, -30605156872, -27449483272, -21138049672, -17982376072, -14826702472, -12219323272, -2208988800 ], + "diffs" : [ -174728, -88328, -1928, 84472, 170872, 257272, 343672, 430072, 516472, 602872, 689272, 775672, 862072, -1928, 0 ] +}, { + "tz" : "Singapore", + "switches" : [ -62135621725, -59006386525, -55850712925, -52695039325, -46383605725, -43227932125, -40072258525, -33760824925, -30605151325, -27449477725, -21138044125, -17982370525, -14826696925, -12219317725, -2208988800 ], + "diffs" : [ -176675, -90275, -3875, 82525, 168925, 255325, 341725, 428125, 514525, 600925, 687325, 773725, 860125, -3875, 0 ] +}, { + "tz" : "SystemV/AST4", + "switches" : [ -62135582400, -59006347200, -55850673600, -52695000000, -46383566400, -43227892800, -40072219200, -33760785600, -30605112000, -27449438400, -21138004800, -17982331200, -14826657600, -12219278400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/AST4ADT", + "switches" : [ -62135582400, -59006347200, -55850673600, -52695000000, -46383566400, -43227892800, -40072219200, -33760785600, -30605112000, -27449438400, -21138004800, -17982331200, -14826657600, -12219278400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/CST6", + "switches" : [ -62135575200, -59006340000, -55850666400, -52694992800, -46383559200, -43227885600, -40072212000, -33760778400, -30605104800, -27449431200, -21137997600, -17982324000, -14826650400, -12219271200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/CST6CDT", + "switches" : [ -62135575200, -59006340000, -55850666400, -52694992800, -46383559200, -43227885600, -40072212000, -33760778400, -30605104800, -27449431200, -21137997600, -17982324000, -14826650400, -12219271200 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/EST5", + "switches" : [ -62135578800, -59006343600, -55850670000, -52694996400, -46383562800, -43227889200, -40072215600, -33760782000, -30605108400, -27449434800, -21138001200, -17982327600, -14826654000, -12219274800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/EST5EDT", + "switches" : [ -62135578800, -59006343600, -55850670000, -52694996400, -46383562800, -43227889200, -40072215600, -33760782000, -30605108400, -27449434800, -21138001200, -17982327600, -14826654000, -12219274800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/HST10", + "switches" : [ -62135560800, -59006325600, -55850652000, -52694978400, -46383544800, -43227871200, -40072197600, -33760764000, -30605090400, -27449416800, -21137983200, -17982309600, -14826636000, -12219256800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/MST7", + "switches" : [ -62135571600, -59006336400, -55850662800, -52694989200, -46383555600, -43227882000, -40072208400, -33760774800, -30605101200, -27449427600, -21137994000, -17982320400, -14826646800, -12219267600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/MST7MDT", + "switches" : [ -62135571600, -59006336400, -55850662800, -52694989200, -46383555600, -43227882000, -40072208400, -33760774800, -30605101200, -27449427600, -21137994000, -17982320400, -14826646800, -12219267600 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/PST8", + "switches" : [ -62135568000, -59006332800, -55850659200, -52694985600, -46383552000, -43227878400, -40072204800, -33760771200, -30605097600, -27449424000, -21137990400, -17982316800, -14826643200, -12219264000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/PST8PDT", + "switches" : [ -62135568000, -59006332800, -55850659200, -52694985600, -46383552000, -43227878400, -40072204800, -33760771200, -30605097600, -27449424000, -21137990400, -17982316800, -14826643200, -12219264000 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/YST9", + "switches" : [ -62135564400, -59006329200, -55850655600, -52694982000, -46383548400, -43227874800, -40072201200, -33760767600, -30605094000, -27449420400, -21137986800, -17982313200, -14826639600, -12219260400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "SystemV/YST9YDT", + "switches" : [ -62135564400, -59006329200, -55850655600, -52694982000, -46383548400, -43227874800, -40072201200, -33760767600, -30605094000, -27449420400, -21137986800, -17982313200, -14826639600, -12219260400 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Turkey", + "switches" : [ -62135603752, -59006368552, -55850694952, -52695021352, -46383587752, -43227914152, -40072240552, -33760806952, -30605133352, -27449459752, -21138026152, -17982352552, -14826678952, -12219299752, -2840147752, -2208988800 ], + "diffs" : [ -176648, -90248, -3848, 82552, 168952, 255352, 341752, 428152, 514552, 600952, 687352, 773752, 860152, -3848, -3784, 0 ] +}, { + "tz" : "UCT", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "US/Alaska", + "switches" : [ -62135647224, -59006412024, -55850738424, -52695064824, -46383631224, -43227957624, -40072284024, -33760850424, -30605176824, -27449503224, -21138069624, -17982396024, -14826722424, -12219343224, -3225223727, -2208988800 ], + "diffs" : [ -89976, -3576, 82824, 169224, 255624, 342024, 428424, 514824, 601224, 687624, 774024, 860424, 946824, 82824, -3576, 0 ] +}, { + "tz" : "US/Aleutian", + "switches" : [ -62135640802, -59006405602, -55850732002, -52695058402, -46383624802, -43227951202, -40072277602, -33760844002, -30605170402, -27449496802, -21138063202, -17982389602, -14826716002, -12219336802, -3225223727, -2208988800 ], + "diffs" : [ -92798, -6398, 80002, 166402, 252802, 339202, 425602, 512002, 598402, 684802, 771202, 857602, 944002, 80002, -6398, 0 ] +}, { + "tz" : "US/Arizona", + "switches" : [ -62135569902, -59006334702, -55850661102, -52694987502, -46383553902, -43227880302, -40072206702, -33760773102, -30605099502, -27449425902, -21137992302, -17982318702, -14826645102, -12219265902, -2717643600 ], + "diffs" : [ -174498, -88098, -1698, 84702, 171102, 257502, 343902, 430302, 516702, 603102, 689502, 775902, 862302, -1698, 0 ] +}, { + "tz" : "US/Central", + "switches" : [ -62135575764, -59006340564, -55850666964, -52694993364, -46383559764, -43227886164, -40072212564, -33760778964, -30605105364, -27449431764, -21137998164, -17982324564, -14826650964, -12219271764, -2717647200 ], + "diffs" : [ -172236, -85836, 564, 86964, 173364, 259764, 346164, 432564, 518964, 605364, 691764, 778164, 864564, 564, 0 ] +}, { + "tz" : "US/East-Indiana", + "switches" : [ -62135576122, -59006340922, -55850667322, -52694993722, -46383560122, -43227886522, -40072212922, -33760779322, -30605105722, -27449432122, -21137998522, -17982324922, -14826651322, -12219272122, -2717647200, -2208988800 ], + "diffs" : [ -175478, -89078, -2678, 83722, 170122, 256522, 342922, 429322, 515722, 602122, 688522, 774922, 861322, -2678, -3600, 0 ] +}, { + "tz" : "US/Eastern", + "switches" : [ -62135579038, -59006343838, -55850670238, -52694996638, -46383563038, -43227889438, -40072215838, -33760782238, -30605108638, -27449435038, -21138001438, -17982327838, -14826654238, -12219275038, -2717650800 ], + "diffs" : [ -172562, -86162, 238, 86638, 173038, 259438, 345838, 432238, 518638, 605038, 691438, 777838, 864238, 238, 0 ] +}, { + "tz" : "US/Hawaii", + "switches" : [ -62135558914, -59006323714, -55850650114, -52694976514, -46383542914, -43227869314, -40072195714, -33760762114, -30605088514, -27449414914, -21137981314, -17982307714, -14826634114, -12219254914, -2334101314, -2208988800 ], + "diffs" : [ -174686, -88286, -1886, 84514, 170914, 257314, 343714, 430114, 516514, 602914, 689314, 775714, 862114, -1886, -1800, 0 ] +}, { + "tz" : "US/Indiana-Starke", + "switches" : [ -62135576010, -59006340810, -55850667210, -52694993610, -46383560010, -43227886410, -40072212810, -33760779210, -30605105610, -27449432010, -21137998410, -17982324810, -14826651210, -12219272010, -2717647200 ], + "diffs" : [ -171990, -85590, 810, 87210, 173610, 260010, 346410, 432810, 519210, 605610, 692010, 778410, 864810, 810, 0 ] +}, { + "tz" : "US/Michigan", + "switches" : [ -62135576869, -59006341669, -55850668069, -52694994469, -46383560869, -43227887269, -40072213669, -33760780069, -30605106469, -27449432869, -21137999269, -17982325669, -14826652069, -12219272869, -2208988800 ], + "diffs" : [ -174731, -88331, -1931, 84469, 170869, 257269, 343669, 430069, 516469, 602869, 689269, 775669, 862069, -1931, 0 ] +}, { + "tz" : "US/Mountain", + "switches" : [ -62135571604, -59006336404, -55850662804, -52694989204, -46383555604, -43227882004, -40072208404, -33760774804, -30605101204, -27449427604, -21137994004, -17982320404, -14826646804, -12219267604, -2717643600 ], + "diffs" : [ -172796, -86396, 4, 86404, 172804, 259204, 345604, 432004, 518404, 604804, 691204, 777604, 864004, 4, 0 ] +}, { + "tz" : "US/Pacific", + "switches" : [ -62135568422, -59006333222, -55850659622, -52694986022, -46383552422, -43227878822, -40072205222, -33760771622, -30605098022, -27449424422, -21137990822, -17982317222, -14826643622, -12219264422, -2717640000 ], + "diffs" : [ -172378, -85978, 422, 86822, 173222, 259622, 346022, 432422, 518822, 605222, 691622, 778022, 864422, 422, 0 ] +}, { + "tz" : "US/Pacific-New", + "switches" : [ -62135568422, -59006333222, -55850659622, -52694986022, -46383552422, -43227878822, -40072205222, -33760771622, -30605098022, -27449424422, -21137990822, -17982317222, -14826643622, -12219264422, -2717640000 ], + "diffs" : [ -172378, -85978, 422, 86822, 173222, 259622, 346022, 432422, 518822, 605222, 691622, 778022, 864422, 422, 0 ] +}, { + "tz" : "US/Samoa", + "switches" : [ -62135642232, -59006407032, -55850733432, -52695059832, -46383626232, -43227952632, -40072279032, -33760845432, -30605171832, -27449498232, -21138064632, -17982391032, -14826717432, -12219338232, -2445424632, -2208988800 ], + "diffs" : [ -87768, -1368, 85032, 171432, 257832, 344232, 430632, 517032, 603432, 689832, 776232, 862632, 949032, 85032, -1368, 0 ] +}, { + "tz" : "UTC", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Universal", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "W-SU", + "switches" : [ -62135605817, -59006370617, -55850697017, -52695023417, -46383589817, -43227916217, -40072242617, -33760809017, -30605135417, -27449461817, -21138028217, -17982354617, -14826681017, -12219301817, -2208988800 ], + "diffs" : [ -174583, -88183, -1783, 84617, 171017, 257417, 343817, 430217, 516617, 603017, 689417, 775817, 862217, -1783, 0 ] +}, { + "tz" : "WET", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +}, { + "tz" : "Zulu", + "switches" : [ -62135596800, -59006361600, -55850688000, -52695014400, -46383580800, -43227907200, -40072233600, -33760800000, -30605126400, -27449452800, -21138019200, -17982345600, -14826672000, -12219292800 ], + "diffs" : [ -172800, -86400, 0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 0 ] +} ] \ No newline at end of file diff --git a/sql/catalyst/src/main/resources/julian-gregorian-rebase-micros.json b/sql/catalyst/src/main/resources/julian-gregorian-rebase-micros.json new file mode 100644 index 0000000000000..b733ac43cbf1f --- /dev/null +++ b/sql/catalyst/src/main/resources/julian-gregorian-rebase-micros.json @@ -0,0 +1,2385 @@ +[ { + "tz" : "Africa/Abidjan", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Accra", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 172852, 86452, 52, -86348, -172748, -259148, -345548, -431948, -518348, -604748, -691148, -777548, -863948, 52, 0 ] +}, { + "tz" : "Africa/Addis_Ababa", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Algiers", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2486682111, -2208988800 ], + "diffs" : [ 175668, 89268, 2868, -83532, -169932, -256332, -342732, -429132, -515532, -601932, -688332, -774732, -861132, 2868, 3039, 0 ] +}, { + "tz" : "Africa/Asmara", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Asmera", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Bamako", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Bangui", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Banjul", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Bissau", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 176540, 90140, 3740, -82660, -169060, -255460, -341860, -428260, -514660, -601060, -687460, -773860, -860260, 3740, 0 ] +}, { + "tz" : "Africa/Blantyre", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Brazzaville", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Bujumbura", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Cairo", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172491, 86091, -309, -86709, -173109, -259509, -345909, -432309, -518709, -605109, -691509, -777909, -864309, -309, 0 ] +}, { + "tz" : "Africa/Ceuta", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 177676, 91276, 4876, -81524, -167924, -254324, -340724, -427124, -513524, -599924, -686324, -772724, -859124, 4876, 0 ] +}, { + "tz" : "Africa/Conakry", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Dakar", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Dar_es_Salaam", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Djibouti", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Douala", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Freetown", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Gaborone", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Harare", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Johannesburg", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2458174920, -2208988800 ], + "diffs" : [ 173280, 86880, 480, -85920, -172320, -258720, -345120, -431520, -517920, -604320, -690720, -777120, -863520, 480, 1800, 0 ] +}, { + "tz" : "Africa/Juba", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 176012, 89612, 3212, -83188, -169588, -255988, -342388, -428788, -515188, -601588, -687988, -774388, -860788, 3212, 0 ] +}, { + "tz" : "Africa/Kampala", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Khartoum", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172192, 85792, -608, -87008, -173408, -259808, -346208, -432608, -519008, -605408, -691808, -778208, -864608, -608, 0 ] +}, { + "tz" : "Africa/Kigali", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Kinshasa", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Lagos", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Libreville", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Lome", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Luanda", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Lubumbashi", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Lusaka", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Malabo", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Maputo", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172180, 85780, -620, -87020, -173420, -259820, -346220, -432620, -519020, -605420, -691820, -778220, -864620, -620, 0 ] +}, { + "tz" : "Africa/Maseru", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2458174920, -2208988800 ], + "diffs" : [ 173280, 86880, 480, -85920, -172320, -258720, -345120, -431520, -517920, -604320, -690720, -777120, -863520, 480, 1800, 0 ] +}, { + "tz" : "Africa/Mbabane", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2458174920, -2208988800 ], + "diffs" : [ 173280, 86880, 480, -85920, -172320, -258720, -345120, -431520, -517920, -604320, -690720, -777120, -863520, 480, 1800, 0 ] +}, { + "tz" : "Africa/Mogadishu", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Monrovia", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 175388, 88988, 2588, -83812, -170212, -256612, -343012, -429412, -515812, -602212, -688612, -775012, -861412, 2588, 0 ] +}, { + "tz" : "Africa/Nairobi", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Africa/Ndjamena", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 172788, 86388, -12, -86412, -172812, -259212, -345612, -432012, -518412, -604812, -691212, -777612, -864012, -12, 0 ] +}, { + "tz" : "Africa/Niamey", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Nouakchott", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Ouagadougou", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Porto-Novo", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Africa/Sao_Tome", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2713914221, -2208988800 ], + "diffs" : [ 171184, 84784, -1616, -88016, -174416, -260816, -347216, -433616, -520016, -606416, -692816, -779216, -865616, -1616, 2205, 0 ] +}, { + "tz" : "Africa/Timbuktu", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Africa/Tripoli", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 176836, 90436, 4036, -82364, -168764, -255164, -341564, -427964, -514364, -600764, -687164, -773564, -859964, 4036, 0 ] +}, { + "tz" : "Africa/Tunis", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2797205483, -2208988800 ], + "diffs" : [ 173956, 87556, 1156, -85244, -171644, -258044, -344444, -430844, -517244, -603644, -690044, -776444, -862844, 1156, 3039, 0 ] +}, { + "tz" : "Africa/Windhoek", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2458172304, -2208988800 ], + "diffs" : [ 175896, 89496, 3096, -83304, -169704, -256104, -342504, -428904, -515304, -601704, -688104, -774504, -860904, 3096, 1800, 0 ] +}, { + "tz" : "America/Adak", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -3225230125, -2208988800 ], + "diffs" : [ 92798, 6398, -80002, -166402, -252802, -339202, -425602, -512002, -598402, -684802, -771202, -857602, -944002, -80002, 6398, 0 ] +}, { + "tz" : "America/Anchorage", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225227303, -2208988800 ], + "diffs" : [ 89976, 3576, -82824, -169224, -255624, -342024, -428424, -514824, -601224, -687624, -774024, -860424, -946824, -82824, 3576, 0 ] +}, { + "tz" : "America/Anguilla", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Antigua", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Araguaina", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 173568, 87168, 768, -85632, -172032, -258432, -344832, -431232, -517632, -604032, -690432, -776832, -863232, 768, 0 ] +}, { + "tz" : "America/Argentina/Buenos_Aires", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372102580, -2208988800 ], + "diffs" : [ 176028, 89628, 3228, -83172, -169572, -255972, -342372, -428772, -515172, -601572, -687972, -774372, -860772, 3228, 4608, 0 ] +}, { + "tz" : "America/Argentina/Catamarca", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100820, -2208988800 ], + "diffs" : [ 177788, 91388, 4988, -81412, -167812, -254212, -340612, -427012, -513412, -599812, -686212, -772612, -859012, 4988, 4608, 0 ] +}, { + "tz" : "America/Argentina/ComodRivadavia", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100820, -2208988800 ], + "diffs" : [ 177788, 91388, 4988, -81412, -167812, -254212, -340612, -427012, -513412, -599812, -686212, -772612, -859012, 4988, 4608, 0 ] +}, { + "tz" : "America/Argentina/Cordoba", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 177408, 91008, 4608, -81792, -168192, -254592, -340992, -427392, -513792, -600192, -686592, -772992, -859392, 4608, 0 ] +}, { + "tz" : "America/Argentina/Jujuy", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100936, -2208988800 ], + "diffs" : [ 177672, 91272, 4872, -81528, -167928, -254328, -340728, -427128, -513528, -599928, -686328, -772728, -859128, 4872, 4608, 0 ] +}, { + "tz" : "America/Argentina/La_Rioja", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100564, -2208988800 ], + "diffs" : [ 178044, 91644, 5244, -81156, -167556, -253956, -340356, -426756, -513156, -599556, -685956, -772356, -858756, 5244, 4608, 0 ] +}, { + "tz" : "America/Argentina/Mendoza", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100092, -2208988800 ], + "diffs" : [ 178516, 92116, 5716, -80684, -167084, -253484, -339884, -426284, -512684, -599084, -685484, -771884, -858284, 5716, 4608, 0 ] +}, { + "tz" : "America/Argentina/Rio_Gallegos", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372099996, -2208988800 ], + "diffs" : [ 178612, 92212, 5812, -80588, -166988, -253388, -339788, -426188, -512588, -598988, -685388, -771788, -858188, 5812, 4608, 0 ] +}, { + "tz" : "America/Argentina/Salta", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100908, -2208988800 ], + "diffs" : [ 177700, 91300, 4900, -81500, -167900, -254300, -340700, -427100, -513500, -599900, -686300, -772700, -859100, 4900, 4608, 0 ] +}, { + "tz" : "America/Argentina/San_Juan", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100164, -2208988800 ], + "diffs" : [ 178444, 92044, 5644, -80756, -167156, -253556, -339956, -426356, -512756, -599156, -685556, -771956, -858356, 5644, 4608, 0 ] +}, { + "tz" : "America/Argentina/San_Luis", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100684, -2208988800 ], + "diffs" : [ 177924, 91524, 5124, -81276, -167676, -254076, -340476, -426876, -513276, -599676, -686076, -772476, -858876, 5124, 4608, 0 ] +}, { + "tz" : "America/Argentina/Tucuman", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100956, -2208988800 ], + "diffs" : [ 177652, 91252, 4852, -81548, -167948, -254348, -340748, -427148, -513548, -599948, -686348, -772748, -859148, 4852, 4608, 0 ] +}, { + "tz" : "America/Argentina/Ushuaia", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100216, -2208988800 ], + "diffs" : [ 178392, 91992, 5592, -80808, -167208, -253608, -340008, -426408, -512808, -599208, -685608, -772008, -858408, 5592, 4608, 0 ] +}, { + "tz" : "America/Aruba", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174947, 88547, 2147, -84253, -170653, -257053, -343453, -429853, -516253, -602653, -689053, -775453, -861853, 2147, 0 ] +}, { + "tz" : "America/Asuncion", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172240, 85840, -560, -86960, -173360, -259760, -346160, -432560, -518960, -605360, -691760, -778160, -864560, -560, 0 ] +}, { + "tz" : "America/Atikokan", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366736812, -2208988800 ], + "diffs" : [ 176788, 90388, 3988, -82412, -168812, -255212, -341612, -428012, -514412, -600812, -687212, -773612, -860012, 3988, 3600, 0 ] +}, { + "tz" : "America/Atka", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -3225230125, -2208988800 ], + "diffs" : [ 92798, 6398, -80002, -166402, -252802, -339202, -425602, -512002, -598402, -684802, -771202, -857602, -944002, -80002, 6398, 0 ] +}, { + "tz" : "America/Bahia", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 171244, 84844, -1556, -87956, -174356, -260756, -347156, -433556, -519956, -606356, -692756, -779156, -865556, -1556, 0 ] +}, { + "tz" : "America/Bahia_Banderas", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 176460, 90060, 3660, -82740, -169140, -255540, -341940, -428340, -514740, -601140, -687540, -773940, -860340, 3660, 0 ] +}, { + "tz" : "America/Barbados", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172709, 86309, -91, -86491, -172891, -259291, -345691, -432091, -518491, -604891, -691291, -777691, -864091, -91, 0 ] +}, { + "tz" : "America/Belem", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 173636, 87236, 836, -85564, -171964, -258364, -344764, -431164, -517564, -603964, -690364, -776764, -863164, 836, 0 ] +}, { + "tz" : "America/Belize", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172368, 85968, -432, -86832, -173232, -259632, -346032, -432432, -518832, -605232, -691632, -778032, -864432, -432, 0 ] +}, { + "tz" : "America/Blanc-Sablon", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2713896692 ], + "diffs" : [ 172108, 85708, -692, -87092, -173492, -259892, -346292, -432692, -519092, -605492, -691892, -778292, -864692, -692, 0 ] +}, { + "tz" : "America/Boa_Vista", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172960, 86560, 160, -86240, -172640, -259040, -345440, -431840, -518240, -604640, -691040, -777440, -863840, 160, 0 ] +}, { + "tz" : "America/Bogota", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 172576, 86176, -224, -86624, -173024, -259424, -345824, -432224, -518624, -605024, -691424, -777824, -864224, -224, 0 ] +}, { + "tz" : "America/Boise", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600, -2208988800 ], + "diffs" : [ 175489, 89089, 2689, -83711, -170111, -256511, -342911, -429311, -515711, -602111, -688511, -774911, -861311, 2689, 3600, 0 ] +}, { + "tz" : "America/Buenos_Aires", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372102580, -2208988800 ], + "diffs" : [ 176028, 89628, 3228, -83172, -169572, -255972, -342372, -428772, -515172, -601572, -687972, -774372, -860772, 3228, 4608, 0 ] +}, { + "tz" : "America/Cambridge_Bay", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 147600, 61200, -25200, -111600, -198000, -284400, -370800, -457200, -543600, -630000, -716400, -802800, -889200, -25200, 0 ] +}, { + "tz" : "America/Campo_Grande", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 171508, 85108, -1292, -87692, -174092, -260492, -346892, -433292, -519692, -606092, -692492, -778892, -865292, -1292, 0 ] +}, { + "tz" : "America/Cancun", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 175624, 89224, 2824, -83576, -169976, -256376, -342776, -429176, -515576, -601976, -688376, -774776, -861176, 2824, 0 ] +}, { + "tz" : "America/Caracas", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2524507196, -2208988800 ], + "diffs" : [ 174464, 88064, 1664, -84736, -171136, -257536, -343936, -430336, -516736, -603136, -689536, -775936, -862336, 1664, 1660, 0 ] +}, { + "tz" : "America/Catamarca", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100820, -2208988800 ], + "diffs" : [ 177788, 91388, 4988, -81412, -167812, -254212, -340612, -427012, -513412, -599812, -686212, -772612, -859012, 4988, 4608, 0 ] +}, { + "tz" : "America/Cayenne", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 174560, 88160, 1760, -84640, -171040, -257440, -343840, -430240, -516640, -603040, -689440, -775840, -862240, 1760, 0 ] +}, { + "tz" : "America/Cayman", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503688, -2208988800 ], + "diffs" : [ 173888, 87488, 1088, -85312, -171712, -258112, -344512, -430912, -517312, -603712, -690112, -776512, -862912, 1088, 1176, 0 ] +}, { + "tz" : "America/Chicago", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 172236, 85836, -564, -86964, -173364, -259764, -346164, -432564, -518964, -605364, -691764, -778164, -864564, -564, 0 ] +}, { + "tz" : "America/Chihuahua", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 173060, 86660, 260, -86140, -172540, -258940, -345340, -431740, -518140, -604540, -690940, -777340, -863740, 260, 0 ] +}, { + "tz" : "America/Coral_Harbour", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366736812, -2208988800 ], + "diffs" : [ 176788, 90388, 3988, -82412, -168812, -255212, -341612, -428012, -514412, -600812, -687212, -773612, -860012, 3988, 3600, 0 ] +}, { + "tz" : "America/Cordoba", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 177408, 91008, 4608, -81792, -168192, -254592, -340992, -427392, -513792, -600192, -686592, -772992, -859392, 4608, 0 ] +}, { + "tz" : "America/Costa_Rica", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 171373, 84973, -1427, -87827, -174227, -260627, -347027, -433427, -519827, -606227, -692627, -779027, -865427, -1427, 0 ] +}, { + "tz" : "America/Creston", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2713882436 ], + "diffs" : [ 175564, 89164, 2764, -83636, -170036, -256436, -342836, -429236, -515636, -602036, -688436, -774836, -861236, 2764, 0 ] +}, { + "tz" : "America/Cuiaba", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 171860, 85460, -940, -87340, -173740, -260140, -346540, -432940, -519340, -605740, -692140, -778540, -864940, -940, 0 ] +}, { + "tz" : "America/Curacao", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174947, 88547, 2147, -84253, -170653, -257053, -343453, -429853, -516253, -602653, -689053, -775453, -861853, 2147, 0 ] +}, { + "tz" : "America/Danmarkshavn", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 177280, 90880, 4480, -81920, -168320, -254720, -341120, -427520, -513920, -600320, -686720, -773120, -859520, 4480, 0 ] +}, { + "tz" : "America/Dawson", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 177460, 91060, 4660, -81740, -168140, -254540, -340940, -427340, -513740, -600140, -686540, -772940, -859340, 4660, 0 ] +}, { + "tz" : "America/Dawson_Creek", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2713885144, -2208988800 ], + "diffs" : [ 176456, 90056, 3656, -82744, -169144, -255544, -341944, -428344, -514744, -601144, -687544, -773944, -860344, 3656, 3600, 0 ] +}, { + "tz" : "America/Denver", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 172796, 86396, -4, -86404, -172804, -259204, -345604, -432004, -518404, -604804, -691204, -777604, -864004, -4, 0 ] +}, { + "tz" : "America/Detroit", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 174731, 88331, 1931, -84469, -170869, -257269, -343669, -430069, -516469, -602869, -689269, -775669, -862069, 1931, 0 ] +}, { + "tz" : "America/Dominica", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Edmonton", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 174832, 88432, 2032, -84368, -170768, -257168, -343568, -429968, -516368, -602768, -689168, -775568, -861968, 2032, 0 ] +}, { + "tz" : "America/Eirunepe", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 171568, 85168, -1232, -87632, -174032, -260432, -346832, -433232, -519632, -606032, -692432, -778832, -865232, -1232, 0 ] +}, { + "tz" : "America/El_Salvador", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172608, 86208, -192, -86592, -172992, -259392, -345792, -432192, -518592, -604992, -691392, -777792, -864192, -192, 0 ] +}, { + "tz" : "America/Ensenada", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 172084, 85684, -716, -87116, -173516, -259916, -346316, -432716, -519116, -605516, -691916, -778316, -864716, -716, 0 ] +}, { + "tz" : "America/Fort_Nelson", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2713884553, -2208988800 ], + "diffs" : [ 177047, 90647, 4247, -82153, -168553, -254953, -341353, -427753, -514153, -600553, -686953, -773353, -859753, 4247, 3600, 0 ] +}, { + "tz" : "America/Fort_Wayne", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175478, 89078, 2678, -83722, -170122, -256522, -342922, -429322, -515722, -602122, -688522, -774922, -861322, 2678, 3600, 0 ] +}, { + "tz" : "America/Fortaleza", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 171240, 84840, -1560, -87960, -174360, -260760, -347160, -433560, -519960, -606360, -692760, -779160, -865560, -1560, 0 ] +}, { + "tz" : "America/Glace_Bay", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172788, 86388, -12, -86412, -172812, -259212, -345612, -432012, -518412, -604812, -691212, -777612, -864012, -12, 0 ] +}, { + "tz" : "America/Godthab", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 174416, 88016, 1616, -84784, -171184, -257584, -343984, -430384, -516784, -603184, -689584, -775984, -862384, 1616, 0 ] +}, { + "tz" : "America/Goose_Bay", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2713894152, -2208988800 ], + "diffs" : [ 172900, 86500, 100, -86300, -172700, -259100, -345500, -431900, -518300, -604700, -691100, -777500, -863900, 100, -1748, 0 ] +}, { + "tz" : "America/Grand_Turk", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524504958, -2208988800 ], + "diffs" : [ 171872, 85472, -928, -87328, -173728, -260128, -346528, -432928, -519328, -605728, -692128, -778528, -864928, -928, 430, 0 ] +}, { + "tz" : "America/Grenada", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Guadeloupe", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Guatemala", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172924, 86524, 124, -86276, -172676, -259076, -345476, -431876, -518276, -604676, -691076, -777476, -863876, 124, 0 ] +}, { + "tz" : "America/Guayaquil", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503280, -2208988800 ], + "diffs" : [ 173960, 87560, 1160, -85240, -171640, -258040, -344440, -430840, -517240, -603640, -690040, -776440, -862840, 1160, 840, 0 ] +}, { + "tz" : "America/Guyana", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172360, 85960, -440, -86840, -173240, -259640, -346040, -432440, -518840, -605240, -691640, -778040, -864440, -440, 0 ] +}, { + "tz" : "America/Halifax", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173664, 87264, 864, -85536, -171936, -258336, -344736, -431136, -517536, -603936, -690336, -776736, -863136, 864, 0 ] +}, { + "tz" : "America/Havana", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503608, -2208988800 ], + "diffs" : [ 174568, 88168, 1768, -84632, -171032, -257432, -343832, -430232, -516632, -603032, -689432, -775832, -862232, 1768, 1776, 0 ] +}, { + "tz" : "America/Hermosillo", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 174232, 87832, 1432, -84968, -171368, -257768, -344168, -430568, -516968, -603368, -689768, -776168, -862568, 1432, 0 ] +}, { + "tz" : "America/Indiana/Indianapolis", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175478, 89078, 2678, -83722, -170122, -256522, -342922, -429322, -515722, -602122, -688522, -774922, -861322, 2678, 3600, 0 ] +}, { + "tz" : "America/Indiana/Knox", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 171990, 85590, -810, -87210, -173610, -260010, -346410, -432810, -519210, -605610, -692010, -778410, -864810, -810, 0 ] +}, { + "tz" : "America/Indiana/Marengo", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175523, 89123, 2723, -83677, -170077, -256477, -342877, -429277, -515677, -602077, -688477, -774877, -861277, 2723, 3600, 0 ] +}, { + "tz" : "America/Indiana/Petersburg", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175747, 89347, 2947, -83453, -169853, -256253, -342653, -429053, -515453, -601853, -688253, -774653, -861053, 2947, 3600, 0 ] +}, { + "tz" : "America/Indiana/Tell_City", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 172023, 85623, -777, -87177, -173577, -259977, -346377, -432777, -519177, -605577, -691977, -778377, -864777, -777, 0 ] +}, { + "tz" : "America/Indiana/Vevay", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175216, 88816, 2416, -83984, -170384, -256784, -343184, -429584, -515984, -602384, -688784, -775184, -861584, 2416, 3600, 0 ] +}, { + "tz" : "America/Indiana/Vincennes", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175807, 89407, 3007, -83393, -169793, -256193, -342593, -428993, -515393, -601793, -688193, -774593, -860993, 3007, 3600, 0 ] +}, { + "tz" : "America/Indiana/Winamac", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175585, 89185, 2785, -83615, -170015, -256415, -342815, -429215, -515615, -602015, -688415, -774815, -861215, 2785, 3600, 0 ] +}, { + "tz" : "America/Indianapolis", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175478, 89078, 2678, -83722, -170122, -256522, -342922, -429322, -515722, -602122, -688522, -774922, -861322, 2678, 3600, 0 ] +}, { + "tz" : "America/Inuvik", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 147600, 61200, -25200, -111600, -198000, -284400, -370800, -457200, -543600, -630000, -716400, -802800, -889200, -25200, 0 ] +}, { + "tz" : "America/Iqaluit", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 154800, 68400, -18000, -104400, -190800, -277200, -363600, -450000, -536400, -622800, -709200, -795600, -882000, -18000, 0 ] +}, { + "tz" : "America/Jamaica", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 173230, 86830, 430, -85970, -172370, -258770, -345170, -431570, -517970, -604370, -690770, -777170, -863570, 430, 0 ] +}, { + "tz" : "America/Jujuy", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100936, -2208988800 ], + "diffs" : [ 177672, 91272, 4872, -81528, -167928, -254328, -340728, -427128, -513528, -599928, -686328, -772728, -859128, 4872, 4608, 0 ] +}, { + "tz" : "America/Juneau", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225223588, -2208988800 ], + "diffs" : [ 86261, -139, -86539, -172939, -259339, -345739, -432139, -518539, -604939, -691339, -777739, -864139, -950539, -86539, -139, 0 ] +}, { + "tz" : "America/Kentucky/Louisville", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175382, 88982, 2582, -83818, -170218, -256618, -343018, -429418, -515818, -602218, -688618, -775018, -861418, 2582, 3600, 0 ] +}, { + "tz" : "America/Kentucky/Monticello", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175164, 88764, 2364, -84036, -170436, -256836, -343236, -429636, -516036, -602436, -688836, -775236, -861636, 2364, 3600, 0 ] +}, { + "tz" : "America/Knox_IN", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 171990, 85590, -810, -87210, -173610, -260010, -346410, -432810, -519210, -605610, -692010, -778410, -864810, -810, 0 ] +}, { + "tz" : "America/Kralendijk", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174947, 88547, 2147, -84253, -170653, -257053, -343453, -429853, -516253, -602653, -689053, -775453, -861853, 2147, 0 ] +}, { + "tz" : "America/La_Paz", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174756, 88356, 1956, -84444, -170844, -257244, -343644, -430044, -516444, -602844, -689244, -775644, -862044, 1956, 0 ] +}, { + "tz" : "America/Lima", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503624, -2208988800 ], + "diffs" : [ 173292, 86892, 492, -85908, -172308, -258708, -345108, -431508, -517908, -604308, -690708, -777108, -863508, 492, 516, 0 ] +}, { + "tz" : "America/Los_Angeles", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2717640000 ], + "diffs" : [ 172378, 85978, -422, -86822, -173222, -259622, -346022, -432422, -518822, -605222, -691622, -778022, -864422, -422, 0 ] +}, { + "tz" : "America/Louisville", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175382, 88982, 2582, -83818, -170218, -256618, -343018, -429418, -515818, -602218, -688618, -775018, -861418, 2582, 3600, 0 ] +}, { + "tz" : "America/Lower_Princes", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174947, 88547, 2147, -84253, -170653, -257053, -343453, -429853, -516253, -602653, -689053, -775453, -861853, 2147, 0 ] +}, { + "tz" : "America/Maceio", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 170572, 84172, -2228, -88628, -175028, -261428, -347828, -434228, -520628, -607028, -693428, -779828, -866228, -2228, 0 ] +}, { + "tz" : "America/Managua", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2524500004, -2208988800 ], + "diffs" : [ 171908, 85508, -892, -87292, -173692, -260092, -346492, -432892, -519292, -605692, -692092, -778492, -864892, -892, -888, 0 ] +}, { + "tz" : "America/Manaus", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172804, 86404, 4, -86396, -172796, -259196, -345596, -431996, -518396, -604796, -691196, -777596, -863996, 4, 0 ] +}, { + "tz" : "America/Marigot", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Martinique", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173060, 86660, 260, -86140, -172540, -258940, -345340, -431740, -518140, -604540, -690940, -777340, -863740, 260, 0 ] +}, { + "tz" : "America/Matamoros", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 175200, 88800, 2400, -84000, -170400, -256800, -343200, -429600, -516000, -602400, -688800, -775200, -861600, 2400, 0 ] +}, { + "tz" : "America/Mazatlan", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 173140, 86740, 340, -86060, -172460, -258860, -345260, -431660, -518060, -604460, -690860, -777260, -863660, 340, 0 ] +}, { + "tz" : "America/Mendoza", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2372100092, -2208988800 ], + "diffs" : [ 178516, 92116, 5716, -80684, -167084, -253484, -339884, -426284, -512684, -599084, -685484, -771884, -858284, 5716, 4608, 0 ] +}, { + "tz" : "America/Menominee", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2659759773 ], + "diffs" : [ 172227, 85827, -573, -86973, -173373, -259773, -346173, -432573, -518973, -605373, -691773, -778173, -864573, -573, 0 ] +}, { + "tz" : "America/Merida", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172708, 86308, -92, -86492, -172892, -259292, -345692, -432092, -518492, -604892, -691292, -777692, -864092, -92, 0 ] +}, { + "tz" : "America/Metlakatla", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225222905, -2208988800 ], + "diffs" : [ 85578, -822, -87222, -173622, -260022, -346422, -432822, -519222, -605622, -692022, -778422, -864822, -951222, -87222, -822, 0 ] +}, { + "tz" : "America/Mexico_City", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 174996, 88596, 2196, -84204, -170604, -257004, -343404, -429804, -516204, -602604, -689004, -775404, -861804, 2196, 0 ] +}, { + "tz" : "America/Miquelon", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 175480, 89080, 2680, -83720, -170120, -256520, -342920, -429320, -515720, -602120, -688520, -774920, -861320, 2680, 0 ] +}, { + "tz" : "America/Moncton", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2715885652, -2208988800 ], + "diffs" : [ 173948, 87548, 1148, -85252, -171652, -258052, -344452, -430852, -517252, -603652, -690052, -776452, -862852, 1148, 3600, 0 ] +}, { + "tz" : "America/Monterrey", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 175276, 88876, 2476, -83924, -170324, -256724, -343124, -429524, -515924, -602324, -688724, -775124, -861524, 2476, 0 ] +}, { + "tz" : "America/Montevideo", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 175491, 89091, 2691, -83709, -170109, -256509, -342909, -429309, -515709, -602109, -688509, -774909, -861309, 2691, 0 ] +}, { + "tz" : "America/Montreal", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366736148 ], + "diffs" : [ 173852, 87452, 1052, -85348, -171748, -258148, -344548, -430948, -517348, -603748, -690148, -776548, -862948, 1052, 0 ] +}, { + "tz" : "America/Montserrat", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Nassau", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 173370, 86970, 570, -85830, -172230, -258630, -345030, -431430, -517830, -604230, -690630, -777030, -863430, 570, 0 ] +}, { + "tz" : "America/New_York", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800 ], + "diffs" : [ 172562, 86162, -238, -86638, -173038, -259438, -345838, -432238, -518638, -605038, -691438, -777838, -864238, -238, 0 ] +}, { + "tz" : "America/Nipigon", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366734016 ], + "diffs" : [ 175984, 89584, 3184, -83216, -169616, -256016, -342416, -428816, -515216, -601616, -688016, -774416, -860816, 3184, 0 ] +}, { + "tz" : "America/Nome", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225231025, -2208988800 ], + "diffs" : [ 93698, 7298, -79102, -165502, -251902, -338302, -424702, -511102, -597502, -683902, -770302, -856702, -943102, -79102, 7298, 0 ] +}, { + "tz" : "America/Noronha", + "switches" : [ -62135762400, -59006440800, -55850680800, -52694920800, -46383400800, -43227640800, -40071880800, -33760360800, -30604600800, -27448840800, -21137320800, -17981560800, -14825800800, -12219285600, -2208988800 ], + "diffs" : [ 173380, 86980, 580, -85820, -172220, -258620, -345020, -431420, -517820, -604220, -690620, -777020, -863420, 580, 0 ] +}, { + "tz" : "America/North_Dakota/Beulah", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200, -2208988800 ], + "diffs" : [ 175627, 89227, 2827, -83573, -169973, -256373, -342773, -429173, -515573, -601973, -688373, -774773, -861173, 2827, 3600, 0 ] +}, { + "tz" : "America/North_Dakota/Center", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200, -2208988800 ], + "diffs" : [ 175512, 89112, 2712, -83688, -170088, -256488, -342888, -429288, -515688, -602088, -688488, -774888, -861288, 2712, 3600, 0 ] +}, { + "tz" : "America/North_Dakota/New_Salem", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200, -2208988800 ], + "diffs" : [ 175539, 89139, 2739, -83661, -170061, -256461, -342861, -429261, -515661, -602061, -688461, -774861, -861261, 2739, 3600, 0 ] +}, { + "tz" : "America/Ojinaga", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 172660, 86260, -140, -86540, -172940, -259340, -345740, -432140, -518540, -604940, -691340, -777740, -864140, -140, 0 ] +}, { + "tz" : "America/Panama", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503688, -2208988800 ], + "diffs" : [ 173888, 87488, 1088, -85312, -171712, -258112, -344512, -430912, -517312, -603712, -690112, -776512, -862912, 1088, 1176, 0 ] +}, { + "tz" : "America/Pangnirtung", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 154800, 68400, -18000, -104400, -190800, -277200, -363600, -450000, -536400, -622800, -709200, -795600, -882000, -18000, 0 ] +}, { + "tz" : "America/Paramaribo", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 175240, 88840, 2440, -83960, -170360, -256760, -343160, -429560, -515960, -602360, -688760, -775160, -861560, 2440, 0 ] +}, { + "tz" : "America/Phoenix", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 174498, 88098, 1698, -84702, -171102, -257502, -343902, -430302, -516702, -603102, -689502, -775902, -862302, 1698, 0 ] +}, { + "tz" : "America/Port-au-Prince", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503580, -2208988800 ], + "diffs" : [ 172160, 85760, -640, -87040, -173440, -259840, -346240, -432640, -519040, -605440, -691840, -778240, -864640, -640, -660, 0 ] +}, { + "tz" : "America/Port_of_Spain", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Porto_Acre", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 171072, 84672, -1728, -88128, -174528, -260928, -347328, -433728, -520128, -606528, -692928, -779328, -865728, -1728, 0 ] +}, { + "tz" : "America/Porto_Velho", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173736, 87336, 936, -85464, -171864, -258264, -344664, -431064, -517464, -603864, -690264, -776664, -863064, 936, 0 ] +}, { + "tz" : "America/Puerto_Rico", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2233035335 ], + "diffs" : [ 174265, 87865, 1465, -84935, -171335, -257735, -344135, -430535, -516935, -603335, -689735, -776135, -862535, 1465, 0 ] +}, { + "tz" : "America/Punta_Arenas", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2524510746, -2208988800 ], + "diffs" : [ 179020, 92620, 6220, -80180, -166580, -252980, -339380, -425780, -512180, -598580, -684980, -771380, -857780, 6220, 6166, 0 ] +}, { + "tz" : "America/Rainy_River", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2366732504 ], + "diffs" : [ 173896, 87496, 1096, -85304, -171704, -258104, -344504, -430904, -517304, -603704, -690104, -776504, -862904, 1096, 0 ] +}, { + "tz" : "America/Rankin_Inlet", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 151200, 64800, -21600, -108000, -194400, -280800, -367200, -453600, -540000, -626400, -712800, -799200, -885600, -21600, 0 ] +}, { + "tz" : "America/Recife", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 170376, 83976, -2424, -88824, -175224, -261624, -348024, -434424, -520824, -607224, -693624, -780024, -866424, -2424, 0 ] +}, { + "tz" : "America/Regina", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 176316, 89916, 3516, -82884, -169284, -255684, -342084, -428484, -514884, -601284, -687684, -774084, -860484, 3516, 0 ] +}, { + "tz" : "America/Resolute", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 151200, 64800, -21600, -108000, -194400, -280800, -367200, -453600, -540000, -626400, -712800, -799200, -885600, -21600, 0 ] +}, { + "tz" : "America/Rio_Branco", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 171072, 84672, -1728, -88128, -174528, -260928, -347328, -433728, -520128, -606528, -692928, -779328, -865728, -1728, 0 ] +}, { + "tz" : "America/Rosario", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 177408, 91008, 4608, -81792, -168192, -254592, -340992, -427392, -513792, -600192, -686592, -772992, -859392, 4608, 0 ] +}, { + "tz" : "America/Santa_Isabel", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 172084, 85684, -716, -87116, -173516, -259916, -346316, -432716, -519116, -605516, -691916, -778316, -864716, -716, 0 ] +}, { + "tz" : "America/Santarem", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 175128, 88728, 2328, -84072, -170472, -256872, -343272, -429672, -516072, -602472, -688872, -775272, -861672, 2328, 0 ] +}, { + "tz" : "America/Santiago", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 175366, 88966, 2566, -83834, -170234, -256634, -343034, -429434, -515834, -602234, -688634, -775034, -861434, 2566, 0 ] +}, { + "tz" : "America/Santo_Domingo", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2524507224, -2208988800 ], + "diffs" : [ 175176, 88776, 2376, -84024, -170424, -256824, -343224, -429624, -516024, -602424, -688824, -775224, -861624, 2376, 2400, 0 ] +}, { + "tz" : "America/Sao_Paulo", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 173188, 86788, 388, -86012, -172412, -258812, -345212, -431612, -518012, -604412, -690812, -777212, -863612, 388, 0 ] +}, { + "tz" : "America/Scoresbysund", + "switches" : [ -62135766000, -59006444400, -55850684400, -52694924400, -46383404400, -43227644400, -40071884400, -33760364400, -30604604400, -27448844400, -21137324400, -17981564400, -14825804400, -12219289200, -2208988800 ], + "diffs" : [ 174472, 88072, 1672, -84728, -171128, -257528, -343928, -430328, -516728, -603128, -689528, -775928, -862328, 1672, 0 ] +}, { + "tz" : "America/Shiprock", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 172796, 86396, -4, -86404, -172804, -259204, -345604, -432004, -518404, -604804, -691204, -777604, -864004, -4, 0 ] +}, { + "tz" : "America/Sitka", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225223800, -2208988800 ], + "diffs" : [ 86473, 73, -86327, -172727, -259127, -345527, -431927, -518327, -604727, -691127, -777527, -863927, -950327, -86327, 73, 0 ] +}, { + "tz" : "America/St_Barthelemy", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/St_Johns", + "switches" : [ -62135757000, -59006435400, -55850675400, -52694915400, -46383395400, -43227635400, -40071875400, -33760355400, -30604595400, -27448835400, -21137315400, -17981555400, -14825795400, -12219280200, -2208988800 ], + "diffs" : [ 172852, 86452, 52, -86348, -172748, -259148, -345548, -431948, -518348, -604748, -691148, -777548, -863948, 52, 0 ] +}, { + "tz" : "America/St_Kitts", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/St_Lucia", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/St_Thomas", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/St_Vincent", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Swift_Current", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 177080, 90680, 4280, -82120, -168520, -254920, -341320, -427720, -514120, -600520, -686920, -773320, -859720, 4280, 0 ] +}, { + "tz" : "America/Tegucigalpa", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172132, 85732, -668, -87068, -173468, -259868, -346268, -432668, -519068, -605468, -691868, -778268, -864668, -668, 0 ] +}, { + "tz" : "America/Thule", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 174908, 88508, 2108, -84292, -170692, -257092, -343492, -429892, -516292, -602692, -689092, -775492, -861892, 2108, 0 ] +}, { + "tz" : "America/Thunder_Bay", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366737380, -2208988800 ], + "diffs" : [ 176220, 89820, 3420, -82980, -169380, -255780, -342180, -428580, -514980, -601380, -687780, -774180, -860580, 3420, 3600, 0 ] +}, { + "tz" : "America/Tijuana", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 172084, 85684, -716, -87116, -173516, -259916, -346316, -432716, -519116, -605516, -691916, -778316, -864716, -716, 0 ] +}, { + "tz" : "America/Toronto", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366736148 ], + "diffs" : [ 173852, 87452, 1052, -85348, -171748, -258148, -344548, -430948, -517348, -603748, -690148, -776548, -862948, 1052, 0 ] +}, { + "tz" : "America/Tortola", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Vancouver", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2713880852 ], + "diffs" : [ 173548, 87148, 748, -85652, -172052, -258452, -344852, -431252, -517652, -604052, -690452, -776852, -863252, 748, 0 ] +}, { + "tz" : "America/Virgin", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173164, 86764, 364, -86036, -172436, -258836, -345236, -431636, -518036, -604436, -690836, -777236, -863636, 364, 0 ] +}, { + "tz" : "America/Whitehorse", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 176412, 90012, 3612, -82788, -169188, -255588, -341988, -428388, -514788, -601188, -687588, -773988, -860388, 3612, 0 ] +}, { + "tz" : "America/Winnipeg", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2602258284 ], + "diffs" : [ 174516, 88116, 1716, -84684, -171084, -257484, -343884, -430284, -516684, -603084, -689484, -775884, -862284, 1716, 0 ] +}, { + "tz" : "America/Yakutat", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225224862, -2208988800 ], + "diffs" : [ 87535, 1135, -85265, -171665, -258065, -344465, -430865, -517265, -603665, -690065, -776465, -862865, -949265, -85265, 1135, 0 ] +}, { + "tz" : "America/Yellowknife", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 147600, 61200, -25200, -111600, -198000, -284400, -370800, -457200, -543600, -630000, -716400, -802800, -889200, -25200, 0 ] +}, { + "tz" : "Antarctica/Casey", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 201600, 115200, 28800, -57600, -144000, -230400, -316800, -403200, -489600, -576000, -662400, -748800, -835200, 28800, 0 ] +}, { + "tz" : "Antarctica/Davis", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 198000, 111600, 25200, -61200, -147600, -234000, -320400, -406800, -493200, -579600, -666000, -752400, -838800, 25200, 0 ] +}, { + "tz" : "Antarctica/DumontDUrville", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2208988800 ], + "diffs" : [ 208800, 122400, 36000, -50400, -136800, -223200, -309600, -396000, -482400, -568800, -655200, -741600, -828000, 36000, 0 ] +}, { + "tz" : "Antarctica/Macquarie", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2214262800, -2208988800 ], + "diffs" : [ 212400, 126000, 39600, -46800, -133200, -219600, -306000, -392400, -478800, -565200, -651600, -738000, -824400, 39600, 3600, 0 ] +}, { + "tz" : "Antarctica/Mawson", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 190800, 104400, 18000, -68400, -154800, -241200, -327600, -414000, -500400, -586800, -673200, -759600, -846000, 18000, 0 ] +}, { + "tz" : "Antarctica/McMurdo", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -3192437344, -2208988800 ], + "diffs" : [ 174056, 87656, 1256, -85144, -171544, -257944, -344344, -430744, -517144, -603544, -689944, -776344, -862744, 1256, 1800, 0 ] +}, { + "tz" : "Antarctica/Palmer", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 162000, 75600, -10800, -97200, -183600, -270000, -356400, -442800, -529200, -615600, -702000, -788400, -874800, -10800, 0 ] +}, { + "tz" : "Antarctica/Rothera", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 162000, 75600, -10800, -97200, -183600, -270000, -356400, -442800, -529200, -615600, -702000, -788400, -874800, -10800, 0 ] +}, { + "tz" : "Antarctica/South_Pole", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -3192437344, -2208988800 ], + "diffs" : [ 174056, 87656, 1256, -85144, -171544, -257944, -344344, -430744, -517144, -603544, -689944, -776344, -862744, 1256, 1800, 0 ] +}, { + "tz" : "Antarctica/Syowa", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 183600, 97200, 10800, -75600, -162000, -248400, -334800, -421200, -507600, -594000, -680400, -766800, -853200, 10800, 0 ] +}, { + "tz" : "Antarctica/Troll", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Antarctica/Vostok", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 194400, 108000, 21600, -64800, -151200, -237600, -324000, -410400, -496800, -583200, -669600, -756000, -842400, 21600, 0 ] +}, { + "tz" : "Arctic/Longyearbyen", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2366757780 ], + "diffs" : [ 173820, 87420, 1020, -85380, -171780, -258180, -344580, -430980, -517380, -603780, -690180, -776580, -862980, 1020, 0 ] +}, { + "tz" : "Asia/Aden", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 172388, 85988, -412, -86812, -173212, -259612, -346012, -432412, -518812, -605212, -691612, -778012, -864412, -412, 0 ] +}, { + "tz" : "Asia/Almaty", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 175932, 89532, 3132, -83268, -169668, -256068, -342468, -428868, -515268, -601668, -688068, -774468, -860868, 3132, 0 ] +}, { + "tz" : "Asia/Amman", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171376, 84976, -1424, -87824, -174224, -260624, -347024, -433424, -519824, -606224, -692624, -779024, -865424, -1424, 0 ] +}, { + "tz" : "Asia/Anadyr", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 173404, 87004, 604, -85796, -172196, -258596, -344996, -431396, -517796, -604196, -690596, -776996, -863396, 604, 0 ] +}, { + "tz" : "Asia/Aqtau", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 178736, 92336, 5936, -80464, -166864, -253264, -339664, -426064, -512464, -598864, -685264, -771664, -858064, 5936, 0 ] +}, { + "tz" : "Asia/Aqtobe", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 177080, 90680, 4280, -82120, -168520, -254920, -341320, -427720, -514120, -600520, -686920, -773320, -859720, 4280, 0 ] +}, { + "tz" : "Asia/Ashgabat", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 176788, 90388, 3988, -82412, -168812, -255212, -341612, -428012, -514412, -600812, -687212, -773612, -860012, 3988, 0 ] +}, { + "tz" : "Asia/Ashkhabad", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 176788, 90388, 3988, -82412, -168812, -255212, -341612, -428012, -514412, -600812, -687212, -773612, -860012, 3988, 0 ] +}, { + "tz" : "Asia/Atyrau", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 178336, 91936, 5536, -80864, -167264, -253664, -340064, -426464, -512864, -599264, -685664, -772064, -858464, 5536, 0 ] +}, { + "tz" : "Asia/Baghdad", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2524532404, -2208988800 ], + "diffs" : [ 172940, 86540, 140, -86260, -172660, -259060, -345460, -431860, -518260, -604660, -691060, -777460, -863860, 140, 144, 0 ] +}, { + "tz" : "Asia/Bahrain", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 171232, 84832, -1568, -87968, -174368, -260768, -347168, -433568, -519968, -606368, -692768, -779168, -865568, -1568, 0 ] +}, { + "tz" : "Asia/Baku", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 175236, 88836, 2436, -83964, -170364, -256764, -343164, -429564, -515964, -602364, -688764, -775164, -861564, 2436, 0 ] +}, { + "tz" : "Asia/Bangkok", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 173876, 87476, 1076, -85324, -171724, -258124, -344524, -430924, -517324, -603724, -690124, -776524, -862924, 1076, 0 ] +}, { + "tz" : "Asia/Barnaul", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 177900, 91500, 5100, -81300, -167700, -254100, -340500, -426900, -513300, -599700, -686100, -772500, -858900, 5100, 0 ] +}, { + "tz" : "Asia/Beirut", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840149320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Asia/Bishkek", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 176496, 90096, 3696, -82704, -169104, -255504, -341904, -428304, -514704, -601104, -687504, -773904, -860304, 3696, 0 ] +}, { + "tz" : "Asia/Brunei", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174020, 87620, 1220, -85180, -171580, -257980, -344380, -430780, -517180, -603580, -689980, -776380, -862780, 1220, 0 ] +}, { + "tz" : "Asia/Calcutta", + "switches" : [ -62135789400, -59006467800, -55850707800, -52694947800, -46383427800, -43227667800, -40071907800, -33760387800, -30604627800, -27448867800, -21137347800, -17981587800, -14825827800, -12219312600, -3645235808, -3155695330, -2208988800 ], + "diffs" : [ 171392, 84992, -1408, -87808, -174208, -260608, -347008, -433408, -519808, -606208, -692608, -779008, -865408, -1408, -1400, 530, 0 ] +}, { + "tz" : "Asia/Chita", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 177968, 91568, 5168, -81232, -167632, -254032, -340432, -426832, -513232, -599632, -686032, -772432, -858832, 5168, 0 ] +}, { + "tz" : "Asia/Choibalsan", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174120, 87720, 1320, -85080, -171480, -257880, -344280, -430680, -517080, -603480, -689880, -776280, -862680, 1320, 0 ] +}, { + "tz" : "Asia/Chongqing", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172457, 86057, -343, -86743, -173143, -259543, -345943, -432343, -518743, -605143, -691543, -777943, -864343, -343, 0 ] +}, { + "tz" : "Asia/Chungking", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172457, 86057, -343, -86743, -173143, -259543, -345943, -432343, -518743, -605143, -691543, -777943, -864343, -343, 0 ] +}, { + "tz" : "Asia/Colombo", + "switches" : [ -62135789400, -59006467800, -55850707800, -52694947800, -46383427800, -43227667800, -40071907800, -33760387800, -30604627800, -27448867800, -21137347800, -17981587800, -14825827800, -12219312600, -2840160592, -2208988800 ], + "diffs" : [ 173436, 87036, 636, -85764, -172164, -258564, -344964, -431364, -517764, -604164, -690564, -776964, -863364, 636, 628, 0 ] +}, { + "tz" : "Asia/Dacca", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2524543700, -2208988800 ], + "diffs" : [ 172700, 86300, -100, -86500, -172900, -259300, -345700, -432100, -518500, -604900, -691300, -777700, -864100, -100, 400, 0 ] +}, { + "tz" : "Asia/Damascus", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171288, 84888, -1512, -87912, -174312, -260712, -347112, -433512, -519912, -606312, -692712, -779112, -865512, -1512, 0 ] +}, { + "tz" : "Asia/Dhaka", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2524543700, -2208988800 ], + "diffs" : [ 172700, 86300, -100, -86500, -172900, -259300, -345700, -432100, -518500, -604900, -691300, -777700, -864100, -100, 400, 0 ] +}, { + "tz" : "Asia/Dili", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 175060, 88660, 2260, -84140, -170540, -256940, -343340, -429740, -516140, -602540, -688940, -775340, -861740, 2260, 0 ] +}, { + "tz" : "Asia/Dubai", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 173928, 87528, 1128, -85272, -171672, -258072, -344472, -430872, -517272, -603672, -690072, -776472, -862872, 1128, 0 ] +}, { + "tz" : "Asia/Dushanbe", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 174288, 87888, 1488, -84912, -171312, -257712, -344112, -430512, -516912, -603312, -689712, -776112, -862512, 1488, 0 ] +}, { + "tz" : "Asia/Famagusta", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171852, 85452, -948, -87348, -173748, -260148, -346548, -432948, -519348, -605748, -692148, -778548, -864948, -948, 0 ] +}, { + "tz" : "Asia/Gaza", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171728, 85328, -1072, -87472, -173872, -260272, -346672, -433072, -519472, -605872, -692272, -778672, -865072, -1072, 0 ] +}, { + "tz" : "Asia/Harbin", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172457, 86057, -343, -86743, -173143, -259543, -345943, -432343, -518743, -605143, -691543, -777943, -864343, -343, 0 ] +}, { + "tz" : "Asia/Hebron", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171577, 85177, -1223, -87623, -174023, -260423, -346823, -433223, -519623, -606023, -692423, -778823, -865223, -1223, 0 ] +}, { + "tz" : "Asia/Ho_Chi_Minh", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 172400, 86000, -400, -86800, -173200, -259600, -346000, -432400, -518800, -605200, -691600, -778000, -864400, -400, 0 ] +}, { + "tz" : "Asia/Hong_Kong", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174198, 87798, 1398, -85002, -171402, -257802, -344202, -430602, -517002, -603402, -689802, -776202, -862602, 1398, 0 ] +}, { + "tz" : "Asia/Hovd", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 176004, 89604, 3204, -83196, -169596, -255996, -342396, -428796, -515196, -601596, -687996, -774396, -860796, 3204, 0 ] +}, { + "tz" : "Asia/Irkutsk", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 176575, 90175, 3775, -82625, -169025, -255425, -341825, -428225, -514625, -601025, -687425, -773825, -860225, 3775, 0 ] +}, { + "tz" : "Asia/Istanbul", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2840151536, -2208988800 ], + "diffs" : [ 176648, 90248, 3848, -82552, -168952, -255352, -341752, -428152, -514552, -600952, -687352, -773752, -860152, 3848, 3784, 0 ] +}, { + "tz" : "Asia/Jakarta", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 172368, 85968, -432, -86832, -173232, -259632, -346032, -432432, -518832, -605232, -691632, -778032, -864432, -432, 0 ] +}, { + "tz" : "Asia/Jayapura", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 171432, 85032, -1368, -87768, -174168, -260568, -346968, -433368, -519768, -606168, -692568, -778968, -865368, -1368, 0 ] +}, { + "tz" : "Asia/Jerusalem", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148014, -2208988800 ], + "diffs" : [ 171546, 85146, -1254, -87654, -174054, -260454, -346854, -433254, -519654, -606054, -692454, -778854, -865254, -1254, -1240, 0 ] +}, { + "tz" : "Asia/Kabul", + "switches" : [ -62135785800, -59006464200, -55850704200, -52694944200, -46383424200, -43227664200, -40071904200, -33760384200, -30604624200, -27448864200, -21137344200, -17981584200, -14825824200, -12219309000, -2524540008, -2208988800 ], + "diffs" : [ 172392, 85992, -408, -86808, -173208, -259608, -346008, -432408, -518808, -605208, -691608, -778008, -864408, -408, 1800, 0 ] +}, { + "tz" : "Asia/Kamchatka", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 177924, 91524, 5124, -81276, -167676, -254076, -340476, -426876, -513276, -599676, -686076, -772476, -858876, 5124, 0 ] +}, { + "tz" : "Asia/Karachi", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 174708, 88308, 1908, -84492, -170892, -257292, -343692, -430092, -516492, -602892, -689292, -775692, -862092, 1908, 0 ] +}, { + "tz" : "Asia/Kashgar", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 173380, 86980, 580, -85820, -172220, -258620, -345020, -431420, -517820, -604220, -690620, -777020, -863420, 580, 0 ] +}, { + "tz" : "Asia/Kathmandu", + "switches" : [ -62135790300, -59006468700, -55850708700, -52694948700, -46383428700, -43227668700, -40071908700, -33760388700, -30604628700, -27448868700, -21137348700, -17981588700, -14825828700, -12219313500, -2208988800 ], + "diffs" : [ 173024, 86624, 224, -86176, -172576, -258976, -345376, -431776, -518176, -604576, -690976, -777376, -863776, 224, 0 ] +}, { + "tz" : "Asia/Katmandu", + "switches" : [ -62135790300, -59006468700, -55850708700, -52694948700, -46383428700, -43227668700, -40071908700, -33760388700, -30604628700, -27448868700, -21137348700, -17981588700, -14825828700, -12219313500, -2208988800 ], + "diffs" : [ 173024, 86624, 224, -86176, -172576, -258976, -345376, -431776, -518176, -604576, -690976, -777376, -863776, 224, 0 ] +}, { + "tz" : "Asia/Khandyga", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 172667, 86267, -133, -86533, -172933, -259333, -345733, -432133, -518533, -604933, -691333, -777733, -864133, -133, 0 ] +}, { + "tz" : "Asia/Kolkata", + "switches" : [ -62135789400, -59006467800, -55850707800, -52694947800, -46383427800, -43227667800, -40071907800, -33760387800, -30604627800, -27448867800, -21137347800, -17981587800, -14825827800, -12219312600, -3645235808, -3155695330, -2208988800 ], + "diffs" : [ 171392, 84992, -1408, -87808, -174208, -260608, -347008, -433408, -519808, -606208, -692608, -779008, -865408, -1408, -1400, 530, 0 ] +}, { + "tz" : "Asia/Krasnoyarsk", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 175714, 89314, 2914, -83486, -169886, -256286, -342686, -429086, -515486, -601886, -688286, -774686, -861086, 2914, 0 ] +}, { + "tz" : "Asia/Kuala_Lumpur", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 177194, 90794, 4394, -82006, -168406, -254806, -341206, -427606, -514006, -600406, -686806, -773206, -859606, 4394, 0 ] +}, { + "tz" : "Asia/Kuching", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 175120, 88720, 2320, -84080, -170480, -256880, -343280, -429680, -516080, -602480, -688880, -775280, -861680, 2320, 0 ] +}, { + "tz" : "Asia/Kuwait", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 172388, 85988, -412, -86812, -173212, -259612, -346012, -432412, -518812, -605212, -691612, -778012, -864412, -412, 0 ] +}, { + "tz" : "Asia/Macao", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174350, 87950, 1550, -84850, -171250, -257650, -344050, -430450, -516850, -603250, -689650, -776050, -862450, 1550, 0 ] +}, { + "tz" : "Asia/Macau", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174350, 87950, 1550, -84850, -171250, -257650, -344050, -430450, -516850, -603250, -689650, -776050, -862450, 1550, 0 ] +}, { + "tz" : "Asia/Magadan", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 176208, 89808, 3408, -82992, -169392, -255792, -342192, -428592, -514992, -601392, -687792, -774192, -860592, 3408, 0 ] +}, { + "tz" : "Asia/Makassar", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172944, 86544, 144, -86256, -172656, -259056, -345456, -431856, -518256, -604656, -691056, -777456, -863856, 144, 0 ] +}, { + "tz" : "Asia/Manila", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -3944620800, -2229321840 ], + "diffs" : [ 258960, 172560, 86160, -240, -86640, -173040, -259440, -345840, -432240, -518640, -605040, -691440, -777840, 86160, -240, 0 ] +}, { + "tz" : "Asia/Muscat", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 173928, 87528, 1128, -85272, -171672, -258072, -344472, -430872, -517272, -603672, -690072, -776472, -862872, 1128, 0 ] +}, { + "tz" : "Asia/Nicosia", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171992, 85592, -808, -87208, -173608, -260008, -346408, -432808, -519208, -605608, -692008, -778408, -864808, -808, 0 ] +}, { + "tz" : "Asia/Novokuznetsk", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 177072, 90672, 4272, -82128, -168528, -254928, -341328, -427728, -514128, -600528, -686928, -773328, -859728, 4272, 0 ] +}, { + "tz" : "Asia/Novosibirsk", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 178100, 91700, 5300, -81100, -167500, -253900, -340300, -426700, -513100, -599500, -685900, -772300, -858700, 5300, 0 ] +}, { + "tz" : "Asia/Omsk", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 176790, 90390, 3990, -82410, -168810, -255210, -341610, -428010, -514410, -600810, -687210, -773610, -860010, 3990, 0 ] +}, { + "tz" : "Asia/Oral", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 178476, 92076, 5676, -80724, -167124, -253524, -339924, -426324, -512724, -599124, -685524, -771924, -858324, 5676, 0 ] +}, { + "tz" : "Asia/Phnom_Penh", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 173876, 87476, 1076, -85324, -171724, -258124, -344524, -430924, -517324, -603724, -690124, -776524, -862924, 1076, 0 ] +}, { + "tz" : "Asia/Pontianak", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 171760, 85360, -1040, -87440, -173840, -260240, -346640, -433040, -519440, -605840, -692240, -778640, -865040, -1040, 0 ] +}, { + "tz" : "Asia/Pyongyang", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 175020, 88620, 2220, -84180, -170580, -256980, -343380, -429780, -516180, -602580, -688980, -775380, -861780, 2220, 0 ] +}, { + "tz" : "Asia/Qatar", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 171232, 84832, -1568, -87968, -174368, -260768, -347168, -433568, -519968, -606368, -692768, -779168, -865568, -1568, 0 ] +}, { + "tz" : "Asia/Qostanay", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 179132, 92732, 6332, -80068, -166468, -252868, -339268, -425668, -512068, -598468, -684868, -771268, -857668, 6332, 0 ] +}, { + "tz" : "Asia/Qyzylorda", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 175088, 88688, 2288, -84112, -170512, -256912, -343312, -429712, -516112, -602512, -688912, -775312, -861712, 2288, 0 ] +}, { + "tz" : "Asia/Rangoon", + "switches" : [ -62135793000, -59006471400, -55850711400, -52694951400, -46383431400, -43227671400, -40071911400, -33760391400, -30604631400, -27448871400, -21137351400, -17981591400, -14825831400, -12219316200, -2208988800 ], + "diffs" : [ 173113, 86713, 313, -86087, -172487, -258887, -345287, -431687, -518087, -604487, -690887, -777287, -863687, 313, 0 ] +}, { + "tz" : "Asia/Riyadh", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 172388, 85988, -412, -86812, -173212, -259612, -346012, -432412, -518812, -605212, -691612, -778012, -864412, -412, 0 ] +}, { + "tz" : "Asia/Saigon", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 172400, 86000, -400, -86800, -173200, -259600, -346000, -432400, -518800, -605200, -691600, -778000, -864400, -400, 0 ] +}, { + "tz" : "Asia/Sakhalin", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 178152, 91752, 5352, -81048, -167448, -253848, -340248, -426648, -513048, -599448, -685848, -772248, -858648, 5352, 0 ] +}, { + "tz" : "Asia/Samarkand", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 174727, 88327, 1927, -84473, -170873, -257273, -343673, -430073, -516473, -602873, -689273, -775673, -862073, 1927, 0 ] +}, { + "tz" : "Asia/Seoul", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 174728, 88328, 1928, -84472, -170872, -257272, -343672, -430072, -516472, -602872, -689272, -775672, -862072, 1928, 0 ] +}, { + "tz" : "Asia/Shanghai", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172457, 86057, -343, -86743, -173143, -259543, -345943, -432343, -518743, -605143, -691543, -777943, -864343, -343, 0 ] +}, { + "tz" : "Asia/Singapore", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 176675, 90275, 3875, -82525, -168925, -255325, -341725, -428125, -514525, -600925, -687325, -773725, -860125, 3875, 0 ] +}, { + "tz" : "Asia/Srednekolymsk", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 175508, 89108, 2708, -83692, -170092, -256492, -342892, -429292, -515692, -602092, -688492, -774892, -861292, 2708, 0 ] +}, { + "tz" : "Asia/Taipei", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2335248360 ], + "diffs" : [ 172440, 86040, -360, -86760, -173160, -259560, -345960, -432360, -518760, -605160, -691560, -777960, -864360, -360, 0 ] +}, { + "tz" : "Asia/Tashkent", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 174169, 87769, 1369, -85031, -171431, -257831, -344231, -430631, -517031, -603431, -689831, -776231, -862631, 1369, 0 ] +}, { + "tz" : "Asia/Tbilisi", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 176449, 90049, 3649, -82751, -169151, -255551, -341951, -428351, -514751, -601151, -687551, -773951, -860351, 3649, 0 ] +}, { + "tz" : "Asia/Tel_Aviv", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148014, -2208988800 ], + "diffs" : [ 171546, 85146, -1254, -87654, -174054, -260454, -346854, -433254, -519654, -606054, -692454, -778854, -865254, -1254, -1240, 0 ] +}, { + "tz" : "Asia/Thimbu", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 172884, 86484, 84, -86316, -172716, -259116, -345516, -431916, -518316, -604716, -691116, -777516, -863916, 84, 0 ] +}, { + "tz" : "Asia/Thimphu", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 172884, 86484, 84, -86316, -172716, -259116, -345516, -431916, -518316, -604716, -691116, -777516, -863916, 84, 0 ] +}, { + "tz" : "Asia/Tokyo", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2587712400 ], + "diffs" : [ 171661, 85261, -1139, -87539, -173939, -260339, -346739, -433139, -519539, -605939, -692339, -778739, -865139, -1139, 0 ] +}, { + "tz" : "Asia/Tomsk", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 177609, 91209, 4809, -81591, -167991, -254391, -340791, -427191, -513591, -599991, -686391, -772791, -859191, 4809, 0 ] +}, { + "tz" : "Asia/Ujung_Pandang", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172944, 86544, 144, -86256, -172656, -259056, -345456, -431856, -518256, -604656, -691056, -777456, -863856, 144, 0 ] +}, { + "tz" : "Asia/Ulaanbaatar", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 175948, 89548, 3148, -83252, -169652, -256052, -342452, -428852, -515252, -601652, -688052, -774452, -860852, 3148, 0 ] +}, { + "tz" : "Asia/Ulan_Bator", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 175948, 89548, 3148, -83252, -169652, -256052, -342452, -428852, -515252, -601652, -688052, -774452, -860852, 3148, 0 ] +}, { + "tz" : "Asia/Urumqi", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 173380, 86980, 580, -85820, -172220, -258620, -345020, -431420, -517820, -604220, -690620, -777020, -863420, 580, 0 ] +}, { + "tz" : "Asia/Ust-Nera", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2208988800 ], + "diffs" : [ 174426, 88026, 1626, -84774, -171174, -257574, -343974, -430374, -516774, -603174, -689574, -775974, -862374, 1626, 0 ] +}, { + "tz" : "Asia/Vientiane", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2208988800 ], + "diffs" : [ 173876, 87476, 1076, -85324, -171724, -258124, -344524, -430924, -517324, -603724, -690124, -776524, -862924, 1076, 0 ] +}, { + "tz" : "Asia/Vladivostok", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2208988800 ], + "diffs" : [ 177149, 90749, 4349, -82051, -168451, -254851, -341251, -427651, -514051, -600451, -686851, -773251, -859651, 4349, 0 ] +}, { + "tz" : "Asia/Yakutsk", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 174062, 87662, 1262, -85138, -171538, -257938, -344338, -430738, -517138, -603538, -689938, -776338, -862738, 1262, 0 ] +}, { + "tz" : "Asia/Yangon", + "switches" : [ -62135793000, -59006471400, -55850711400, -52694951400, -46383431400, -43227671400, -40071911400, -33760391400, -30604631400, -27448871400, -21137351400, -17981591400, -14825831400, -12219316200, -2208988800 ], + "diffs" : [ 173113, 86713, 313, -86087, -172487, -258887, -345287, -431687, -518087, -604487, -690887, -777287, -863687, 313, 0 ] +}, { + "tz" : "Asia/Yekaterinburg", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 176247, 89847, 3447, -82953, -169353, -255753, -342153, -428553, -514953, -601353, -687753, -774153, -860553, 3447, 0 ] +}, { + "tz" : "Asia/Yerevan", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 176520, 90120, 3720, -82680, -169080, -255480, -341880, -428280, -514680, -601080, -687480, -773880, -860280, 3720, 0 ] +}, { + "tz" : "Atlantic/Azores", + "switches" : [ -62135766000, -59006444400, -55850684400, -52694924400, -46383404400, -43227644400, -40071884400, -33760364400, -30604604400, -27448844400, -21137324400, -17981564400, -14825804400, -12219289200, -2713907512, -2208988800 ], + "diffs" : [ 175360, 88960, 2560, -83840, -170240, -256640, -343040, -429440, -515840, -602240, -688640, -775040, -861440, 2560, 3272, 0 ] +}, { + "tz" : "Atlantic/Bermuda", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173958, 87558, 1158, -85242, -171642, -258042, -344442, -430842, -517242, -603642, -690042, -776442, -862842, 1158, 0 ] +}, { + "tz" : "Atlantic/Canary", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 176496, 90096, 3696, -82704, -169104, -255504, -341904, -428304, -514704, -601104, -687504, -773904, -860304, 3696, 0 ] +}, { + "tz" : "Atlantic/Cape_Verde", + "switches" : [ -62135766000, -59006444400, -55850684400, -52694924400, -46383404400, -43227644400, -40071884400, -33760364400, -30604604400, -27448844400, -21137324400, -17981564400, -14825804400, -12219289200, -2208988800 ], + "diffs" : [ 174844, 88444, 2044, -84356, -170756, -257156, -343556, -429956, -516356, -602756, -689156, -775556, -861956, 2044, 0 ] +}, { + "tz" : "Atlantic/Faeroe", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 174424, 88024, 1624, -84776, -171176, -257576, -343976, -430376, -516776, -603176, -689576, -775976, -862376, 1624, 0 ] +}, { + "tz" : "Atlantic/Faroe", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 174424, 88024, 1624, -84776, -171176, -257576, -343976, -430376, -516776, -603176, -689576, -775976, -862376, 1624, 0 ] +}, { + "tz" : "Atlantic/Jan_Mayen", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2366757780 ], + "diffs" : [ 173820, 87420, 1020, -85380, -171780, -258180, -344580, -430980, -517380, -603780, -690180, -776580, -862980, 1020, 0 ] +}, { + "tz" : "Atlantic/Madeira", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 176856, 90456, 4056, -82344, -168744, -255144, -341544, -427944, -514344, -600744, -687144, -773544, -859944, 4056, 0 ] +}, { + "tz" : "Atlantic/Reykjavik", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 178080, 91680, 5280, -81120, -167520, -253920, -340320, -426720, -513120, -599520, -685920, -772320, -858720, 5280, 0 ] +}, { + "tz" : "Atlantic/South_Georgia", + "switches" : [ -62135762400, -59006440800, -55850680800, -52694920800, -46383400800, -43227640800, -40071880800, -33760360800, -30604600800, -27448840800, -21137320800, -17981560800, -14825800800, -12219285600, -2524512832 ], + "diffs" : [ 174368, 87968, 1568, -84832, -171232, -257632, -344032, -430432, -516832, -603232, -689632, -776032, -862432, 1568, 0 ] +}, { + "tz" : "Atlantic/St_Helena", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 173768, 87368, 968, -85432, -171832, -258232, -344632, -431032, -517432, -603832, -690232, -776632, -863032, 968, 0 ] +}, { + "tz" : "Atlantic/Stanley", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 175884, 89484, 3084, -83316, -169716, -256116, -342516, -428916, -515316, -601716, -688116, -774516, -860916, 3084, 0 ] +}, { + "tz" : "Australia/ACT", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364113092 ], + "diffs" : [ 172508, 86108, -292, -86692, -173092, -259492, -345892, -432292, -518692, -605092, -691492, -777892, -864292, -292, 0 ] +}, { + "tz" : "Australia/Adelaide", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364111860, -2230189200 ], + "diffs" : [ 173740, 87340, 940, -85460, -171860, -258260, -344660, -431060, -517460, -603860, -690260, -776660, -863060, 940, 1800, 0 ] +}, { + "tz" : "Australia/Brisbane", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2366791928 ], + "diffs" : [ 172072, 85672, -728, -87128, -173528, -259928, -346328, -432728, -519128, -605528, -691928, -778328, -864728, -728, 0 ] +}, { + "tz" : "Australia/Broken_Hill", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364108948, -2314953000, -2230189200 ], + "diffs" : [ 173052, 86652, 252, -86148, -172548, -258948, -345348, -431748, -518148, -604548, -690948, -777348, -863748, 252, -1800, 1800, 0 ] +}, { + "tz" : "Australia/Canberra", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364113092 ], + "diffs" : [ 172508, 86108, -292, -86692, -173092, -259492, -345892, -432292, -518692, -605092, -691492, -777892, -864292, -292, 0 ] +}, { + "tz" : "Australia/Currie", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2345794528 ], + "diffs" : [ 174272, 87872, 1472, -84928, -171328, -257728, -344128, -430528, -516928, -603328, -689728, -776128, -862528, 1472, 0 ] +}, { + "tz" : "Australia/Darwin", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364110000, -2230189200 ], + "diffs" : [ 175600, 89200, 2800, -83600, -170000, -256400, -342800, -429200, -515600, -602000, -688400, -774800, -861200, 2800, 1800, 0 ] +}, { + "tz" : "Australia/Eucla", + "switches" : [ -62135801100, -59006479500, -55850719500, -52694959500, -46383439500, -43227679500, -40071919500, -33760399500, -30604639500, -27448879500, -21137359500, -17981599500, -14825839500, -12219324300, -2337928528 ], + "diffs" : [ 173372, 86972, 572, -85828, -172228, -258628, -345028, -431428, -517828, -604228, -690628, -777028, -863428, 572, 0 ] +}, { + "tz" : "Australia/Hobart", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2345795356 ], + "diffs" : [ 173444, 87044, 644, -85756, -172156, -258556, -344956, -431356, -517756, -604156, -690556, -776956, -863356, 644, 0 ] +}, { + "tz" : "Australia/LHI", + "switches" : [ -62135807400, -59006485800, -55850725800, -52694965800, -46383445800, -43227685800, -40071925800, -33760405800, -30604645800, -27448885800, -21137365800, -17981605800, -14825845800, -12219330600, -2364116780, -2208988800 ], + "diffs" : [ 172420, 86020, -380, -86780, -173180, -259580, -345980, -432380, -518780, -605180, -691580, -777980, -864380, -380, 1800, 0 ] +}, { + "tz" : "Australia/Lindeman", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2366790956 ], + "diffs" : [ 173044, 86644, 244, -86156, -172556, -258956, -345356, -431756, -518156, -604556, -690956, -777356, -863756, 244, 0 ] +}, { + "tz" : "Australia/Lord_Howe", + "switches" : [ -62135807400, -59006485800, -55850725800, -52694965800, -46383445800, -43227685800, -40071925800, -33760405800, -30604645800, -27448885800, -21137365800, -17981605800, -14825845800, -12219330600, -2364116780, -2208988800 ], + "diffs" : [ 172420, 86020, -380, -86780, -173180, -259580, -345980, -432380, -518780, -605180, -691580, -777980, -864380, -380, 1800, 0 ] +}, { + "tz" : "Australia/Melbourne", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364111592 ], + "diffs" : [ 174008, 87608, 1208, -85192, -171592, -257992, -344392, -430792, -517192, -603592, -689992, -776392, -862792, 1208, 0 ] +}, { + "tz" : "Australia/NSW", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364113092 ], + "diffs" : [ 172508, 86108, -292, -86692, -173092, -259492, -345892, -432292, -518692, -605092, -691492, -777892, -864292, -292, 0 ] +}, { + "tz" : "Australia/North", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364110000, -2230189200 ], + "diffs" : [ 175600, 89200, 2800, -83600, -170000, -256400, -342800, -429200, -515600, -602000, -688400, -774800, -861200, 2800, 1800, 0 ] +}, { + "tz" : "Australia/Perth", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2337925404 ], + "diffs" : [ 173796, 87396, 996, -85404, -171804, -258204, -344604, -431004, -517404, -603804, -690204, -776604, -863004, 996, 0 ] +}, { + "tz" : "Australia/Queensland", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2366791928 ], + "diffs" : [ 172072, 85672, -728, -87128, -173528, -259928, -346328, -432728, -519128, -605528, -691928, -778328, -864728, -728, 0 ] +}, { + "tz" : "Australia/South", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364111860, -2230189200 ], + "diffs" : [ 173740, 87340, 940, -85460, -171860, -258260, -344660, -431060, -517460, -603860, -690260, -776660, -863060, 940, 1800, 0 ] +}, { + "tz" : "Australia/Sydney", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364113092 ], + "diffs" : [ 172508, 86108, -292, -86692, -173092, -259492, -345892, -432292, -518692, -605092, -691492, -777892, -864292, -292, 0 ] +}, { + "tz" : "Australia/Tasmania", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2345795356 ], + "diffs" : [ 173444, 87044, 644, -85756, -172156, -258556, -344956, -431356, -517756, -604156, -690556, -776956, -863356, 644, 0 ] +}, { + "tz" : "Australia/Victoria", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2364111592 ], + "diffs" : [ 174008, 87608, 1208, -85192, -171592, -257992, -344392, -430792, -517192, -603592, -689992, -776392, -862792, 1208, 0 ] +}, { + "tz" : "Australia/West", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2337925404 ], + "diffs" : [ 173796, 87396, 996, -85404, -171804, -258204, -344604, -431004, -517404, -603804, -690204, -776604, -863004, 996, 0 ] +}, { + "tz" : "Australia/Yancowinna", + "switches" : [ -62135803800, -59006482200, -55850722200, -52694962200, -46383442200, -43227682200, -40071922200, -33760402200, -30604642200, -27448882200, -21137362200, -17981602200, -14825842200, -12219327000, -2364108948, -2314953000, -2230189200 ], + "diffs" : [ 173052, 86652, 252, -86148, -172548, -258948, -345348, -431748, -518148, -604548, -690948, -777348, -863748, 252, -1800, 1800, 0 ] +}, { + "tz" : "Brazil/Acre", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 171072, 84672, -1728, -88128, -174528, -260928, -347328, -433728, -520128, -606528, -692928, -779328, -865728, -1728, 0 ] +}, { + "tz" : "Brazil/DeNoronha", + "switches" : [ -62135762400, -59006440800, -55850680800, -52694920800, -46383400800, -43227640800, -40071880800, -33760360800, -30604600800, -27448840800, -21137320800, -17981560800, -14825800800, -12219285600, -2208988800 ], + "diffs" : [ 173380, 86980, 580, -85820, -172220, -258620, -345020, -431420, -517820, -604220, -690620, -777020, -863420, 580, 0 ] +}, { + "tz" : "Brazil/East", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000, -2208988800 ], + "diffs" : [ 173188, 86788, 388, -86012, -172412, -258812, -345212, -431612, -518012, -604412, -690812, -777212, -863612, 388, 0 ] +}, { + "tz" : "Brazil/West", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 172804, 86404, 4, -86396, -172796, -259196, -345596, -431996, -518396, -604796, -691196, -777596, -863996, 4, 0 ] +}, { + "tz" : "CET", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "CST6CDT", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Canada/Atlantic", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 173664, 87264, 864, -85536, -171936, -258336, -344736, -431136, -517536, -603936, -690336, -776736, -863136, 864, 0 ] +}, { + "tz" : "Canada/Central", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2602258284 ], + "diffs" : [ 174516, 88116, 1716, -84684, -171084, -257484, -343884, -430284, -516684, -603084, -689484, -775884, -862284, 1716, 0 ] +}, { + "tz" : "Canada/Eastern", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2366736148 ], + "diffs" : [ 173852, 87452, 1052, -85348, -171748, -258148, -344548, -430948, -517348, -603748, -690148, -776548, -862948, 1052, 0 ] +}, { + "tz" : "Canada/Mountain", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 174832, 88432, 2032, -84368, -170768, -257168, -343568, -429968, -516368, -602768, -689168, -775568, -861968, 2032, 0 ] +}, { + "tz" : "Canada/Newfoundland", + "switches" : [ -62135757000, -59006435400, -55850675400, -52694915400, -46383395400, -43227635400, -40071875400, -33760355400, -30604595400, -27448835400, -21137315400, -17981555400, -14825795400, -12219280200, -2208988800 ], + "diffs" : [ 172852, 86452, 52, -86348, -172748, -259148, -345548, -431948, -518348, -604748, -691148, -777548, -863948, 52, 0 ] +}, { + "tz" : "Canada/Pacific", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2713880852 ], + "diffs" : [ 173548, 87148, 748, -85652, -172052, -258452, -344852, -431252, -517652, -604052, -690452, -776852, -863252, 748, 0 ] +}, { + "tz" : "Canada/Saskatchewan", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 176316, 89916, 3516, -82884, -169284, -255684, -342084, -428484, -514884, -601284, -687684, -774084, -860484, 3516, 0 ] +}, { + "tz" : "Canada/Yukon", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 176412, 90012, 3612, -82788, -169188, -255588, -341988, -428388, -514788, -601188, -687588, -773988, -860388, 3612, 0 ] +}, { + "tz" : "Chile/Continental", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400, -2208988800 ], + "diffs" : [ 175366, 88966, 2566, -83834, -170234, -256634, -343034, -429434, -515834, -602234, -688634, -775034, -861434, 2566, 0 ] +}, { + "tz" : "Chile/EasterIsland", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 177448, 91048, 4648, -81752, -168152, -254552, -340952, -427352, -513752, -600152, -686552, -772952, -859352, 4648, 0 ] +}, { + "tz" : "Cuba", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2524503608, -2208988800 ], + "diffs" : [ 174568, 88168, 1768, -84632, -171032, -257432, -343832, -430232, -516632, -603032, -689432, -775832, -862232, 1768, 1776, 0 ] +}, { + "tz" : "EET", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "EST5EDT", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Egypt", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172491, 86091, -309, -86709, -173109, -259509, -345909, -432309, -518709, -605109, -691509, -777909, -864309, -309, 0 ] +}, { + "tz" : "Eire", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2821651221, -2208988800 ], + "diffs" : [ 174300, 87900, 1500, -84900, -171300, -257700, -344100, -430500, -516900, -603300, -689700, -776100, -862500, 1500, 1521, 0 ] +}, { + "tz" : "Etc/GMT", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+0", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+1", + "switches" : [ -62135766000, -59006444400, -55850684400, -52694924400, -46383404400, -43227644400, -40071884400, -33760364400, -30604604400, -27448844400, -21137324400, -17981564400, -14825804400, -12219289200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+10", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+11", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+12", + "switches" : [ -62135726400, -59006404800, -55850644800, -52694884800, -46383364800, -43227604800, -40071844800, -33760324800, -30604564800, -27448804800, -21137284800, -17981524800, -14825764800, -12219249600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+2", + "switches" : [ -62135762400, -59006440800, -55850680800, -52694920800, -46383400800, -43227640800, -40071880800, -33760360800, -30604600800, -27448840800, -21137320800, -17981560800, -14825800800, -12219285600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+3", + "switches" : [ -62135758800, -59006437200, -55850677200, -52694917200, -46383397200, -43227637200, -40071877200, -33760357200, -30604597200, -27448837200, -21137317200, -17981557200, -14825797200, -12219282000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+4", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+5", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+6", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+7", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+8", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT+9", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-0", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-1", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-10", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-11", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-12", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-13", + "switches" : [ -62135816400, -59006494800, -55850734800, -52694974800, -46383454800, -43227694800, -40071934800, -33760414800, -30604654800, -27448894800, -21137374800, -17981614800, -14825854800, -12219339600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-14", + "switches" : [ -62135820000, -59006498400, -55850738400, -52694978400, -46383458400, -43227698400, -40071938400, -33760418400, -30604658400, -27448898400, -21137378400, -17981618400, -14825858400, -12219343200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-2", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-3", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-4", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-5", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-6", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-7", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-8", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT-9", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/GMT0", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/Greenwich", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/UCT", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/UTC", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/Universal", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Etc/Zulu", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Europe/Amsterdam", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175228, 88828, 2428, -83972, -170372, -256772, -343172, -429572, -515972, -602372, -688772, -775172, -861572, 2428, 0 ] +}, { + "tz" : "Europe/Andorra", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 176036, 89636, 3236, -83164, -169564, -255964, -342364, -428764, -515164, -601564, -687964, -774364, -860764, 3236, 0 ] +}, { + "tz" : "Europe/Astrakhan", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 175668, 89268, 2868, -83532, -169932, -256332, -342732, -429132, -515532, -601932, -688332, -774732, -861132, 2868, 0 ] +}, { + "tz" : "Europe/Athens", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 174308, 87908, 1508, -84892, -171292, -257692, -344092, -430492, -516892, -603292, -689692, -776092, -862492, 1508, 0 ] +}, { + "tz" : "Europe/Belfast", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "Europe/Belgrade", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/Berlin", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2422054408 ], + "diffs" : [ 173192, 86792, 392, -86008, -172408, -258808, -345208, -431608, -518008, -604408, -690808, -777208, -863608, 392, 0 ] +}, { + "tz" : "Europe/Bratislava", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2469401864 ], + "diffs" : [ 172936, 86536, 136, -86264, -172664, -259064, -345464, -431864, -518264, -604664, -691064, -777464, -863864, 136, 0 ] +}, { + "tz" : "Europe/Brussels", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2450998800, -2208988800 ], + "diffs" : [ 175350, 88950, 2550, -83850, -170250, -256650, -343050, -429450, -515850, -602250, -688650, -775050, -861450, 2550, 3600, 0 ] +}, { + "tz" : "Europe/Bucharest", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 173736, 87336, 936, -85464, -171864, -258264, -344664, -431064, -517464, -603864, -690264, -776664, -863064, 936, 0 ] +}, { + "tz" : "Europe/Budapest", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2500938980 ], + "diffs" : [ 171820, 85420, -980, -87380, -173780, -260180, -346580, -432980, -519380, -605780, -692180, -778580, -864980, -980, 0 ] +}, { + "tz" : "Europe/Busingen", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -3675200662, -2385246586 ], + "diffs" : [ 174352, 87952, 1552, -84848, -171248, -257648, -344048, -430448, -516848, -603248, -689648, -776048, -862448, 1552, 1814, 0 ] +}, { + "tz" : "Europe/Chisinau", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148020, -2208988800 ], + "diffs" : [ 173080, 86680, 280, -86120, -172520, -258920, -345320, -431720, -518120, -604520, -690920, -777320, -863720, 280, 300, 0 ] +}, { + "tz" : "Europe/Copenhagen", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2398294220 ], + "diffs" : [ 173380, 86980, 580, -85820, -172220, -258620, -345020, -431420, -517820, -604220, -690620, -777020, -863420, 580, 0 ] +}, { + "tz" : "Europe/Dublin", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2821651221, -2208988800 ], + "diffs" : [ 174300, 87900, 1500, -84900, -171300, -257700, -344100, -430500, -516900, -603300, -689700, -776100, -862500, 1500, 1521, 0 ] +}, { + "tz" : "Europe/Gibraltar", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2821653516, -2208988800 ], + "diffs" : [ 177684, 91284, 4884, -81516, -167916, -254316, -340716, -427116, -513516, -599916, -686316, -772716, -859116, 4884, 3600, 0 ] +}, { + "tz" : "Europe/Guernsey", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "Europe/Helsinki", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 174011, 87611, 1211, -85189, -171589, -257989, -344389, -430789, -517189, -603589, -689989, -776389, -862789, 1211, 0 ] +}, { + "tz" : "Europe/Isle_of_Man", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "Europe/Istanbul", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2840151536, -2208988800 ], + "diffs" : [ 176648, 90248, 3848, -82552, -168952, -255352, -341752, -428152, -514552, -600952, -687352, -773752, -860152, 3848, 3784, 0 ] +}, { + "tz" : "Europe/Jersey", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "Europe/Kaliningrad", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2422059720, -2208988800 ], + "diffs" : [ 175080, 88680, 2280, -84120, -170520, -256920, -343320, -429720, -516120, -602520, -688920, -775320, -861720, 2280, 3600, 0 ] +}, { + "tz" : "Europe/Kiev", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 172676, 86276, -124, -86524, -172924, -259324, -345724, -432124, -518524, -604924, -691324, -777724, -864124, -124, 0 ] +}, { + "tz" : "Europe/Kirov", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 171672, 85272, -1128, -87528, -173928, -260328, -346728, -433128, -519528, -605928, -692328, -778728, -865128, -1128, 0 ] +}, { + "tz" : "Europe/Lisbon", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 175005, 88605, 2205, -84195, -170595, -256995, -343395, -429795, -516195, -602595, -688995, -775395, -861795, 2205, 0 ] +}, { + "tz" : "Europe/Ljubljana", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/London", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "Europe/Luxembourg", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 174924, 88524, 2124, -84276, -170676, -257076, -343476, -429876, -516276, -602676, -689076, -775476, -861876, 2124, 0 ] +}, { + "tz" : "Europe/Madrid", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 177284, 90884, 4484, -81916, -168316, -254716, -341116, -427516, -513916, -600316, -686716, -773116, -859516, 4484, 0 ] +}, { + "tz" : "Europe/Malta", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2403478684 ], + "diffs" : [ 172916, 86516, 116, -86284, -172684, -259084, -345484, -431884, -518284, -604684, -691084, -777484, -863884, 116, 0 ] +}, { + "tz" : "Europe/Mariehamn", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 174011, 87611, 1211, -85189, -171589, -257989, -344389, -430789, -517189, -603589, -689989, -776389, -862789, 1211, 0 ] +}, { + "tz" : "Europe/Minsk", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2840151616, -2208988800 ], + "diffs" : [ 176984, 90584, 4184, -82216, -168616, -255016, -341416, -427816, -514216, -600616, -687016, -773416, -859816, 4184, 4200, 0 ] +}, { + "tz" : "Europe/Monaco", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2486683211, -2208988800 ], + "diffs" : [ 174628, 88228, 1828, -84572, -170972, -257372, -343772, -430172, -516572, -602972, -689372, -775772, -862172, 1828, 3039, 0 ] +}, { + "tz" : "Europe/Moscow", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174583, 88183, 1783, -84617, -171017, -257417, -343817, -430217, -516617, -603017, -689417, -775817, -862217, 1783, 0 ] +}, { + "tz" : "Europe/Nicosia", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 171992, 85592, -808, -87208, -173608, -260008, -346408, -432808, -519208, -605608, -692008, -778408, -864808, -808, 0 ] +}, { + "tz" : "Europe/Oslo", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2366757780 ], + "diffs" : [ 173820, 87420, 1020, -85380, -171780, -258180, -344580, -430980, -517380, -603780, -690180, -776580, -862980, 1020, 0 ] +}, { + "tz" : "Europe/Paris", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 175839, 89439, 3039, -83361, -169761, -256161, -342561, -428961, -515361, -601761, -688161, -774561, -860961, 3039, 0 ] +}, { + "tz" : "Europe/Podgorica", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/Prague", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2469401864 ], + "diffs" : [ 172936, 86536, 136, -86264, -172664, -259064, -345464, -431864, -518264, -604664, -691064, -777464, -863864, 136, 0 ] +}, { + "tz" : "Europe/Riga", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 174206, 87806, 1406, -84994, -171394, -257794, -344194, -430594, -516994, -603394, -689794, -776194, -862594, 1406, 0 ] +}, { + "tz" : "Europe/Rome", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2403565200 ], + "diffs" : [ 173404, 87004, 604, -85796, -172196, -258596, -344996, -431396, -517796, -604196, -690596, -776996, -863396, 604, 0 ] +}, { + "tz" : "Europe/Samara", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 175180, 88780, 2380, -84020, -170420, -256820, -343220, -429620, -516020, -602420, -688820, -775220, -861620, 2380, 0 ] +}, { + "tz" : "Europe/San_Marino", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2403565200 ], + "diffs" : [ 173404, 87004, 604, -85796, -172196, -258596, -344996, -431396, -517796, -604196, -690596, -776996, -863396, 604, 0 ] +}, { + "tz" : "Europe/Sarajevo", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/Saratov", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 176142, 89742, 3342, -83058, -169458, -255858, -342258, -428658, -515058, -601458, -687858, -774258, -860658, 3342, 0 ] +}, { + "tz" : "Europe/Simferopol", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2840151624, -2208988800 ], + "diffs" : [ 175416, 89016, 2616, -83784, -170184, -256584, -342984, -429384, -515784, -602184, -688584, -774984, -861384, 2616, 2640, 0 ] +}, { + "tz" : "Europe/Skopje", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/Sofia", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840146580, -2369527016 ], + "diffs" : [ 174404, 88004, 1604, -84796, -171196, -257596, -343996, -430396, -516796, -603196, -689596, -775996, -862396, 1604, 184, 0 ] +}, { + "tz" : "Europe/Stockholm", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2871681118, -2208992414 ], + "diffs" : [ 172068, 85668, -732, -87132, -173532, -259932, -346332, -432732, -519132, -605532, -691932, -778332, -864732, -732, -14, 0 ] +}, { + "tz" : "Europe/Tallinn", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 174060, 87660, 1260, -85140, -171540, -257940, -344340, -430740, -517140, -603540, -689940, -776340, -862740, 1260, 0 ] +}, { + "tz" : "Europe/Tirane", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 171640, 85240, -1160, -87560, -173960, -260360, -346760, -433160, -519560, -605960, -692360, -778760, -865160, -1160, 0 ] +}, { + "tz" : "Europe/Tiraspol", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148020, -2208988800 ], + "diffs" : [ 173080, 86680, 280, -86120, -172520, -258920, -345320, -431720, -518120, -604520, -690920, -777320, -863720, 280, 300, 0 ] +}, { + "tz" : "Europe/Ulyanovsk", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 175584, 89184, 2784, -83616, -170016, -256416, -342816, -429216, -515616, -602016, -688416, -774816, -861216, 2784, 0 ] +}, { + "tz" : "Europe/Uzhgorod", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2500943352, -2208988800 ], + "diffs" : [ 174648, 88248, 1848, -84552, -170952, -257352, -343752, -430152, -516552, -602952, -689352, -775752, -862152, 1848, 3600, 0 ] +}, { + "tz" : "Europe/Vaduz", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -3675200662, -2385246586 ], + "diffs" : [ 174352, 87952, 1552, -84848, -171248, -257648, -344048, -430448, -516848, -603248, -689648, -776048, -862448, 1552, 1814, 0 ] +}, { + "tz" : "Europe/Vatican", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2403565200 ], + "diffs" : [ 173404, 87004, 604, -85796, -172196, -258596, -344996, -431396, -517796, -604196, -690596, -776996, -863396, 604, 0 ] +}, { + "tz" : "Europe/Vienna", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2422055121 ], + "diffs" : [ 172479, 86079, -321, -86721, -173121, -259521, -345921, -432321, -518721, -605121, -691521, -777921, -864321, -321, 0 ] +}, { + "tz" : "Europe/Vilnius", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840149036, -2208988800 ], + "diffs" : [ 173924, 87524, 1124, -85276, -171676, -258076, -344476, -430876, -517276, -603676, -690076, -776476, -862876, 1124, 2160, 0 ] +}, { + "tz" : "Europe/Volgograd", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 176540, 90140, 3740, -82660, -169060, -255460, -341860, -428260, -514660, -601060, -687460, -773860, -860260, 3740, 0 ] +}, { + "tz" : "Europe/Warsaw", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 171360, 84960, -1440, -87840, -174240, -260640, -347040, -433440, -519840, -606240, -692640, -779040, -865440, -1440, 0 ] +}, { + "tz" : "Europe/Zagreb", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2713915320 ], + "diffs" : [ 171480, 85080, -1320, -87720, -174120, -260520, -346920, -433320, -519720, -606120, -692520, -778920, -865320, -1320, 0 ] +}, { + "tz" : "Europe/Zaporozhye", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148040, -2208988800 ], + "diffs" : [ 171560, 85160, -1240, -87640, -174040, -260440, -346840, -433240, -519640, -606040, -692440, -778840, -865240, -1240, -1200, 0 ] +}, { + "tz" : "Europe/Zurich", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -3675200662, -2385246586 ], + "diffs" : [ 174352, 87952, 1552, -84848, -171248, -257648, -344048, -430448, -516848, -603248, -689648, -776048, -862448, 1552, 1814, 0 ] +}, { + "tz" : "GB", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "GB-Eire", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -3852662325 ], + "diffs" : [ 172875, 86475, 75, -86325, -172725, -259125, -345525, -431925, -518325, -604725, -691125, -777525, -863925, 75, 0 ] +}, { + "tz" : "GMT", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "GMT0", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Greenwich", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Hongkong", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 174198, 87798, 1398, -85002, -171402, -257802, -344202, -430602, -517002, -603402, -689802, -776202, -862602, 1398, 0 ] +}, { + "tz" : "Iceland", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 178080, 91680, 5280, -81120, -167520, -253920, -340320, -426720, -513120, -599520, -685920, -772320, -858720, 5280, 0 ] +}, { + "tz" : "Indian/Antananarivo", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Indian/Chagos", + "switches" : [ -62135791200, -59006469600, -55850709600, -52694949600, -46383429600, -43227669600, -40071909600, -33760389600, -30604629600, -27448869600, -21137349600, -17981589600, -14825829600, -12219314400, -2208988800 ], + "diffs" : [ 177020, 90620, 4220, -82180, -168580, -254980, -341380, -427780, -514180, -600580, -686980, -773380, -859780, 4220, 0 ] +}, { + "tz" : "Indian/Christmas", + "switches" : [ -62135794800, -59006473200, -55850713200, -52694953200, -46383433200, -43227673200, -40071913200, -33760393200, -30604633200, -27448873200, -21137353200, -17981593200, -14825833200, -12219318000, -2364102172 ], + "diffs" : [ 172628, 86228, -172, -86572, -172972, -259372, -345772, -432172, -518572, -604972, -691372, -777772, -864172, -172, 0 ] +}, { + "tz" : "Indian/Cocos", + "switches" : [ -62135793000, -59006471400, -55850711400, -52694951400, -46383431400, -43227671400, -40071911400, -33760391400, -30604631400, -27448871400, -21137351400, -17981591400, -14825831400, -12219316200, -2209012060 ], + "diffs" : [ 172940, 86540, 140, -86260, -172660, -259060, -345460, -431860, -518260, -604660, -691060, -777460, -863860, 140, 0 ] +}, { + "tz" : "Indian/Comoro", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Indian/Kerguelen", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 190800, 104400, 18000, -68400, -154800, -241200, -327600, -414000, -500400, -586800, -673200, -759600, -846000, 18000, 0 ] +}, { + "tz" : "Indian/Mahe", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 173892, 87492, 1092, -85308, -171708, -258108, -344508, -430908, -517308, -603708, -690108, -776508, -862908, 1092, 0 ] +}, { + "tz" : "Indian/Maldives", + "switches" : [ -62135787600, -59006466000, -55850706000, -52694946000, -46383426000, -43227666000, -40071906000, -33760386000, -30604626000, -27448866000, -21137346000, -17981586000, -14825826000, -12219310800, -2208988800 ], + "diffs" : [ 173160, 86760, 360, -86040, -172440, -258840, -345240, -431640, -518040, -604440, -690840, -777240, -863640, 360, 0 ] +}, { + "tz" : "Indian/Mauritius", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 173400, 87000, 600, -85800, -172200, -258600, -345000, -431400, -517800, -604200, -690600, -777000, -863400, 600, 0 ] +}, { + "tz" : "Indian/Mayotte", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174764, 88364, 1964, -84436, -170836, -257236, -343636, -430036, -516436, -602836, -689236, -775636, -862036, 1964, 0 ] +}, { + "tz" : "Indian/Reunion", + "switches" : [ -62135784000, -59006462400, -55850702400, -52694942400, -46383422400, -43227662400, -40071902400, -33760382400, -30604622400, -27448862400, -21137342400, -17981582400, -14825822400, -12219307200, -2208988800 ], + "diffs" : [ 173888, 87488, 1088, -85312, -171712, -258112, -344512, -430912, -517312, -603712, -690112, -776512, -862912, 1088, 0 ] +}, { + "tz" : "Israel", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2840148014, -2208988800 ], + "diffs" : [ 171546, 85146, -1254, -87654, -174054, -260454, -346854, -433254, -519654, -606054, -692454, -778854, -865254, -1254, -1240, 0 ] +}, { + "tz" : "Jamaica", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 173230, 86830, 430, -85970, -172370, -258770, -345170, -431570, -517970, -604370, -690770, -777170, -863570, 430, 0 ] +}, { + "tz" : "Japan", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2587712400 ], + "diffs" : [ 171661, 85261, -1139, -87539, -173939, -260339, -346739, -433139, -519539, -605939, -692339, -778739, -865139, -1139, 0 ] +}, { + "tz" : "Kwajalein", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 175840, 89440, 3040, -83360, -169760, -256160, -342560, -428960, -515360, -601760, -688160, -774560, -860960, 3040, 0 ] +}, { + "tz" : "Libya", + "switches" : [ -62135776800, -59006455200, -55850695200, -52694935200, -46383415200, -43227655200, -40071895200, -33760375200, -30604615200, -27448855200, -21137335200, -17981575200, -14825815200, -12219300000, -2208988800 ], + "diffs" : [ 176836, 90436, 4036, -82364, -168764, -255164, -341564, -427964, -514364, -600764, -687164, -773564, -859964, 4036, 0 ] +}, { + "tz" : "MET", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "MST7MDT", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Mexico/BajaNorte", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 172084, 85684, -716, -87116, -173516, -259916, -346316, -432716, -519116, -605516, -691916, -778316, -864716, -716, 0 ] +}, { + "tz" : "Mexico/BajaSur", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2208988800 ], + "diffs" : [ 173140, 86740, 340, -86060, -172460, -258860, -345260, -431660, -518060, -604460, -690860, -777260, -863660, 340, 0 ] +}, { + "tz" : "Mexico/General", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 174996, 88596, 2196, -84204, -170604, -257004, -343404, -429804, -516204, -602604, -689004, -775404, -861804, 2196, 0 ] +}, { + "tz" : "NZ", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -3192437344, -2208988800 ], + "diffs" : [ 174056, 87656, 1256, -85144, -171544, -257944, -344344, -430744, -517144, -603544, -689944, -776344, -862744, 1256, 1800, 0 ] +}, { + "tz" : "NZ-CHAT", + "switches" : [ -62135815500, -59006493900, -55850733900, -52694973900, -46383453900, -43227693900, -40071933900, -33760413900, -30604653900, -27448893900, -21137373900, -17981613900, -14825853900, -12219338700, -3192439428, -2208988800 ], + "diffs" : [ 174672, 88272, 1872, -84528, -170928, -257328, -343728, -430128, -516528, -602928, -689328, -775728, -862128, 1872, 1800, 0 ] +}, { + "tz" : "Navajo", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 172796, 86396, -4, -86404, -172804, -259204, -345604, -432004, -518404, -604804, -691204, -777604, -864004, -4, 0 ] +}, { + "tz" : "PRC", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 172457, 86057, -343, -86743, -173143, -259543, -345943, -432343, -518743, -605143, -691543, -777943, -864343, -343, 0 ] +}, { + "tz" : "PST8PDT", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Pacific/Apia", + "switches" : [ -62135816400, -59006494800, -55850734800, -52694974800, -46383454800, -43227694800, -40071934800, -33760414800, -30604654800, -27448894800, -21137374800, -17981614800, -14825854800, -12219339600, -2445512400, -2208988800 ], + "diffs" : [ 174416, 88016, 1616, -84784, -171184, -257584, -343984, -430384, -516784, -603184, -689584, -775984, -862384, 1616, 88016, 0 ] +}, { + "tz" : "Pacific/Auckland", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -3192437344, -2208988800 ], + "diffs" : [ 174056, 87656, 1256, -85144, -171544, -257944, -344344, -430744, -517144, -603544, -689944, -776344, -862744, 1256, 1800, 0 ] +}, { + "tz" : "Pacific/Bougainville", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2840182424, -2366794112, -2208988800 ], + "diffs" : [ 175064, 88664, 2264, -84136, -170536, -256936, -343336, -429736, -516136, -602536, -688936, -775336, -861736, 2264, 4288, 3600, 0 ] +}, { + "tz" : "Pacific/Chatham", + "switches" : [ -62135815500, -59006493900, -55850733900, -52694973900, -46383453900, -43227693900, -40071933900, -33760413900, -30604653900, -27448893900, -21137373900, -17981613900, -14825853900, -12219338700, -3192439428, -2208988800 ], + "diffs" : [ 174672, 88272, 1872, -84528, -170928, -257328, -343728, -430128, -516528, -602928, -689328, -775728, -862128, 1872, 1800, 0 ] +}, { + "tz" : "Pacific/Chuuk", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -3944628000, -2208988800 ], + "diffs" : [ 258772, 172372, 85972, -428, -86828, -173228, -259628, -346028, -432428, -518828, -605228, -691628, -778028, 85972, -428, 0 ] +}, { + "tz" : "Pacific/Easter", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 177448, 91048, 4648, -81752, -168152, -254552, -340952, -427352, -513752, -600152, -686552, -772952, -859352, 4648, 0 ] +}, { + "tz" : "Pacific/Efate", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 172004, 85604, -796, -87196, -173596, -259996, -346396, -432796, -519196, -605596, -691996, -778396, -864796, -796, 0 ] +}, { + "tz" : "Pacific/Enderbury", + "switches" : [ -62135816400, -59006494800, -55850734800, -52694974800, -46383454800, -43227694800, -40071934800, -33760414800, -30604654800, -27448894800, -21137374800, -17981614800, -14825854800, -12219339600, -2208988800 ], + "diffs" : [ 260660, 174260, 87860, 1460, -84940, -171340, -257740, -344140, -430540, -516940, -603340, -689740, -776140, 87860, 0 ] +}, { + "tz" : "Pacific/Fakaofo", + "switches" : [ -62135816400, -59006494800, -55850734800, -52694974800, -46383454800, -43227694800, -40071934800, -33760414800, -30604654800, -27448894800, -21137374800, -17981614800, -14825854800, -12219339600, -2208988800 ], + "diffs" : [ 260696, 174296, 87896, 1496, -84904, -171304, -257704, -344104, -430504, -516904, -603304, -689704, -776104, 87896, 0 ] +}, { + "tz" : "Pacific/Fiji", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 173056, 86656, 256, -86144, -172544, -258944, -345344, -431744, -518144, -604544, -690944, -777344, -863744, 256, 0 ] +}, { + "tz" : "Pacific/Funafuti", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 172988, 86588, 188, -86212, -172612, -259012, -345412, -431812, -518212, -604612, -691012, -777412, -863812, 188, 0 ] +}, { + "tz" : "Pacific/Galapagos", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2208988800 ], + "diffs" : [ 172704, 86304, -96, -86496, -172896, -259296, -345696, -432096, -518496, -604896, -691296, -777696, -864096, -96, 0 ] +}, { + "tz" : "Pacific/Gambier", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -2208988800 ], + "diffs" : [ 172788, 86388, -12, -86412, -172812, -259212, -345612, -432012, -518412, -604812, -691212, -777612, -864012, -12, 0 ] +}, { + "tz" : "Pacific/Guadalcanal", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 174012, 87612, 1212, -85188, -171588, -257988, -344388, -430788, -517188, -603588, -689988, -776388, -862788, 1212, 0 ] +}, { + "tz" : "Pacific/Guam", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -3944628000, -2208988800 ], + "diffs" : [ 260460, 174060, 87660, 1260, -85140, -171540, -257940, -344340, -430740, -517140, -603540, -689940, -776340, 87660, 1260, 0 ] +}, { + "tz" : "Pacific/Honolulu", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -2334103114, -2208988800 ], + "diffs" : [ 174686, 88286, 1886, -84514, -170914, -257314, -343714, -430114, -516514, -602914, -689314, -775714, -862114, 1886, 1800, 0 ] +}, { + "tz" : "Pacific/Johnston", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -2334103114, -2208988800 ], + "diffs" : [ 174686, 88286, 1886, -84514, -170914, -257314, -343714, -430114, -516514, -602914, -689314, -775714, -862114, 1886, 1800, 0 ] +}, { + "tz" : "Pacific/Kiritimati", + "switches" : [ -62135820000, -59006498400, -55850738400, -52694978400, -46383458400, -43227698400, -40071938400, -33760418400, -30604658400, -27448898400, -21137378400, -17981618400, -14825858400, -12219343200, -2208988800 ], + "diffs" : [ 260960, 174560, 88160, 1760, -84640, -171040, -257440, -343840, -430240, -516640, -603040, -689440, -775840, 88160, 0 ] +}, { + "tz" : "Pacific/Kosrae", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -3944631600, -2208988800 ], + "diffs" : [ 259684, 173284, 86884, 484, -85916, -172316, -258716, -345116, -431516, -517916, -604316, -690716, -777116, 86884, 484, 0 ] +}, { + "tz" : "Pacific/Kwajalein", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 175840, 89440, 3040, -83360, -169760, -256160, -342560, -428960, -515360, -601760, -688160, -774560, -860960, 3040, 0 ] +}, { + "tz" : "Pacific/Majuro", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 174912, 88512, 2112, -84288, -170688, -257088, -343488, -429888, -516288, -602688, -689088, -775488, -861888, 2112, 0 ] +}, { + "tz" : "Pacific/Marquesas", + "switches" : [ -62135735400, -59006413800, -55850653800, -52694893800, -46383373800, -43227613800, -40071853800, -33760333800, -30604573800, -27448813800, -21137293800, -17981533800, -14825773800, -12219258600, -2208988800 ], + "diffs" : [ 172080, 85680, -720, -87120, -173520, -259920, -346320, -432720, -519120, -605520, -691920, -778320, -864720, -720, 0 ] +}, { + "tz" : "Pacific/Midway", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200, -2445426000, -2208988800 ], + "diffs" : [ 87768, 1368, -85032, -171432, -257832, -344232, -430632, -517032, -603432, -689832, -776232, -862632, -949032, -85032, 1368, 0 ] +}, { + "tz" : "Pacific/Nauru", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 175940, 89540, 3140, -83260, -169660, -256060, -342460, -428860, -515260, -601660, -688060, -774460, -860860, 3140, 0 ] +}, { + "tz" : "Pacific/Niue", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200, -2208988800 ], + "diffs" : [ 173980, 87580, 1180, -85220, -171620, -258020, -344420, -430820, -517220, -603620, -690020, -776420, -862820, 1180, 0 ] +}, { + "tz" : "Pacific/Norfolk", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 172088, 85688, -712, -87112, -173512, -259912, -346312, -432712, -519112, -605512, -691912, -778312, -864712, -712, 0 ] +}, { + "tz" : "Pacific/Noumea", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -2208988800 ], + "diffs" : [ 172452, 86052, -348, -86748, -173148, -259548, -345948, -432348, -518748, -605148, -691548, -777948, -864348, -348, 0 ] +}, { + "tz" : "Pacific/Pago_Pago", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200, -2445426000, -2208988800 ], + "diffs" : [ 87768, 1368, -85032, -171432, -257832, -344232, -430632, -517032, -603432, -689832, -776232, -862632, -949032, -85032, 1368, 0 ] +}, { + "tz" : "Pacific/Palau", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -3944624400, -2208988800 ], + "diffs" : [ 259324, 172924, 86524, 124, -86276, -172676, -259076, -345476, -431876, -518276, -604676, -691076, -777476, 86524, 124, 0 ] +}, { + "tz" : "Pacific/Pitcairn", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2208988800 ], + "diffs" : [ 175220, 88820, 2420, -83980, -170380, -256780, -343180, -429580, -515980, -602380, -688780, -775180, -861580, 2420, 0 ] +}, { + "tz" : "Pacific/Pohnpei", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -3944631600, -2208988800 ], + "diffs" : [ 260828, 174428, 88028, 1628, -84772, -171172, -257572, -343972, -430372, -516772, -603172, -689572, -775972, 88028, 1628, 0 ] +}, { + "tz" : "Pacific/Ponape", + "switches" : [ -62135809200, -59006487600, -55850727600, -52694967600, -46383447600, -43227687600, -40071927600, -33760407600, -30604647600, -27448887600, -21137367600, -17981607600, -14825847600, -12219332400, -3944631600, -2208988800 ], + "diffs" : [ 260828, 174428, 88028, 1628, -84772, -171172, -257572, -343972, -430372, -516772, -603172, -689572, -775972, 88028, 1628, 0 ] +}, { + "tz" : "Pacific/Port_Moresby", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -2840176808, -2366790512 ], + "diffs" : [ 173480, 87080, 680, -85720, -172120, -258520, -344920, -431320, -517720, -604120, -690520, -776920, -863320, 680, 688, 0 ] +}, { + "tz" : "Pacific/Rarotonga", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -2208988800 ], + "diffs" : [ 175144, 88744, 2344, -84056, -170456, -256856, -343256, -429656, -516056, -602456, -688856, -775256, -861656, 2344, 0 ] +}, { + "tz" : "Pacific/Saipan", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -3944628000, -2208988800 ], + "diffs" : [ 260460, 174060, 87660, 1260, -85140, -171540, -257940, -344340, -430740, -517140, -603540, -689940, -776340, 87660, 1260, 0 ] +}, { + "tz" : "Pacific/Samoa", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200, -2445426000, -2208988800 ], + "diffs" : [ 87768, 1368, -85032, -171432, -257832, -344232, -430632, -517032, -603432, -689832, -776232, -862632, -949032, -85032, 1368, 0 ] +}, { + "tz" : "Pacific/Tahiti", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -2208988800 ], + "diffs" : [ 172696, 86296, -104, -86504, -172904, -259304, -345704, -432104, -518504, -604904, -691304, -777704, -864104, -104, 0 ] +}, { + "tz" : "Pacific/Tarawa", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 174476, 88076, 1676, -84724, -171124, -257524, -343924, -430324, -516724, -603124, -689524, -775924, -862324, 1676, 0 ] +}, { + "tz" : "Pacific/Tongatapu", + "switches" : [ -62135816400, -59006494800, -55850734800, -52694974800, -46383454800, -43227694800, -40071934800, -33760414800, -30604654800, -27448894800, -21137374800, -17981614800, -14825854800, -12219339600, -2208988800 ], + "diffs" : [ 175240, 88840, 2440, -83960, -170360, -256760, -343160, -429560, -515960, -602360, -688760, -775160, -861560, 2440, 0 ] +}, { + "tz" : "Pacific/Truk", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -3944628000, -2208988800 ], + "diffs" : [ 258772, 172372, 85972, -428, -86828, -173228, -259628, -346028, -432428, -518828, -605228, -691628, -778028, 85972, -428, 0 ] +}, { + "tz" : "Pacific/Wake", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 176012, 89612, 3212, -83188, -169588, -255988, -342388, -428788, -515188, -601588, -687988, -774388, -860788, 3212, 0 ] +}, { + "tz" : "Pacific/Wallis", + "switches" : [ -62135812800, -59006491200, -55850731200, -52694971200, -46383451200, -43227691200, -40071931200, -33760411200, -30604651200, -27448891200, -21137371200, -17981611200, -14825851200, -12219336000, -2208988800 ], + "diffs" : [ 171880, 85480, -920, -87320, -173720, -260120, -346520, -432920, -519320, -605720, -692120, -778520, -864920, -920, 0 ] +}, { + "tz" : "Pacific/Yap", + "switches" : [ -62135805600, -59006484000, -55850724000, -52694964000, -46383444000, -43227684000, -40071924000, -33760404000, -30604644000, -27448884000, -21137364000, -17981604000, -14825844000, -12219328800, -3944628000, -2208988800 ], + "diffs" : [ 258772, 172372, 85972, -428, -86828, -173228, -259628, -346028, -432428, -518828, -605228, -691628, -778028, 85972, -428, 0 ] +}, { + "tz" : "Poland", + "switches" : [ -62135773200, -59006451600, -55850691600, -52694931600, -46383411600, -43227651600, -40071891600, -33760371600, -30604611600, -27448851600, -21137331600, -17981571600, -14825811600, -12219296400, -2208988800 ], + "diffs" : [ 171360, 84960, -1440, -87840, -174240, -260640, -347040, -433440, -519840, -606240, -692640, -779040, -865440, -1440, 0 ] +}, { + "tz" : "Portugal", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800, -2208988800 ], + "diffs" : [ 175005, 88605, 2205, -84195, -170595, -256995, -343395, -429795, -516195, -602595, -688995, -775395, -861795, 2205, 0 ] +}, { + "tz" : "ROK", + "switches" : [ -62135802000, -59006480400, -55850720400, -52694960400, -46383440400, -43227680400, -40071920400, -33760400400, -30604640400, -27448880400, -21137360400, -17981600400, -14825840400, -12219325200, -2208988800 ], + "diffs" : [ 174728, 88328, 1928, -84472, -170872, -257272, -343672, -430072, -516472, -602872, -689272, -775672, -862072, 1928, 0 ] +}, { + "tz" : "Singapore", + "switches" : [ -62135798400, -59006476800, -55850716800, -52694956800, -46383436800, -43227676800, -40071916800, -33760396800, -30604636800, -27448876800, -21137356800, -17981596800, -14825836800, -12219321600, -2208988800 ], + "diffs" : [ 176675, 90275, 3875, -82525, -168925, -255325, -341725, -428125, -514525, -600925, -687325, -773725, -860125, 3875, 0 ] +}, { + "tz" : "SystemV/AST4", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/AST4ADT", + "switches" : [ -62135755200, -59006433600, -55850673600, -52694913600, -46383393600, -43227633600, -40071873600, -33760353600, -30604593600, -27448833600, -21137313600, -17981553600, -14825793600, -12219278400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/CST6", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/CST6CDT", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/EST5", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/EST5EDT", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/HST10", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/MST7", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/MST7MDT", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/PST8", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/PST8PDT", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/YST9", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "SystemV/YST9YDT", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Turkey", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2840151536, -2208988800 ], + "diffs" : [ 176648, 90248, 3848, -82552, -168952, -255352, -341752, -428152, -514552, -600952, -687352, -773752, -860152, 3848, 3784, 0 ] +}, { + "tz" : "UCT", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "US/Alaska", + "switches" : [ -62135737200, -59006415600, -55850655600, -52694895600, -46383375600, -43227615600, -40071855600, -33760335600, -30604575600, -27448815600, -21137295600, -17981535600, -14825775600, -12219260400, -3225227303, -2208988800 ], + "diffs" : [ 89976, 3576, -82824, -169224, -255624, -342024, -428424, -514824, -601224, -687624, -774024, -860424, -946824, -82824, 3576, 0 ] +}, { + "tz" : "US/Aleutian", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -3225230125, -2208988800 ], + "diffs" : [ 92798, 6398, -80002, -166402, -252802, -339202, -425602, -512002, -598402, -684802, -771202, -857602, -944002, -80002, 6398, 0 ] +}, { + "tz" : "US/Arizona", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 174498, 88098, 1698, -84702, -171102, -257502, -343902, -430302, -516702, -603102, -689502, -775902, -862302, 1698, 0 ] +}, { + "tz" : "US/Central", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 172236, 85836, -564, -86964, -173364, -259764, -346164, -432564, -518964, -605364, -691764, -778164, -864564, -564, 0 ] +}, { + "tz" : "US/East-Indiana", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800, -2208988800 ], + "diffs" : [ 175478, 89078, 2678, -83722, -170122, -256522, -342922, -429322, -515722, -602122, -688522, -774922, -861322, 2678, 3600, 0 ] +}, { + "tz" : "US/Eastern", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2717650800 ], + "diffs" : [ 172562, 86162, -238, -86638, -173038, -259438, -345838, -432238, -518638, -605038, -691438, -777838, -864238, -238, 0 ] +}, { + "tz" : "US/Hawaii", + "switches" : [ -62135733600, -59006412000, -55850652000, -52694892000, -46383372000, -43227612000, -40071852000, -33760332000, -30604572000, -27448812000, -21137292000, -17981532000, -14825772000, -12219256800, -2334103114, -2208988800 ], + "diffs" : [ 174686, 88286, 1886, -84514, -170914, -257314, -343714, -430114, -516514, -602914, -689314, -775714, -862114, 1886, 1800, 0 ] +}, { + "tz" : "US/Indiana-Starke", + "switches" : [ -62135748000, -59006426400, -55850666400, -52694906400, -46383386400, -43227626400, -40071866400, -33760346400, -30604586400, -27448826400, -21137306400, -17981546400, -14825786400, -12219271200, -2717647200 ], + "diffs" : [ 171990, 85590, -810, -87210, -173610, -260010, -346410, -432810, -519210, -605610, -692010, -778410, -864810, -810, 0 ] +}, { + "tz" : "US/Michigan", + "switches" : [ -62135751600, -59006430000, -55850670000, -52694910000, -46383390000, -43227630000, -40071870000, -33760350000, -30604590000, -27448830000, -21137310000, -17981550000, -14825790000, -12219274800, -2208988800 ], + "diffs" : [ 174731, 88331, 1931, -84469, -170869, -257269, -343669, -430069, -516469, -602869, -689269, -775669, -862069, 1931, 0 ] +}, { + "tz" : "US/Mountain", + "switches" : [ -62135744400, -59006422800, -55850662800, -52694902800, -46383382800, -43227622800, -40071862800, -33760342800, -30604582800, -27448822800, -21137302800, -17981542800, -14825782800, -12219267600, -2717643600 ], + "diffs" : [ 172796, 86396, -4, -86404, -172804, -259204, -345604, -432004, -518404, -604804, -691204, -777604, -864004, -4, 0 ] +}, { + "tz" : "US/Pacific", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2717640000 ], + "diffs" : [ 172378, 85978, -422, -86822, -173222, -259622, -346022, -432422, -518822, -605222, -691622, -778022, -864422, -422, 0 ] +}, { + "tz" : "US/Pacific-New", + "switches" : [ -62135740800, -59006419200, -55850659200, -52694899200, -46383379200, -43227619200, -40071859200, -33760339200, -30604579200, -27448819200, -21137299200, -17981539200, -14825779200, -12219264000, -2717640000 ], + "diffs" : [ 172378, 85978, -422, -86822, -173222, -259622, -346022, -432422, -518822, -605222, -691622, -778022, -864422, -422, 0 ] +}, { + "tz" : "US/Samoa", + "switches" : [ -62135730000, -59006408400, -55850648400, -52694888400, -46383368400, -43227608400, -40071848400, -33760328400, -30604568400, -27448808400, -21137288400, -17981528400, -14825768400, -12219253200, -2445426000, -2208988800 ], + "diffs" : [ 87768, 1368, -85032, -171432, -257832, -344232, -430632, -517032, -603432, -689832, -776232, -862632, -949032, -85032, 1368, 0 ] +}, { + "tz" : "UTC", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Universal", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "W-SU", + "switches" : [ -62135780400, -59006458800, -55850698800, -52694938800, -46383418800, -43227658800, -40071898800, -33760378800, -30604618800, -27448858800, -21137338800, -17981578800, -14825818800, -12219303600, -2208988800 ], + "diffs" : [ 174583, 88183, 1783, -84617, -171017, -257417, -343817, -430217, -516617, -603017, -689417, -775817, -862217, 1783, 0 ] +}, { + "tz" : "WET", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +}, { + "tz" : "Zulu", + "switches" : [ -62135769600, -59006448000, -55850688000, -52694928000, -46383408000, -43227648000, -40071888000, -33760368000, -30604608000, -27448848000, -21137328000, -17981568000, -14825808000, -12219292800 ], + "diffs" : [ 172800, 86400, 0, -86400, -172800, -259200, -345600, -432000, -518400, -604800, -691200, -777600, -864000, 0 ] +} ] \ No newline at end of file diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala index 3512e3b5bfa65..33e05c5c20a42 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala @@ -21,12 +21,13 @@ import java.nio.charset.StandardCharsets import java.sql.{Date, Timestamp} import java.time._ import java.time.temporal.{ChronoField, ChronoUnit, IsoFields} -import java.util.{Calendar, Locale, TimeZone} +import java.util.{Locale, TimeZone} import java.util.concurrent.TimeUnit._ import scala.util.control.NonFatal import org.apache.spark.sql.catalyst.util.DateTimeConstants._ +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ import org.apache.spark.sql.types.Decimal import org.apache.spark.unsafe.types.{CalendarInterval, UTF8String} @@ -987,153 +988,4 @@ object DateTimeUtils { val days = period.getDays new CalendarInterval(months, days, 0) } - - /** - * Converts the given microseconds to a local date-time in UTC time zone in Proleptic Gregorian - * calendar, interprets the result as a local date-time in Julian calendar in UTC time zone. - * And takes microseconds since the epoch from the Julian timestamp. - * - * @param micros The number of microseconds since the epoch '1970-01-01T00:00:00Z'. - * @return The rebased microseconds since the epoch in Julian calendar. - */ - def rebaseGregorianToJulianMicros(micros: Long): Long = { - val instant = microsToInstant(micros) - val zoneId = ZoneId.systemDefault - val ldt = instant.atZone(zoneId).toLocalDateTime - val cal = new Calendar.Builder() - // `gregory` is a hybrid calendar that supports both - // the Julian and Gregorian calendar systems - .setCalendarType("gregory") - .setDate(ldt.getYear, ldt.getMonthValue - 1, ldt.getDayOfMonth) - .setTimeOfDay(ldt.getHour, ldt.getMinute, ldt.getSecond) - // Local time-line can overlaps, such as at an autumn daylight savings cutover. - // This setting selects the original local timestamp mapped to the given `micros`. - .set(Calendar.DST_OFFSET, zoneId.getRules.getDaylightSavings(instant).toMillis.toInt) - .build() - fromMillis(cal.getTimeInMillis) + ldt.get(ChronoField.MICRO_OF_SECOND) - } - - /** - * Converts the given microseconds to a local date-time in UTC time zone in Julian calendar, - * interprets the result as a local date-time in Proleptic Gregorian calendar in UTC time zone. - * And takes microseconds since the epoch from the Gregorian timestamp. - * - * @param micros The number of microseconds since the epoch '1970-01-01T00:00:00Z'. - * @return The rebased microseconds since the epoch in Proleptic Gregorian calendar. - */ - def rebaseJulianToGregorianMicros(micros: Long): Long = { - val cal = new Calendar.Builder() - // `gregory` is a hybrid calendar that supports both - // the Julian and Gregorian calendar systems - .setCalendarType("gregory") - .setInstant(toMillis(micros)) - .build() - val localDateTime = LocalDateTime.of( - cal.get(Calendar.YEAR), - cal.get(Calendar.MONTH) + 1, - // The number of days will be added later to handle non-existing - // Julian dates in Proleptic Gregorian calendar. - // For example, 1000-02-29 exists in Julian calendar because 1000 - // is a leap year but it is not a leap year in Gregorian calendar. - 1, - cal.get(Calendar.HOUR_OF_DAY), - cal.get(Calendar.MINUTE), - cal.get(Calendar.SECOND), - (Math.floorMod(micros, MICROS_PER_SECOND) * NANOS_PER_MICROS).toInt) - .plusDays(cal.get(Calendar.DAY_OF_MONTH) - 1) - val zonedDateTime = localDateTime.atZone(ZoneId.systemDefault) - // Zero DST offset means that local clocks have switched to the winter time already. - // So, clocks go back one hour. We should correct zoned date-time and change - // the zone offset to the later of the two valid offsets at a local time-line overlap. - val adjustedZdt = if (cal.get(Calendar.DST_OFFSET) == 0) { - zonedDateTime.withLaterOffsetAtOverlap() - } else { - zonedDateTime - } - instantToMicros(adjustedZdt.toInstant) - } - - /** - * Rebases days since the epoch from an original to an target calendar, from instance - * from a hybrid (Julian + Gregorian) to Proleptic Gregorian calendar. - * - * It finds the latest switch day which is less than `days`, and adds the difference - * in days associated with the switch day to the given `days`. The function is based - * on linear search which starts from the most recent switch days. This allows to perform - * less comparisons for modern dates. - * - * @param switchDays The days when difference in days between original and target - * calendar was changed. - * @param diffs The differences in days between calendars. - * @param days The number of days since the epoch 1970-01-01 to be rebased to the - * target calendar. - * @return The rebased day - */ - private def rebaseDays(switchDays: Array[Int], diffs: Array[Int], days: Int): Int = { - var i = switchDays.length - 1 - while (i >= 0 && days < switchDays(i)) { - i -= 1 - } - val rebased = days + diffs(if (i < 0) 0 else i) - rebased - } - - // The differences in days between Julian and Proleptic Gregorian dates. - // The diff at the index `i` is applicable for all days in the date interval: - // [julianGregDiffSwitchDay(i), julianGregDiffSwitchDay(i+1)) - private val julianGregDiffs = Array(2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, 0) - // The sorted days in Julian calendar when difference in days between Julian and - // Proleptic Gregorian calendars was changed. - // The starting point is the `0001-01-01` (-719164 days since the epoch in - // Julian calendar). All dates before the staring point have the same difference - // of 2 days in Julian and Proleptic Gregorian calendars. - private val julianGregDiffSwitchDay = Array( - -719164, -682945, -646420, -609895, -536845, -500320, -463795, - -390745, -354220, -317695, -244645, -208120, -171595, -141427) - - /** - * Converts the given number of days since the epoch day 1970-01-01 to - * a local date in Julian calendar, interprets the result as a local - * date in Proleptic Gregorian calendar, and take the number of days - * since the epoch from the Gregorian date. - * - * @param days The number of days since the epoch in Julian calendar. - * @return The rebased number of days in Gregorian calendar. - */ - def rebaseJulianToGregorianDays(days: Int): Int = { - rebaseDays(julianGregDiffSwitchDay, julianGregDiffs, days) - } - - // The differences in days between Proleptic Gregorian and Julian dates. - // The diff at the index `i` is applicable for all days in the date interval: - // [gregJulianDiffSwitchDay(i), gregJulianDiffSwitchDay(i+1)) - private val grepJulianDiffs = Array(-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0) - // The sorted days in Proleptic Gregorian calendar when difference in days between - // Proleptic Gregorian and Julian was changed. - // The starting point is the `0001-01-01` (-719162 days since the epoch in - // Proleptic Gregorian calendar). All dates before the staring point have the same - // difference of -2 days in Proleptic Gregorian and Julian calendars. - private val gregJulianDiffSwitchDay = Array( - -719162, -682944, -646420, -609896, -536847, -500323, -463799, - -390750, -354226, -317702, -244653, -208129, -171605, -141427) - - /** - * Rebasing days since the epoch to store the same number of days - * as by Spark 2.4 and earlier versions. Spark 3.0 switched to - * Proleptic Gregorian calendar (see SPARK-26651), and as a consequence of that, - * this affects dates before 1582-10-15. Spark 2.4 and earlier versions use - * Julian calendar for dates before 1582-10-15. So, the same local date may - * be mapped to different number of days since the epoch in different calendars. - * - * For example: - * Proleptic Gregorian calendar: 1582-01-01 -> -141714 - * Julian calendar: 1582-01-01 -> -141704 - * The code below converts -141714 to -141704. - * - * @param days The number of days since the epoch 1970-01-01. It can be negative. - * @return The rebased number of days since the epoch in Julian calendar. - */ - def rebaseGregorianToJulianDays(days: Int): Int = { - rebaseDays(gregJulianDiffSwitchDay, grepJulianDiffs, days) - } } diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/RebaseDateTime.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/RebaseDateTime.scala new file mode 100644 index 0000000000000..793eb17f72ae0 --- /dev/null +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/RebaseDateTime.scala @@ -0,0 +1,338 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.spark.sql.catalyst.util + +import java.time.{LocalDateTime, ZoneId} +import java.time.temporal.ChronoField +import java.util.{Calendar, TimeZone} + +import scala.collection.mutable.AnyRefMap + +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.module.scala.{DefaultScalaModule, ScalaObjectMapper} + +import org.apache.spark.sql.catalyst.util.DateTimeConstants._ +import org.apache.spark.sql.catalyst.util.DateTimeUtils._ + +/** + * The collection of functions for rebasing days and microseconds from/to the hybrid calendar + * (Julian + Gregorian since 1582-10-15) which is used by Spark 2.4 and earlier versions + * to/from Proleptic Gregorian calendar used in Spark SQL since version 3.0, see SPARK-26651. + */ +object RebaseDateTime { + /** + * Rebases days since the epoch from an original to an target calendar, for instance, + * from a hybrid (Julian + Gregorian) to Proleptic Gregorian calendar. + * + * It finds the latest switch day which is less than `value`, and adds the difference + * in days associated with the switch days to the given `value`. + * The function is based on linear search which starts from the most recent switch days. + * This allows to perform less comparisons for modern dates. + * + * @param switches The days when difference in days between original + * and target calendar was changed. + * @param diffs The differences in days between calendars. + * @param days The number of days since the epoch 1970-01-01 to be rebased + * to the target calendar. + * @return The rebased days. + */ + private def rebaseDays(switches: Array[Int], diffs: Array[Int], days: Int): Int = { + var i = switches.length + do { i -= 1 } while (i > 0 && days < switches(i)) + days + diffs(i) + } + + // The differences in days between Julian and Proleptic Gregorian dates. + // The diff at the index `i` is applicable for all days in the date interval: + // [julianGregDiffSwitchDay(i), julianGregDiffSwitchDay(i+1)) + private val julianGregDiffs = Array(2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, 0) + // The sorted days in Julian calendar when difference in days between Julian and + // Proleptic Gregorian calendars was changed. + // The starting point is the `0001-01-01` (-719164 days since the epoch in + // Julian calendar). All dates before the staring point have the same difference + // of 2 days in Julian and Proleptic Gregorian calendars. + private val julianGregDiffSwitchDay = Array( + -719164, -682945, -646420, -609895, -536845, -500320, -463795, + -390745, -354220, -317695, -244645, -208120, -171595, -141427) + + /** + * Converts the given number of days since the epoch day 1970-01-01 to + * a local date in Julian calendar, interprets the result as a local + * date in Proleptic Gregorian calendar, and take the number of days + * since the epoch from the Gregorian date. + * + * @param days The number of days since the epoch in Julian calendar. + * @return The rebased number of days in Gregorian calendar. + */ + def rebaseJulianToGregorianDays(days: Int): Int = { + rebaseDays(julianGregDiffSwitchDay, julianGregDiffs, days) + } + + // The differences in days between Proleptic Gregorian and Julian dates. + // The diff at the index `i` is applicable for all days in the date interval: + // [gregJulianDiffSwitchDay(i), gregJulianDiffSwitchDay(i+1)) + private val gregJulianDiffs = Array(-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0) + // The sorted days in Proleptic Gregorian calendar when difference in days between + // Proleptic Gregorian and Julian was changed. + // The starting point is the `0001-01-01` (-719162 days since the epoch in + // Proleptic Gregorian calendar). All dates before the staring point have the same + // difference of -2 days in Proleptic Gregorian and Julian calendars. + private val gregJulianDiffSwitchDay = Array( + -719162, -682944, -646420, -609896, -536847, -500323, -463799, + -390750, -354226, -317702, -244653, -208129, -171605, -141427) + + /** + * Rebasing days since the epoch to store the same number of days + * as by Spark 2.4 and earlier versions. Spark 3.0 switched to + * Proleptic Gregorian calendar (see SPARK-26651), and as a consequence of that, + * this affects dates before 1582-10-15. Spark 2.4 and earlier versions use + * Julian calendar for dates before 1582-10-15. So, the same local date may + * be mapped to different number of days since the epoch in different calendars. + * + * For example: + * Proleptic Gregorian calendar: 1582-01-01 -> -141714 + * Julian calendar: 1582-01-01 -> -141704 + * The code below converts -141714 to -141704. + * + * @param days The number of days since the epoch 1970-01-01. It can be negative. + * @return The rebased number of days since the epoch in Julian calendar. + */ + def rebaseGregorianToJulianDays(days: Int): Int = { + rebaseDays(gregJulianDiffSwitchDay, gregJulianDiffs, days) + } + + /** + * Converts the given microseconds to a local date-time in UTC time zone in Proleptic Gregorian + * calendar, interprets the result as a local date-time in Julian calendar in UTC time zone. + * And takes microseconds since the epoch from the Julian timestamp. + * + * @param zoneId The time zone ID at which the rebasing should be performed. + * @param micros The number of microseconds since the epoch '1970-01-01T00:00:00Z' + * in Proleptic Gregorian calendar. It can be negative. + * @return The rebased microseconds since the epoch in Julian calendar. + */ + private[sql] def rebaseGregorianToJulianMicros(zoneId: ZoneId, micros: Long): Long = { + val instant = microsToInstant(micros) + val ldt = instant.atZone(zoneId).toLocalDateTime + val cal = new Calendar.Builder() + // `gregory` is a hybrid calendar that supports both + // the Julian and Gregorian calendar systems + .setCalendarType("gregory") + .setDate(ldt.getYear, ldt.getMonthValue - 1, ldt.getDayOfMonth) + .setTimeOfDay(ldt.getHour, ldt.getMinute, ldt.getSecond) + // Local time-line can overlaps, such as at an autumn daylight savings cutover. + // This setting selects the original local timestamp mapped to the given `micros`. + .set(Calendar.DST_OFFSET, zoneId.getRules.getDaylightSavings(instant).toMillis.toInt) + .build() + fromMillis(cal.getTimeInMillis) + ldt.get(ChronoField.MICRO_OF_SECOND) + } + + + /** + * The class describes JSON records with microseconds rebasing info. + * Here is an example of JSON file: + * {{{ + * [ + * { + * "tz": "Europe/Paris", + * "switches": [-123, 0], + * "diffs": [422000000, 0] + * } + * ] + * }}} + * + * @param tz One of time zone ID which is expected to be acceptable by `ZoneId.of`. + * @param switches An ordered array of seconds since the epoch when the diff between + * two calendars are changed. + * @param diffs Differences in seconds associated with elements of `switches`. + */ + private case class JsonRebaseRecord(tz: String, switches: Array[Long], diffs: Array[Long]) + + /** + * Rebasing info used to convert microseconds from an original to a target calendar. + * + * @param switches An ordered array of microseconds since the epoch when the diff between + * two calendars are changed. + * @param diffs Differences in microseconds associated with elements of `switches`. + */ + private[sql] case class RebaseInfo(switches: Array[Long], diffs: Array[Long]) + + /** + * Rebases micros since the epoch from an original to an target calendar, for instance, + * from a hybrid (Julian + Gregorian) to Proleptic Gregorian calendar. + * + * It finds the latest switch micros which is less than `value`, and adds the difference + * in micros associated with the switch micros to the given `value`. + * The function is based on linear search which starts from the most recent switch micros. + * This allows to perform less comparisons for modern timestamps. + * + * @param rebaseInfo The rebasing info contains an ordered micros when difference in micros + * between original and target calendar was changed, + * and differences in micros between calendars + * @param micros The number of micros since the epoch 1970-01-01T00:00:00Z to be rebased + * to the target calendar. It can be negative. + * @return The rebased micros. + */ + private def rebaseMicros(rebaseInfo: RebaseInfo, micros: Long): Long = { + val switches = rebaseInfo.switches + var i = switches.length + do { i -= 1 } while (i > 0 && micros < switches(i)) + micros + rebaseInfo.diffs(i) + } + + // Loads rebasing info from an JSON file. JSON records in the files should conform to + // `JsonRebaseRecord`. AnyRefMap is used here instead of Scala's immutable map because + // it is 2 times faster in DateTimeRebaseBenchmark. + private[sql] def loadRebaseRecords(fileName: String): AnyRefMap[String, RebaseInfo] = { + val file = Thread.currentThread().getContextClassLoader.getResource(fileName) + val mapper = new ObjectMapper() with ScalaObjectMapper + mapper.registerModule(DefaultScalaModule) + val jsonRebaseRecords = mapper.readValue[Seq[JsonRebaseRecord]](file) + val anyRefMap = new AnyRefMap[String, RebaseInfo]((3 * jsonRebaseRecords.size) / 2) + jsonRebaseRecords.foreach { jsonRecord => + val rebaseInfo = RebaseInfo(jsonRecord.switches, jsonRecord.diffs) + var i = 0 + while (i < rebaseInfo.switches.length) { + rebaseInfo.switches(i) = rebaseInfo.switches(i) * MICROS_PER_SECOND + rebaseInfo.diffs(i) = rebaseInfo.diffs(i) * MICROS_PER_SECOND + i += 1 + } + anyRefMap.update(jsonRecord.tz, rebaseInfo) + } + anyRefMap + } + + /** + * A map of time zone IDs to its ordered time points (instants in microseconds since the epoch) + * when the difference between 2 instances associated with the same local timestamp in + * Proleptic Gregorian and the hybrid calendar was changed, and to the diff at the index `i` is + * applicable for all microseconds in the time interval: + * [gregJulianDiffSwitchMicros(i), gregJulianDiffSwitchMicros(i+1)) + */ + private val gregJulianRebaseMap = loadRebaseRecords("gregorian-julian-rebase-micros.json") + + /** + * Rebases the given `micros` to the number of microseconds since the epoch via a local + * timestamp that have the same date-time fields in Proleptic Gregorian and in the hybrid + * calendars. + * + * The function may optimize the rebasing by using pre-calculated rebasing maps. If the maps + * don't contains information about the current JVM system time zone, the functions falls back + * to regular conversion mechanism via building local timestamps. + * + * Note: The function assumes that the input micros was derived from a local timestamp + * at the default system JVM time zone in Proleptic Gregorian calendar. + * + * @param micros The microseconds since the epoch 1970-01-01T00:00:00Z + * in Proleptic Gregorian calendar. It can be negative. + * @return The microseconds since the epoch that have the same local timestamp representation + * in the hybrid calendar (Julian + Gregorian) as the original `micros` in + * Proleptic Gregorian calendar. + */ + def rebaseGregorianToJulianMicros(micros: Long): Long = { + val timeZone = TimeZone.getDefault + val tzId = timeZone.getID + val rebaseRecord = gregJulianRebaseMap.getOrNull(tzId) + if (rebaseRecord == null) { + rebaseGregorianToJulianMicros(timeZone.toZoneId, micros) + } else { + rebaseMicros(rebaseRecord, micros) + } + } + + /** + * Converts the given microseconds to a local date-time in UTC time zone in the hybrid + * calendar (Julian + Gregorian since 1582-10-15), interprets the result as a local date-time + * in Proleptic Gregorian calendar in UTC time zone. And takes microseconds since the epoch + * from the Gregorian timestamp. + * + * @param zoneId The time zone ID at which the rebasing should be performed. + * @param micros The number of microseconds since the epoch '1970-01-01T00:00:00Z' + * in the hybrid calendar (Julian + Gregorian). It can be negative. + * @return The rebased microseconds since the epoch in Proleptic Gregorian calendar. + */ + private[sql] def rebaseJulianToGregorianMicros(zoneId: ZoneId, micros: Long): Long = { + val cal = new Calendar.Builder() + // `gregory` is a hybrid calendar that supports both + // the Julian and Gregorian calendar systems + .setCalendarType("gregory") + .setInstant(toMillis(micros)) + .build() + val localDateTime = LocalDateTime.of( + cal.get(Calendar.YEAR), + cal.get(Calendar.MONTH) + 1, + // The number of days will be added later to handle non-existing + // Julian dates in Proleptic Gregorian calendar. + // For example, 1000-02-29 exists in Julian calendar because 1000 + // is a leap year but it is not a leap year in Gregorian calendar. + 1, + cal.get(Calendar.HOUR_OF_DAY), + cal.get(Calendar.MINUTE), + cal.get(Calendar.SECOND), + (Math.floorMod(micros, MICROS_PER_SECOND) * NANOS_PER_MICROS).toInt) + .plusDays(cal.get(Calendar.DAY_OF_MONTH) - 1) + val zonedDateTime = localDateTime.atZone(zoneId) + // Zero DST offset means that local clocks have switched to the winter time already. + // So, clocks go back one hour. We should correct zoned date-time and change + // the zone offset to the later of the two valid offsets at a local time-line overlap. + val adjustedZdt = if (cal.get(Calendar.DST_OFFSET) == 0) { + zonedDateTime.withLaterOffsetAtOverlap() + } else { + zonedDateTime + } + instantToMicros(adjustedZdt.toInstant) + } + + // The rebasing maps to convert microseconds from the hybrid calendar (Julian + Gregorian) + // to Proleptic Gregorian calendar. It maps time zone IDs to ordered timestamps (ascending order) + // where at every timestamps the difference between 2 calendars was changed, and to ordered + // differences between 2 calendars. The diff at the index `i` is applicable for all timestamps + // in the interval: [julianGregDiffSwitchMicros(i), julianGregDiffSwitchMicros(i+1)) + private val julianGregRebaseMap = loadRebaseRecords("julian-gregorian-rebase-micros.json") + + /** + * This is an opposite to `rebaseGregorianToJulianMicros` function which rebases the given + * microseconds since the epoch 1970-01-01T00:00:00Z via local timestamps from the + * hybrid calendar (Julian + Gregorian) to Proleptic Gregorian calendar. + * For example, the input `micros` -12243196799876544 is mapped to 1582-01-01 00:00:00.123456 in + * Julian calendar. The same local timestamp in Proleptic Gregorian calendar is mapped to + * the different number of micros -12244061221876544 since the epoch. Semantically, the function + * performs such conversion either via direct conversion to local timestamps, + * or via pre-calculated rebasing tables. + * + * Note: The function assumes that the input micros was derived from a local timestamp + * at the default system JVM time zone in the hybrid calendar (Julian and Gregorian + * since 1582-10-15) + * + * @param micros The number of microseconds since the epoch 1970-01-01T00:00:00Z + * in the hybrid calendar (Julian + Gregorian). It can be negative. + * @return The rebased number of microseconds since the epoch which is mapped to the same + * local timestamp in Proleptic Gregorian calendar as `micros` in the hybrid calendar + * at the system time zone. + */ + def rebaseJulianToGregorianMicros(micros: Long): Long = { + val timeZone = TimeZone.getDefault + val tzId = timeZone.getID + val rebaseRecord = julianGregRebaseMap.getOrNull(tzId) + if (rebaseRecord == null) { + rebaseJulianToGregorianMicros(timeZone.toZoneId, micros) + } else { + rebaseMicros(rebaseRecord, micros) + } + } +} diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala index f9c15f394f5ca..7459044e12429 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala @@ -20,7 +20,7 @@ package org.apache.spark.sql.catalyst.util import java.sql.{Date, Timestamp} import java.text.SimpleDateFormat import java.time.{Instant, LocalDate, LocalDateTime, LocalTime, ZoneId} -import java.util.{Calendar, Locale, TimeZone} +import java.util.Locale import java.util.concurrent.TimeUnit import org.scalatest.Matchers @@ -657,184 +657,4 @@ class DateTimeUtilsSuite extends SparkFunSuite with Matchers with SQLHelper { assert(toDate("tomorrow CET ", zoneId).get === today + 1) } } - - private def parseToJulianMicros(s: String): Long = { - val ts = Timestamp.valueOf(s) - val julianMicros = fromMillis(ts.getTime) + - ((ts.getNanos / NANOS_PER_MICROS) % MICROS_PER_MILLIS) - julianMicros - } - - private def parseToGregMicros(s: String, zoneId: ZoneId): Long = { - instantToMicros(LocalDateTime.parse(s).atZone(zoneId).toInstant) - } - - test("rebase julian to/from gregorian micros") { - outstandingZoneIds.foreach { zid => - withDefaultTimeZone(zid) { - Seq( - "0001-01-01 01:02:03.654321", - "1000-01-01 03:02:01.123456", - "1582-10-04 00:00:00.000000", - "1582-10-15 00:00:00.999999", // Gregorian cutover day - "1883-11-10 00:00:00.000000", // America/Los_Angeles -7:52:58 zone offset - "1883-11-20 00:00:00.000000", // America/Los_Angeles -08:00 zone offset - "1969-12-31 11:22:33.000100", - "1970-01-01 00:00:00.000001", // The epoch day - "2020-03-14 09:33:01.500000").foreach { ts => - withClue(s"time zone = ${zid.getId} ts = $ts") { - val julianMicros = parseToJulianMicros(ts) - val gregMicros = parseToGregMicros(ts.replace(' ', 'T'), zid) - - assert(rebaseJulianToGregorianMicros(julianMicros) === gregMicros) - assert(rebaseGregorianToJulianMicros(gregMicros) === julianMicros) - } - } - } - } - } - - // millisToDays() and fromJavaDate() are taken from Spark 2.4 - private def millisToDaysLegacy(millisUtc: Long, timeZone: TimeZone): Int = { - val millisLocal = millisUtc + timeZone.getOffset(millisUtc) - Math.floor(millisLocal.toDouble / MILLIS_PER_DAY).toInt - } - private def fromJavaDateLegacy(date: Date): Int = { - millisToDaysLegacy(date.getTime, defaultTimeZone()) - } - - test("rebase gregorian to/from julian days") { - outstandingZoneIds.foreach { zid => - withDefaultTimeZone(zid) { - Seq( - "0001-01-01", - "1000-01-01", - "1582-10-04", - "1582-10-15", // Gregorian cutover day - "1883-11-10", // America/Los_Angeles -7:52:58 zone offset - "1883-11-20", // America/Los_Angeles -08:00 zone offset - "1969-12-31", - "1970-01-01", // The epoch day - "2020-03-14").foreach { date => - val julianDays = fromJavaDateLegacy(Date.valueOf(date)) - val gregorianDays = localDateToDays(LocalDate.parse(date)) - - assert(rebaseGregorianToJulianDays(gregorianDays) === julianDays) - assert(rebaseJulianToGregorianDays(julianDays) === gregorianDays) - } - } - } - } - - test("rebase julian to gregorian date for leap years") { - outstandingZoneIds.foreach { zid => - withDefaultTimeZone(zid) { - Seq( - "1000-02-29" -> "1000-03-01", - "1600-02-29" -> "1600-02-29", - "1700-02-29" -> "1700-03-01", - "2000-02-29" -> "2000-02-29").foreach { case (julianDate, gregDate) => - withClue(s"tz = ${zid.getId} julian date = $julianDate greg date = $gregDate") { - val date = Date.valueOf(julianDate) - val julianDays = fromJavaDateLegacy(date) - val gregorianDays = localDateToDays(LocalDate.parse(gregDate)) - - assert(rebaseJulianToGregorianDays(julianDays) === gregorianDays) - } - } - } - } - } - - test("rebase julian to gregorian timestamp for leap years") { - outstandingZoneIds.foreach { zid => - withDefaultTimeZone(zid) { - Seq( - "1000-02-29 01:02:03.123456" -> "1000-03-01T01:02:03.123456", - "1600-02-29 11:12:13.654321" -> "1600-02-29T11:12:13.654321", - "1700-02-29 21:22:23.000001" -> "1700-03-01T21:22:23.000001", - "2000-02-29 00:00:00.999999" -> "2000-02-29T00:00:00.999999" - ).foreach { case (julianTs, gregTs) => - withClue(s"tz = ${zid.getId} julian ts = $julianTs greg ts = $gregTs") { - val julianMicros = parseToJulianMicros(julianTs) - val gregorianMicros = parseToGregMicros(gregTs, zid) - - assert(rebaseJulianToGregorianMicros(julianMicros) === gregorianMicros) - } - } - } - } - } - - test("optimization of days rebasing - Gregorian to Julian") { - def refRebaseGregorianToJulianDays(days: Int): Int = { - val localDate = LocalDate.ofEpochDay(days) - val utcCal = new Calendar.Builder() - // `gregory` is a hybrid calendar that supports both - // the Julian and Gregorian calendar systems - .setCalendarType("gregory") - .setTimeZone(TimeZoneUTC) - .setDate(localDate.getYear, localDate.getMonthValue - 1, localDate.getDayOfMonth) - .build() - Math.toIntExact(Math.floorDiv(utcCal.getTimeInMillis, MILLIS_PER_DAY)) - } - - val start = localDateToDays(LocalDate.of(1, 1, 1)) - val end = localDateToDays(LocalDate.of(2030, 1, 1)) - - var days = start - while (days < end) { - assert(rebaseGregorianToJulianDays(days) === refRebaseGregorianToJulianDays(days)) - days += 1 - } - } - - test("optimization of days rebasing - Julian to Gregorian") { - def refRebaseJulianToGregorianDays(days: Int): Int = { - val utcCal = new Calendar.Builder() - // `gregory` is a hybrid calendar that supports both - // the Julian and Gregorian calendar systems - .setCalendarType("gregory") - .setTimeZone(TimeZoneUTC) - .setInstant(Math.multiplyExact(days, MILLIS_PER_DAY)) - .build() - val localDate = LocalDate.of( - utcCal.get(Calendar.YEAR), - utcCal.get(Calendar.MONTH) + 1, - // The number of days will be added later to handle non-existing - // Julian dates in Proleptic Gregorian calendar. - // For example, 1000-02-29 exists in Julian calendar because 1000 - // is a leap year but it is not a leap year in Gregorian calendar. - 1) - .plusDays(utcCal.get(Calendar.DAY_OF_MONTH) - 1) - Math.toIntExact(localDate.toEpochDay) - } - - val start = rebaseGregorianToJulianDays( - localDateToDays(LocalDate.of(1, 1, 1))) - val end = rebaseGregorianToJulianDays( - localDateToDays(LocalDate.of(2030, 1, 1))) - - var days = start - while (days < end) { - assert(rebaseJulianToGregorianDays(days) === refRebaseJulianToGregorianDays(days)) - days += 1 - } - } - - test("SPARK-31328: rebasing overlapped timestamps during daylight saving time") { - Seq( - LA.getId -> Seq("2019-11-03T08:00:00Z", "2019-11-03T08:30:00Z", "2019-11-03T09:00:00Z"), - "Europe/Amsterdam" -> - Seq("2019-10-27T00:00:00Z", "2019-10-27T00:30:00Z", "2019-10-27T01:00:00Z") - ).foreach { case (tz, ts) => - withDefaultTimeZone(getZoneId(tz)) { - ts.foreach { str => - val micros = instantToMicros(Instant.parse(str)) - assert(rebaseGregorianToJulianMicros(micros) === micros) - assert(rebaseJulianToGregorianMicros(micros) === micros) - } - } - } - } } diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/RebaseDateTimeSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/RebaseDateTimeSuite.scala new file mode 100644 index 0000000000000..dcc80b1d6f3e7 --- /dev/null +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/RebaseDateTimeSuite.scala @@ -0,0 +1,363 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.spark.sql.catalyst.util + +import java.sql.{Date, Timestamp} +import java.time.{Instant, LocalDate, LocalDateTime, ZoneId} +import java.util.{Calendar, TimeZone} + +import org.scalatest.Matchers + +import org.apache.spark.SparkFunSuite +import org.apache.spark.sql.catalyst.plans.SQLHelper +import org.apache.spark.sql.catalyst.util.DateTimeConstants._ +import org.apache.spark.sql.catalyst.util.DateTimeTestUtils._ +import org.apache.spark.sql.catalyst.util.DateTimeUtils._ +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ + +class RebaseDateTimeSuite extends SparkFunSuite with Matchers with SQLHelper { + + private def parseToJulianMicros(s: String): Long = { + val ts = Timestamp.valueOf(s) + val julianMicros = fromMillis(ts.getTime) + + ((ts.getNanos / NANOS_PER_MICROS) % MICROS_PER_MILLIS) + julianMicros + } + + private def parseToGregMicros(s: String, zoneId: ZoneId): Long = { + instantToMicros(LocalDateTime.parse(s).atZone(zoneId).toInstant) + } + + test("rebase julian to/from gregorian micros") { + outstandingZoneIds.foreach { zid => + withDefaultTimeZone(zid) { + Seq( + "0001-01-01 01:02:03.654321", + "1000-01-01 03:02:01.123456", + "1582-10-04 00:00:00.000000", + "1582-10-15 00:00:00.999999", // Gregorian cutover day + "1883-11-10 00:00:00.000000", // America/Los_Angeles -7:52:58 zone offset + "1883-11-20 00:00:00.000000", // America/Los_Angeles -08:00 zone offset + "1969-12-31 11:22:33.000100", + "1970-01-01 00:00:00.000001", // The epoch day + "2020-03-14 09:33:01.500000").foreach { ts => + withClue(s"time zone = ${zid.getId} ts = $ts") { + val julianMicros = parseToJulianMicros(ts) + val gregMicros = parseToGregMicros(ts.replace(' ', 'T'), zid) + + assert(rebaseJulianToGregorianMicros(julianMicros) === gregMicros) + assert(rebaseGregorianToJulianMicros(gregMicros) === julianMicros) + } + } + } + } + } + + // millisToDays() and fromJavaDate() are taken from Spark 2.4 + private def millisToDaysLegacy(millisUtc: Long, timeZone: TimeZone): Int = { + val millisLocal = millisUtc + timeZone.getOffset(millisUtc) + Math.floor(millisLocal.toDouble / MILLIS_PER_DAY).toInt + } + private def fromJavaDateLegacy(date: Date): Int = { + millisToDaysLegacy(date.getTime, defaultTimeZone()) + } + + test("rebase gregorian to/from julian days") { + outstandingZoneIds.foreach { zid => + withDefaultTimeZone(zid) { + Seq( + "0001-01-01", + "1000-01-01", + "1582-10-04", + "1582-10-15", // Gregorian cutover day + "1883-11-10", // America/Los_Angeles -7:52:58 zone offset + "1883-11-20", // America/Los_Angeles -08:00 zone offset + "1969-12-31", + "1970-01-01", // The epoch day + "2020-03-14").foreach { date => + val julianDays = fromJavaDateLegacy(Date.valueOf(date)) + val gregorianDays = localDateToDays(LocalDate.parse(date)) + + assert(rebaseGregorianToJulianDays(gregorianDays) === julianDays) + assert(rebaseJulianToGregorianDays(julianDays) === gregorianDays) + } + } + } + } + + test("rebase julian to gregorian date for leap years") { + outstandingZoneIds.foreach { zid => + withDefaultTimeZone(zid) { + Seq( + "1000-02-29" -> "1000-03-01", + "1600-02-29" -> "1600-02-29", + "1700-02-29" -> "1700-03-01", + "2000-02-29" -> "2000-02-29").foreach { case (julianDate, gregDate) => + withClue(s"tz = ${zid.getId} julian date = $julianDate greg date = $gregDate") { + val date = Date.valueOf(julianDate) + val julianDays = fromJavaDateLegacy(date) + val gregorianDays = localDateToDays(LocalDate.parse(gregDate)) + + assert(rebaseJulianToGregorianDays(julianDays) === gregorianDays) + } + } + } + } + } + + test("rebase julian to gregorian timestamp for leap years") { + outstandingZoneIds.foreach { zid => + withDefaultTimeZone(zid) { + Seq( + "1000-02-29 01:02:03.123456" -> "1000-03-01T01:02:03.123456", + "1600-02-29 11:12:13.654321" -> "1600-02-29T11:12:13.654321", + "1700-02-29 21:22:23.000001" -> "1700-03-01T21:22:23.000001", + "2000-02-29 00:00:00.999999" -> "2000-02-29T00:00:00.999999" + ).foreach { case (julianTs, gregTs) => + withClue(s"tz = ${zid.getId} julian ts = $julianTs greg ts = $gregTs") { + val julianMicros = parseToJulianMicros(julianTs) + val gregorianMicros = parseToGregMicros(gregTs, zid) + + assert(rebaseJulianToGregorianMicros(julianMicros) === gregorianMicros) + } + } + } + } + } + + test("optimization of days rebasing - Gregorian to Julian") { + // Rebasing switch days and diffs `gregJulianDiffSwitchDay` and `gregJulianDiffs` + // in `RebaseDateTime` was generated by using this function. + def refRebaseGregorianToJulianDays(days: Int): Int = { + val localDate = LocalDate.ofEpochDay(days) + val utcCal = new Calendar.Builder() + // `gregory` is a hybrid calendar that supports both + // the Julian and Gregorian calendar systems + .setCalendarType("gregory") + .setTimeZone(TimeZoneUTC) + .setDate(localDate.getYear, localDate.getMonthValue - 1, localDate.getDayOfMonth) + .build() + Math.toIntExact(Math.floorDiv(utcCal.getTimeInMillis, MILLIS_PER_DAY)) + } + + val start = localDateToDays(LocalDate.of(1, 1, 1)) + val end = localDateToDays(LocalDate.of(2030, 1, 1)) + + var days = start + while (days < end) { + assert(rebaseGregorianToJulianDays(days) === refRebaseGregorianToJulianDays(days)) + days += 1 + } + } + + test("optimization of days rebasing - Julian to Gregorian") { + // Rebasing switch days and diffs `julianGregDiffSwitchDay` and `julianGregDiffs` + // in `RebaseDateTime` was generated by using this function. + def refRebaseJulianToGregorianDays(days: Int): Int = { + val utcCal = new Calendar.Builder() + // `gregory` is a hybrid calendar that supports both + // the Julian and Gregorian calendar systems + .setCalendarType("gregory") + .setTimeZone(TimeZoneUTC) + .setInstant(Math.multiplyExact(days, MILLIS_PER_DAY)) + .build() + val localDate = LocalDate.of( + utcCal.get(Calendar.YEAR), + utcCal.get(Calendar.MONTH) + 1, + // The number of days will be added later to handle non-existing + // Julian dates in Proleptic Gregorian calendar. + // For example, 1000-02-29 exists in Julian calendar because 1000 + // is a leap year but it is not a leap year in Gregorian calendar. + 1) + .plusDays(utcCal.get(Calendar.DAY_OF_MONTH) - 1) + Math.toIntExact(localDate.toEpochDay) + } + + val start = rebaseGregorianToJulianDays( + localDateToDays(LocalDate.of(1, 1, 1))) + val end = rebaseGregorianToJulianDays( + localDateToDays(LocalDate.of(2030, 1, 1))) + + var days = start + while (days < end) { + assert(rebaseJulianToGregorianDays(days) === refRebaseJulianToGregorianDays(days)) + days += 1 + } + } + + test("SPARK-31328: rebasing overlapped timestamps during daylight saving time") { + Seq( + LA.getId -> Seq("2019-11-03T08:00:00Z", "2019-11-03T08:30:00Z", "2019-11-03T09:00:00Z"), + "Europe/Amsterdam" -> + Seq("2019-10-27T00:00:00Z", "2019-10-27T00:30:00Z", "2019-10-27T01:00:00Z") + ).foreach { case (tz, ts) => + withDefaultTimeZone(getZoneId(tz)) { + ts.foreach { str => + val micros = instantToMicros(Instant.parse(str)) + assert(rebaseGregorianToJulianMicros(micros) === micros) + assert(rebaseJulianToGregorianMicros(micros) === micros) + } + } + } + } + + test("validate rebase records in JSON files") { + Seq( + "gregorian-julian-rebase-micros.json", + "julian-gregorian-rebase-micros.json").foreach { json => + withClue(s"JSON file = $json") { + val rebaseRecords = loadRebaseRecords(json) + rebaseRecords.foreach { case (_, rebaseRecord) => + assert(rebaseRecord.switches.size === rebaseRecord.diffs.size) + // Check ascending order of switches values + assert(rebaseRecord.switches.toSeq === rebaseRecord.switches.sorted.toSeq) + } + } + } + } + + test("optimization of micros rebasing - Gregorian to Julian") { + outstandingZoneIds.foreach { zid => + withClue(s"zone id = $zid") { + withDefaultTimeZone(zid) { + val start = instantToMicros(LocalDateTime.of(1, 1, 1, 0, 0, 0) + .atZone(zid) + .toInstant) + val end = instantToMicros(LocalDateTime.of(2100, 1, 1, 0, 0, 0) + .atZone(zid) + .toInstant) + var micros = start + do { + val rebased = rebaseGregorianToJulianMicros(zid, micros) + val rebasedAndOptimized = rebaseGregorianToJulianMicros(micros) + assert(rebasedAndOptimized === rebased) + micros += (MICROS_PER_MONTH * (0.5 + Math.random())).toLong + } while (micros <= end) + } + } + } + } + + test("optimization of micros rebasing - Julian to Gregorian") { + outstandingZoneIds.foreach { zid => + withClue(s"zone id = $zid") { + withDefaultTimeZone(zid) { + val start = rebaseGregorianToJulianMicros( + instantToMicros(LocalDateTime.of(1, 1, 1, 0, 0, 0).atZone(zid).toInstant)) + val end = rebaseGregorianToJulianMicros( + instantToMicros(LocalDateTime.of(2100, 1, 1, 0, 0, 0).atZone(zid).toInstant)) + var micros = start + do { + val rebased = rebaseJulianToGregorianMicros(zid, micros) + val rebasedAndOptimized = rebaseJulianToGregorianMicros(micros) + assert(rebasedAndOptimized === rebased) + micros += (MICROS_PER_MONTH * (0.5 + Math.random())).toLong + } while (micros <= end) + } + } + } + } + + private def generateRebaseJson( + adjustFunc: Long => Long, + rebaseFunc: (ZoneId, Long) => Long, + dir: String, + fileName: String): Unit = { + import java.nio.file.{Files, Paths} + import java.nio.file.StandardOpenOption + + import scala.collection.mutable.ArrayBuffer + + import com.fasterxml.jackson.databind.ObjectMapper + import com.fasterxml.jackson.module.scala.{DefaultScalaModule, ScalaObjectMapper} + + case class RebaseRecord(tz: String, switches: Array[Long], diffs: Array[Long]) + + val result = new ArrayBuffer[RebaseRecord]() + // The time zones are excluded because: + // 1. Julian to Gregorian rebasing doesn't match to the opposite rebasing from + // Gregorian to Julian rebasing. + // 2. Linear searching over switch points might be slow. + // 3. Results after the end time point 2100-01-01 are wrong. + // See SPARK-31385 + val blacklist = Set("Asia/Tehran", "Iran", "Africa/Casablanca", "Africa/El_Aaiun") + ALL_TIMEZONES + .filterNot(zid => blacklist.contains(zid.getId)) + .sortBy(_.getId) + .foreach { zid => + withDefaultTimeZone(zid) { + val start = adjustFunc(instantToMicros(LocalDateTime.of(1, 1, 1, 0, 0, 0) + .atZone(zid) + .toInstant)) + val end = adjustFunc(instantToMicros(LocalDateTime.of(2100, 1, 1, 0, 0, 0) + .atZone(zid) + .toInstant)) + + var micros = start + var diff = Long.MaxValue + val maxStep = DAYS_PER_WEEK * MICROS_PER_DAY + var step: Long = MICROS_PER_SECOND + val switches = new ArrayBuffer[Long]() + val diffs = new ArrayBuffer[Long]() + while (micros < end) { + val rebased = rebaseFunc(zid, micros) + val curDiff = rebased - micros + if (curDiff != diff) { + if (step > MICROS_PER_SECOND) { + micros -= step + step = (Math.max(MICROS_PER_SECOND, step / 2) / MICROS_PER_SECOND) * MICROS_PER_SECOND + } else { + diff = curDiff + step = maxStep + assert(diff % MICROS_PER_SECOND == 0) + diffs.append(diff / MICROS_PER_SECOND) + assert(micros % MICROS_PER_SECOND == 0) + switches.append(micros / MICROS_PER_SECOND) + } + } + micros += step + } + result.append(RebaseRecord(zid.getId, switches.toArray, diffs.toArray)) + } + } + val mapper = (new ObjectMapper() with ScalaObjectMapper) + .registerModule(DefaultScalaModule) + .writerWithDefaultPrettyPrinter() + mapper.writeValue( + Files.newOutputStream( + Paths.get(dir, fileName), + StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING), + result.toArray) + } + + ignore("generate 'gregorian-julian-rebase-micros.json'") { + generateRebaseJson( + adjustFunc = identity[Long], + rebaseFunc = rebaseGregorianToJulianMicros, + dir = "/Users/maximgekk/tmp", + fileName = "gregorian-julian-rebase-micros.json") + } + + ignore("generate 'julian-gregorian-rebase-micros.json'") { + generateRebaseJson( + adjustFunc = rebaseGregorianToJulianMicros, + rebaseFunc = rebaseJulianToGregorianMicros, + dir = "/Users/maximgekk/tmp", + fileName = "julian-gregorian-rebase-micros.json") + } +} diff --git a/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt b/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt index 5eb0e6b3134d0..bb7d8b0956d4b 100644 --- a/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt +++ b/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt @@ -6,49 +6,49 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 18597 18597 0 5.4 186.0 1.0X -before 1582, noop 10565 10565 0 9.5 105.7 1.8X -after 1582, rebase off 29811 29811 0 3.4 298.1 0.6X -after 1582, rebase on 31110 31110 0 3.2 311.1 0.6X -before 1582, rebase off 23144 23144 0 4.3 231.4 0.8X -before 1582, rebase on 23689 23689 0 4.2 236.9 0.8X +after 1582, noop 19037 19037 0 5.3 190.4 1.0X +before 1582, noop 11543 11543 0 8.7 115.4 1.6X +after 1582, rebase off 31999 31999 0 3.1 320.0 0.6X +after 1582, rebase on 31657 31657 0 3.2 316.6 0.6X +before 1582, rebase off 23777 23777 0 4.2 237.8 0.8X +before 1582, rebase on 24767 24767 0 4.0 247.7 0.8X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 12944 13064 104 7.7 129.4 1.0X -after 1582, vec off, rebase on 13223 13255 34 7.6 132.2 1.0X -after 1582, vec on, rebase off 3656 3793 219 27.4 36.6 3.5X -after 1582, vec on, rebase on 5176 5205 38 19.3 51.8 2.5X -before 1582, vec off, rebase off 12926 12970 45 7.7 129.3 1.0X -before 1582, vec off, rebase on 13836 13872 40 7.2 138.4 0.9X -before 1582, vec on, rebase off 3664 3672 7 27.3 36.6 3.5X -before 1582, vec on, rebase on 6049 6078 30 16.5 60.5 2.1X +after 1582, vec off, rebase off 12901 13119 211 7.8 129.0 1.0X +after 1582, vec off, rebase on 12968 13078 153 7.7 129.7 1.0X +after 1582, vec on, rebase off 3633 3673 37 27.5 36.3 3.6X +after 1582, vec on, rebase on 4988 5035 42 20.0 49.9 2.6X +before 1582, vec off, rebase off 12767 12856 77 7.8 127.7 1.0X +before 1582, vec off, rebase on 14012 14051 41 7.1 140.1 0.9X +before 1582, vec on, rebase off 3626 3641 15 27.6 36.3 3.6X +before 1582, vec on, rebase on 5388 5458 114 18.6 53.9 2.4X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2831 2831 0 35.3 28.3 1.0X -before 1582, noop 2769 2769 0 36.1 27.7 1.0X -after 1582, rebase off 17296 17296 0 5.8 173.0 0.2X -after 1582, rebase on 81434 81434 0 1.2 814.3 0.0X -before 1582, rebase off 17563 17563 0 5.7 175.6 0.2X -before 1582, rebase on 94977 94977 0 1.1 949.8 0.0X +after 1582, noop 3075 3075 0 32.5 30.7 1.0X +before 1582, noop 3058 3058 0 32.7 30.6 1.0X +after 1582, rebase off 17236 17236 0 5.8 172.4 0.2X +after 1582, rebase on 19237 19237 0 5.2 192.4 0.2X +before 1582, rebase off 17317 17317 0 5.8 173.2 0.2X +before 1582, rebase on 19982 19982 0 5.0 199.8 0.2X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 14824 14920 87 6.7 148.2 1.0X -after 1582, vec off, rebase on 54660 54859 210 1.8 546.6 0.3X -after 1582, vec on, rebase off 4876 4954 69 20.5 48.8 3.0X -after 1582, vec on, rebase on 44509 44573 65 2.2 445.1 0.3X -before 1582, vec off, rebase off 14909 14939 30 6.7 149.1 1.0X -before 1582, vec off, rebase on 56092 56346 326 1.8 560.9 0.3X -before 1582, vec on, rebase off 4846 4858 13 20.6 48.5 3.1X -before 1582, vec on, rebase on 46267 46341 64 2.2 462.7 0.3X +after 1582, vec off, rebase off 14865 14957 142 6.7 148.6 1.0X +after 1582, vec off, rebase on 17154 17190 45 5.8 171.5 0.9X +after 1582, vec on, rebase off 4878 4912 56 20.5 48.8 3.0X +after 1582, vec on, rebase on 8604 8653 42 11.6 86.0 1.7X +before 1582, vec off, rebase off 14891 14929 33 6.7 148.9 1.0X +before 1582, vec off, rebase on 17708 17758 68 5.6 177.1 0.8X +before 1582, vec on, rebase off 4928 4946 17 20.3 49.3 3.0X +before 1582, vec on, rebase on 9147 9152 7 10.9 91.5 1.6X ================================================================================================ @@ -59,36 +59,36 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 18035 18035 0 5.5 180.3 1.0X -before 1582, noop 10571 10571 0 9.5 105.7 1.7X -after 1582 26341 26341 0 3.8 263.4 0.7X -before 1582 19589 19589 0 5.1 195.9 0.9X +after 1582, noop 18943 18943 0 5.3 189.4 1.0X +before 1582, noop 11151 11151 0 9.0 111.5 1.7X +after 1582 26738 26738 0 3.7 267.4 0.7X +before 1582 19636 19636 0 5.1 196.4 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 34955 35025 98 2.9 349.6 1.0X -after 1582, vec on 3892 3942 43 25.7 38.9 9.0X -before 1582, vec off 33360 33457 87 3.0 333.6 1.0X -before 1582, vec on 4514 4526 11 22.2 45.1 7.7X +after 1582, vec off 36176 36378 206 2.8 361.8 1.0X +after 1582, vec on 3802 3829 29 26.3 38.0 9.5X +before 1582, vec off 35815 35882 74 2.8 358.1 1.0X +before 1582, vec on 4163 4174 10 24.0 41.6 8.7X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2867 2867 0 34.9 28.7 1.0X -before 1582, noop 2812 2812 0 35.6 28.1 1.0X -after 1582 57133 57133 0 1.8 571.3 0.1X -before 1582 53435 53435 0 1.9 534.4 0.1X +after 1582, noop 3033 3033 0 33.0 30.3 1.0X +before 1582, noop 3004 3004 0 33.3 30.0 1.0X +after 1582 53907 53907 0 1.9 539.1 0.1X +before 1582 57241 57241 0 1.7 572.4 0.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 38475 38551 127 2.6 384.7 1.0X -after 1582, vec on 31382 31537 136 3.2 313.8 1.2X -before 1582, vec off 42159 42240 128 2.4 421.6 0.9X -before 1582, vec on 34735 35129 393 2.9 347.3 1.1X +after 1582, vec off 38266 38306 66 2.6 382.7 1.0X +after 1582, vec on 30233 30339 162 3.3 302.3 1.3X +before 1582, vec off 43584 43753 259 2.3 435.8 0.9X +before 1582, vec on 35681 35832 140 2.8 356.8 1.1X diff --git a/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt b/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt index cc28244e4c973..a79f6fba92286 100644 --- a/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt +++ b/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt @@ -6,49 +6,49 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 23840 23840 0 4.2 238.4 1.0X -before 1582, noop 10842 10842 0 9.2 108.4 2.2X -after 1582, rebase off 35883 35883 0 2.8 358.8 0.7X -after 1582, rebase on 36090 36090 0 2.8 360.9 0.7X -before 1582, rebase off 23293 23293 0 4.3 232.9 1.0X -before 1582, rebase on 23803 23803 0 4.2 238.0 1.0X +after 1582, noop 24030 24030 0 4.2 240.3 1.0X +before 1582, noop 10900 10900 0 9.2 109.0 2.2X +after 1582, rebase off 35666 35666 0 2.8 356.7 0.7X +after 1582, rebase on 35872 35872 0 2.8 358.7 0.7X +before 1582, rebase off 22131 22131 0 4.5 221.3 1.1X +before 1582, rebase on 22967 22967 0 4.4 229.7 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 12608 12658 43 7.9 126.1 1.0X -after 1582, vec off, rebase on 13385 13585 239 7.5 133.9 0.9X -after 1582, vec on, rebase off 3749 3792 58 26.7 37.5 3.4X -after 1582, vec on, rebase on 5256 5296 49 19.0 52.6 2.4X -before 1582, vec off, rebase off 13015 13140 109 7.7 130.1 1.0X -before 1582, vec off, rebase on 14273 14372 109 7.0 142.7 0.9X -before 1582, vec on, rebase off 3742 3766 22 26.7 37.4 3.4X -before 1582, vec on, rebase on 6068 6076 7 16.5 60.7 2.1X +after 1582, vec off, rebase off 12523 12589 58 8.0 125.2 1.0X +after 1582, vec off, rebase on 13387 13466 86 7.5 133.9 0.9X +after 1582, vec on, rebase off 3646 3678 41 27.4 36.5 3.4X +after 1582, vec on, rebase on 5104 5198 123 19.6 51.0 2.5X +before 1582, vec off, rebase off 13041 13101 98 7.7 130.4 1.0X +before 1582, vec off, rebase on 14077 14104 23 7.1 140.8 0.9X +before 1582, vec on, rebase off 3667 3726 87 27.3 36.7 3.4X +before 1582, vec on, rebase on 5504 5521 21 18.2 55.0 2.3X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2783 2783 0 35.9 27.8 1.0X -before 1582, noop 2783 2783 0 35.9 27.8 1.0X -after 1582, rebase off 17016 17016 0 5.9 170.2 0.2X -after 1582, rebase on 107890 107890 0 0.9 1078.9 0.0X -before 1582, rebase off 17352 17352 0 5.8 173.5 0.2X -before 1582, rebase on 122807 122807 0 0.8 1228.1 0.0X +after 1582, noop 2782 2782 0 36.0 27.8 1.0X +before 1582, noop 2778 2778 0 36.0 27.8 1.0X +after 1582, rebase off 16980 16980 0 5.9 169.8 0.2X +after 1582, rebase on 20023 20023 0 5.0 200.2 0.1X +before 1582, rebase off 17618 17618 0 5.7 176.2 0.2X +before 1582, rebase on 20416 20416 0 4.9 204.2 0.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 15066 15104 38 6.6 150.7 1.0X -after 1582, vec off, rebase on 68057 68312 222 1.5 680.6 0.2X -after 1582, vec on, rebase off 4878 4953 77 20.5 48.8 3.1X -after 1582, vec on, rebase on 57278 57320 41 1.7 572.8 0.3X -before 1582, vec off, rebase off 15293 15389 84 6.5 152.9 1.0X -before 1582, vec off, rebase on 72951 73139 163 1.4 729.5 0.2X -before 1582, vec on, rebase off 4883 4951 78 20.5 48.8 3.1X -before 1582, vec on, rebase on 59369 59543 226 1.7 593.7 0.3X +after 1582, vec off, rebase off 15098 15146 55 6.6 151.0 1.0X +after 1582, vec off, rebase on 18127 18214 86 5.5 181.3 0.8X +after 1582, vec on, rebase off 4936 4984 42 20.3 49.4 3.1X +after 1582, vec on, rebase on 9685 9745 58 10.3 96.8 1.6X +before 1582, vec off, rebase off 15233 15259 25 6.6 152.3 1.0X +before 1582, vec off, rebase on 18710 18727 24 5.3 187.1 0.8X +before 1582, vec on, rebase off 4954 4980 24 20.2 49.5 3.0X +before 1582, vec on, rebase on 10224 10240 22 9.8 102.2 1.5X ================================================================================================ @@ -59,36 +59,36 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 23498 23498 0 4.3 235.0 1.0X -before 1582, noop 10828 10828 0 9.2 108.3 2.2X -after 1582 32267 32267 0 3.1 322.7 0.7X -before 1582 20339 20339 0 4.9 203.4 1.2X +after 1582, noop 23770 23770 0 4.2 237.7 1.0X +before 1582, noop 10939 10939 0 9.1 109.4 2.2X +after 1582 32879 32879 0 3.0 328.8 0.7X +before 1582 20267 20267 0 4.9 202.7 1.2X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 46140 46161 21 2.2 461.4 1.0X -after 1582, vec on 3711 3748 33 26.9 37.1 12.4X -before 1582, vec off 42527 42745 189 2.4 425.3 1.1X -before 1582, vec on 4159 4169 15 24.0 41.6 11.1X +after 1582, vec off 39651 39686 31 2.5 396.5 1.0X +after 1582, vec on 3647 3660 13 27.4 36.5 10.9X +before 1582, vec off 38155 38219 61 2.6 381.6 1.0X +before 1582, vec on 4041 4046 6 24.7 40.4 9.8X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2876 2876 0 34.8 28.8 1.0X -before 1582, noop 2957 2957 0 33.8 29.6 1.0X -after 1582 68393 68393 0 1.5 683.9 0.0X -before 1582 68847 68847 0 1.5 688.5 0.0X +after 1582, noop 2802 2802 0 35.7 28.0 1.0X +before 1582, noop 2797 2797 0 35.8 28.0 1.0X +after 1582 59877 59877 0 1.7 598.8 0.0X +before 1582 61361 61361 0 1.6 613.6 0.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 55967 56011 43 1.8 559.7 1.0X -after 1582, vec on 48930 49156 342 2.0 489.3 1.1X -before 1582, vec off 60544 60863 311 1.7 605.4 0.9X -before 1582, vec on 52539 52665 109 1.9 525.4 1.1X +after 1582, vec off 48197 48288 118 2.1 482.0 1.0X +after 1582, vec on 38247 38351 128 2.6 382.5 1.3X +before 1582, vec off 53179 53359 249 1.9 531.8 0.9X +before 1582, vec on 44076 44268 269 2.3 440.8 1.1X diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java b/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java index f209f7f288f58..79edec315ac2f 100644 --- a/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java +++ b/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java @@ -35,6 +35,7 @@ import org.apache.parquet.schema.PrimitiveType; import org.apache.spark.sql.catalyst.util.DateTimeUtils; +import org.apache.spark.sql.catalyst.util.RebaseDateTime; import org.apache.spark.sql.execution.datasources.SchemaColumnConvertNotSupportedException; import org.apache.spark.sql.execution.vectorized.WritableColumnVector; import org.apache.spark.sql.internal.SQLConf; @@ -426,7 +427,7 @@ private void readIntBatch(int rowId, int num, WritableColumnVector column) throw if (defColumn.readInteger() == maxDefLevel) { column.putInt( rowId + i, - DateTimeUtils.rebaseJulianToGregorianDays(dataColumn.readInteger())); + RebaseDateTime.rebaseJulianToGregorianDays(dataColumn.readInteger())); } else { column.putNull(rowId + i); } @@ -452,7 +453,7 @@ private void readLongBatch(int rowId, int num, WritableColumnVector column) thro if (defColumn.readInteger() == maxDefLevel) { column.putLong( rowId + i, - DateTimeUtils.rebaseJulianToGregorianMicros(dataColumn.readLong())); + RebaseDateTime.rebaseJulianToGregorianMicros(dataColumn.readLong())); } else { column.putNull(rowId + i); } @@ -466,7 +467,7 @@ private void readLongBatch(int rowId, int num, WritableColumnVector column) thro for (int i = 0; i < num; i++) { if (defColumn.readInteger() == maxDefLevel) { long micros = DateTimeUtils.fromMillis(dataColumn.readLong()); - column.putLong(rowId + i, DateTimeUtils.rebaseJulianToGregorianMicros(micros)); + column.putLong(rowId + i, RebaseDateTime.rebaseJulianToGregorianMicros(micros)); } else { column.putNull(rowId + i); } diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DaysWritable.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DaysWritable.scala index 00b710f57d0f8..486f678e49d7d 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DaysWritable.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DaysWritable.scala @@ -23,7 +23,7 @@ import java.sql.Date import org.apache.hadoop.hive.serde2.io.DateWritable import org.apache.hadoop.io.WritableUtils -import org.apache.spark.sql.catalyst.util.DateTimeUtils.{rebaseGregorianToJulianDays, rebaseJulianToGregorianDays} +import org.apache.spark.sql.catalyst.util.RebaseDateTime.{rebaseGregorianToJulianDays, rebaseJulianToGregorianDays} /** * The class accepts/returns days in Gregorian calendar and rebase them diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetRowConverter.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetRowConverter.scala index 18011dbf6cd6b..a5e769c2dc1d2 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetRowConverter.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetRowConverter.scala @@ -35,6 +35,7 @@ import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions._ import org.apache.spark.sql.catalyst.util.{ArrayBasedMapData, CaseInsensitiveMap, DateTimeUtils, GenericArrayData} import org.apache.spark.sql.catalyst.util.DateTimeUtils.SQLTimestamp +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ import org.apache.spark.unsafe.types.UTF8String @@ -277,7 +278,7 @@ private[parquet] class ParquetRowConverter( if (rebaseDateTime) { new ParquetPrimitiveConverter(updater) { override def addLong(value: Long): Unit = { - val rebased = DateTimeUtils.rebaseJulianToGregorianMicros(value) + val rebased = rebaseJulianToGregorianMicros(value) updater.setLong(rebased) } } @@ -294,7 +295,7 @@ private[parquet] class ParquetRowConverter( new ParquetPrimitiveConverter(updater) { override def addLong(value: Long): Unit = { val micros = DateTimeUtils.fromMillis(value) - val rebased = DateTimeUtils.rebaseJulianToGregorianMicros(micros) + val rebased = rebaseJulianToGregorianMicros(micros) updater.setLong(rebased) } } @@ -330,7 +331,7 @@ private[parquet] class ParquetRowConverter( if (rebaseDateTime) { new ParquetPrimitiveConverter(updater) { override def addInt(value: Int): Unit = { - updater.set(DateTimeUtils.rebaseJulianToGregorianDays(value)) + updater.set(rebaseJulianToGregorianDays(value)) } } } else { diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetWriteSupport.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetWriteSupport.scala index 1c4f2978a48d1..409ea88d6e0c3 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetWriteSupport.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetWriteSupport.scala @@ -35,6 +35,7 @@ import org.apache.spark.sql.SPARK_VERSION_METADATA_KEY import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions.SpecializedGetters import org.apache.spark.sql.catalyst.util.DateTimeUtils +import org.apache.spark.sql.catalyst.util.RebaseDateTime._ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ @@ -153,7 +154,7 @@ class ParquetWriteSupport extends WriteSupport[InternalRow] with Logging { case DateType if rebaseDateTime => (row: SpecializedGetters, ordinal: Int) => - val rebasedDays = DateTimeUtils.rebaseGregorianToJulianDays(row.getInt(ordinal)) + val rebasedDays = rebaseGregorianToJulianDays(row.getInt(ordinal)) recordConsumer.addInteger(rebasedDays) case IntegerType | DateType => @@ -188,7 +189,7 @@ class ParquetWriteSupport extends WriteSupport[InternalRow] with Logging { case SQLConf.ParquetOutputTimestampType.TIMESTAMP_MICROS if rebaseDateTime => (row: SpecializedGetters, ordinal: Int) => - val rebasedMicros = DateTimeUtils.rebaseGregorianToJulianMicros(row.getLong(ordinal)) + val rebasedMicros = rebaseGregorianToJulianMicros(row.getLong(ordinal)) recordConsumer.addLong(rebasedMicros) case SQLConf.ParquetOutputTimestampType.TIMESTAMP_MICROS => @@ -197,7 +198,7 @@ class ParquetWriteSupport extends WriteSupport[InternalRow] with Logging { case SQLConf.ParquetOutputTimestampType.TIMESTAMP_MILLIS if rebaseDateTime => (row: SpecializedGetters, ordinal: Int) => - val rebasedMicros = DateTimeUtils.rebaseGregorianToJulianMicros(row.getLong(ordinal)) + val rebasedMicros = rebaseGregorianToJulianMicros(row.getLong(ordinal)) val millis = DateTimeUtils.toMillis(rebasedMicros) recordConsumer.addLong(millis) diff --git a/sql/core/v1.2/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java b/sql/core/v1.2/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java index 5dc3f3743ce91..6601bcb9018f4 100644 --- a/sql/core/v1.2/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java +++ b/sql/core/v1.2/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java @@ -22,6 +22,7 @@ import org.apache.orc.storage.ql.exec.vector.*; import org.apache.spark.sql.catalyst.util.DateTimeUtils; +import org.apache.spark.sql.catalyst.util.RebaseDateTime; import org.apache.spark.sql.types.DataType; import org.apache.spark.sql.types.DateType; import org.apache.spark.sql.types.Decimal; @@ -140,7 +141,7 @@ public short getShort(int rowId) { public int getInt(int rowId) { int value = (int) longData.vector[getRowIndex(rowId)]; if (isDate) { - return DateTimeUtils.rebaseJulianToGregorianDays(value); + return RebaseDateTime.rebaseJulianToGregorianDays(value); } else { return value; } diff --git a/sql/core/v1.2/src/main/scala/org/apache/spark/sql/execution/datasources/orc/DaysWritable.scala b/sql/core/v1.2/src/main/scala/org/apache/spark/sql/execution/datasources/orc/DaysWritable.scala index 4934a9650eee1..1dccf0ca1faef 100644 --- a/sql/core/v1.2/src/main/scala/org/apache/spark/sql/execution/datasources/orc/DaysWritable.scala +++ b/sql/core/v1.2/src/main/scala/org/apache/spark/sql/execution/datasources/orc/DaysWritable.scala @@ -23,7 +23,7 @@ import java.sql.Date import org.apache.hadoop.io.WritableUtils import org.apache.orc.storage.serde2.io.DateWritable -import org.apache.spark.sql.catalyst.util.DateTimeUtils.{rebaseGregorianToJulianDays, rebaseJulianToGregorianDays} +import org.apache.spark.sql.catalyst.util.RebaseDateTime.{rebaseGregorianToJulianDays, rebaseJulianToGregorianDays} /** * The class accepts/returns days in Gregorian calendar and rebase them diff --git a/sql/core/v2.3/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java b/sql/core/v2.3/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java index 7be4a6f6c72c8..6e55fedfc4deb 100644 --- a/sql/core/v2.3/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java +++ b/sql/core/v2.3/src/main/java/org/apache/spark/sql/execution/datasources/orc/OrcColumnVector.java @@ -22,6 +22,7 @@ import org.apache.hadoop.hive.ql.exec.vector.*; import org.apache.spark.sql.catalyst.util.DateTimeUtils; +import org.apache.spark.sql.catalyst.util.RebaseDateTime; import org.apache.spark.sql.types.DataType; import org.apache.spark.sql.types.DateType; import org.apache.spark.sql.types.Decimal; @@ -140,7 +141,7 @@ public short getShort(int rowId) { public int getInt(int rowId) { int value = (int) longData.vector[getRowIndex(rowId)]; if (isDate) { - return DateTimeUtils.rebaseJulianToGregorianDays(value); + return RebaseDateTime.rebaseJulianToGregorianDays(value); } else { return value; }