diff --git a/src/tzonedb/Makefile b/src/tzonedb/Makefile index bf4d4c587..7e6d5b85a 100644 --- a/src/tzonedb/Makefile +++ b/src/tzonedb/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2022g +TZ_VERSION := 2023b START_YEAR := 1980 UNTIL_YEAR := 10000 diff --git a/src/tzonedb/zone_infos.cpp b/src/tzonedb/zone_infos.cpp index a1f546ffc..b54c80fb9 100644 --- a/src/tzonedb/zone_infos.cpp +++ b/src/tzonedb/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] @@ -81,7 +81,7 @@ namespace tzonedb { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2022g"; +const char kTzDatabaseVersion[] = "2023b"; const char* const kFragments[] = { /*\x00*/ nullptr, diff --git a/src/tzonedb/zone_infos.h b/src/tzonedb/zone_infos.h index 5e61ae760..f98f070a0 100644 --- a/src/tzonedb/zone_infos.h +++ b/src/tzonedb/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] @@ -155,7 +155,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 //--------------------------------------------------------------------------- -// Unsupported zones: 340 +// Unsupported zones: 339 //--------------------------------------------------------------------------- // Africa/Abidjan {Zone missing from include list} @@ -288,7 +288,6 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // America/Tijuana {Zone missing from include list} // America/Whitehorse {UNTIL contains month/day/time} // America/Yakutat {Zone missing from include list} -// America/Yellowknife {Zone missing from include list} // Antarctica/Casey {Zone missing from include list} // Antarctica/Davis {Zone missing from include list} // Antarctica/Macquarie {Zone missing from include list} @@ -508,7 +507,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 //--------------------------------------------------------------------------- -// Unsupported links: 244 +// Unsupported links: 245 //--------------------------------------------------------------------------- // Africa/Accra {Link missing from include list} @@ -593,6 +592,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // America/Thunder_Bay {Link missing from include list} // America/Tortola {Link missing from include list} // America/Virgin {Link missing from include list} +// America/Yellowknife {Link missing from include list} // Antarctica/DumontDUrville {Link missing from include list} // Antarctica/McMurdo {Link missing from include list} // Antarctica/South_Pole {Link missing from include list} diff --git a/src/tzonedb/zone_policies.cpp b/src/tzonedb/zone_policies.cpp index 0c365a791..f81197652 100644 --- a/src/tzonedb/zone_policies.cpp +++ b/src/tzonedb/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] diff --git a/src/tzonedb/zone_policies.h b/src/tzonedb/zone_policies.h index f25f37abd..6913fb45a 100644 --- a/src/tzonedb/zone_policies.h +++ b/src/tzonedb/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] diff --git a/src/tzonedb/zone_registry.cpp b/src/tzonedb/zone_registry.cpp index 2063d93f4..c0bf8aba6 100644 --- a/src/tzonedb/zone_registry.cpp +++ b/src/tzonedb/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] diff --git a/src/tzonedb/zone_registry.h b/src/tzonedb/zone_registry.h index ba700b585..d7d8abed3 100644 --- a/src/tzonedb/zone_registry.h +++ b/src/tzonedb/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (339 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2007] diff --git a/src/tzonedbx/Makefile b/src/tzonedbx/Makefile index 98c2db9c3..293a72849 100644 --- a/src/tzonedbx/Makefile +++ b/src/tzonedbx/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2022g +TZ_VERSION := 2023b START_YEAR := 1980 UNTIL_YEAR := 10000 diff --git a/src/tzonedbx/zone_infos.cpp b/src/tzonedbx/zone_infos.cpp index ab25df03a..74ba69d00 100644 --- a/src/tzonedbx/zone_infos.cpp +++ b/src/tzonedbx/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] @@ -81,7 +81,7 @@ namespace tzonedbx { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2022g"; +const char kTzDatabaseVersion[] = "2023b"; const char* const kFragments[] = { /*\x00*/ nullptr, diff --git a/src/tzonedbx/zone_infos.h b/src/tzonedbx/zone_infos.h index 6c2c90aa1..e8825dea2 100644 --- a/src/tzonedbx/zone_infos.h +++ b/src/tzonedbx/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] @@ -167,7 +167,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 //--------------------------------------------------------------------------- -// Unsupported zones: 336 +// Unsupported zones: 335 //--------------------------------------------------------------------------- // Africa/Abidjan {Zone missing from include list} @@ -297,7 +297,6 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // America/Thule {Zone missing from include list} // America/Tijuana {Zone missing from include list} // America/Yakutat {Zone missing from include list} -// America/Yellowknife {Zone missing from include list} // Antarctica/Casey {Zone missing from include list} // Antarctica/Davis {Zone missing from include list} // Antarctica/Macquarie {Zone missing from include list} @@ -525,7 +524,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 //--------------------------------------------------------------------------- -// Unsupported links: 244 +// Unsupported links: 245 //--------------------------------------------------------------------------- // Africa/Accra {Link missing from include list} @@ -610,6 +609,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // America/Thunder_Bay {Link missing from include list} // America/Tortola {Link missing from include list} // America/Virgin {Link missing from include list} +// America/Yellowknife {Link missing from include list} // Antarctica/DumontDUrville {Link missing from include list} // Antarctica/McMurdo {Link missing from include list} // Antarctica/South_Pole {Link missing from include list} diff --git a/src/tzonedbx/zone_policies.cpp b/src/tzonedbx/zone_policies.cpp index 0a1337978..7c0754cf1 100644 --- a/src/tzonedbx/zone_policies.cpp +++ b/src/tzonedbx/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] @@ -803,13 +803,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2023 only - Apr 30 2:00 0 - + // Rule Morocco 2023 only - Apr 23 2:00 0 - { 2023 /*fromYear*/, 2023 /*toYear*/, 4 /*inMonth*/, 0 /*onDayOfWeek*/, - 30 /*onDayOfMonth*/, + 23 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -995,13 +995,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2031 only - Feb 2 2:00 0 - + // Rule Morocco 2031 only - Jan 26 2:00 0 - { 2031 /*fromYear*/, 2031 /*toYear*/, - 2 /*inMonth*/, + 1 /*inMonth*/, 0 /*onDayOfWeek*/, - 2 /*onDayOfMonth*/, + 26 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -1187,13 +1187,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2038 only - Nov 7 2:00 0 - + // Rule Morocco 2038 only - Oct 31 2:00 0 - { 2038 /*fromYear*/, 2038 /*toYear*/, - 11 /*inMonth*/, + 10 /*inMonth*/, 0 /*onDayOfWeek*/, - 7 /*onDayOfMonth*/, + 31 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -1379,13 +1379,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2046 only - Aug 12 2:00 0 - + // Rule Morocco 2046 only - Aug 5 2:00 0 - { 2046 /*fromYear*/, 2046 /*toYear*/, 8 /*inMonth*/, 0 /*onDayOfWeek*/, - 12 /*onDayOfMonth*/, + 5 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -1571,13 +1571,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2054 only - May 17 2:00 0 - + // Rule Morocco 2054 only - May 10 2:00 0 - { 2054 /*fromYear*/, 2054 /*toYear*/, 5 /*inMonth*/, 0 /*onDayOfWeek*/, - 17 /*onDayOfMonth*/, + 10 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -1763,13 +1763,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2062 only - Feb 19 2:00 0 - + // Rule Morocco 2062 only - Feb 12 2:00 0 - { 2062 /*fromYear*/, 2062 /*toYear*/, 2 /*inMonth*/, 0 /*onDayOfWeek*/, - 19 /*onDayOfMonth*/, + 12 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -1955,13 +1955,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2069 only - Nov 24 2:00 0 - + // Rule Morocco 2069 only - Nov 17 2:00 0 - { 2069 /*fromYear*/, 2069 /*toYear*/, 11 /*inMonth*/, 0 /*onDayOfWeek*/, - 24 /*onDayOfMonth*/, + 17 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -2147,13 +2147,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2077 only - Aug 29 2:00 0 - + // Rule Morocco 2077 only - Aug 22 2:00 0 - { 2077 /*fromYear*/, 2077 /*toYear*/, 8 /*inMonth*/, 0 /*onDayOfWeek*/, - 29 /*onDayOfMonth*/, + 22 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -2267,13 +2267,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2082 only - Jul 5 2:00 0 - + // Rule Morocco 2082 only - Jun 28 2:00 0 - { 2082 /*fromYear*/, 2082 /*toYear*/, - 7 /*inMonth*/, + 6 /*inMonth*/, 0 /*onDayOfWeek*/, - 5 /*onDayOfMonth*/, + 28 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -2339,13 +2339,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2085 only - Jun 3 2:00 0 - + // Rule Morocco 2085 only - May 27 2:00 0 - { 2085 /*fromYear*/, 2085 /*toYear*/, - 6 /*inMonth*/, + 5 /*inMonth*/, 0 /*onDayOfWeek*/, - 3 /*onDayOfMonth*/, + 27 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, diff --git a/src/tzonedbx/zone_policies.h b/src/tzonedbx/zone_policies.h index 3dfa718eb..f27e47b52 100644 --- a/src/tzonedbx/zone_policies.h +++ b/src/tzonedbx/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] diff --git a/src/tzonedbx/zone_registry.cpp b/src/tzonedbx/zone_registry.cpp index 6ce26512e..24a219d8e 100644 --- a/src/tzonedbx/zone_registry.cpp +++ b/src/tzonedbx/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] diff --git a/src/tzonedbx/zone_registry.h b/src/tzonedbx/zone_registry.h index 79ec3dfd0..756d41303 100644 --- a/src/tzonedbx/zone_registry.h +++ b/src/tzonedbx/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/tzonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/tzonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -26,10 +26,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (335 zones, 245 links) // // Original Years: [1844,2087] // Generated Years: [1945,2087] diff --git a/src/zonedb/Makefile b/src/zonedb/Makefile index cddae4ca8..fd0dc7553 100644 --- a/src/zonedb/Makefile +++ b/src/zonedb/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2022g +TZ_VERSION := 2023b START_YEAR := 2000 UNTIL_YEAR := 10000 diff --git a/src/zonedb/zone_infos.cpp b/src/zonedb/zone_infos.cpp index 1485399fd..4760f41d5 100644 --- a/src/zonedb/zone_infos.cpp +++ b/src/zonedb/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -78,7 +78,7 @@ namespace zonedb { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2022g"; +const char kTzDatabaseVersion[] = "2023b"; const char* const kFragments[] = { /*\x00*/ nullptr, @@ -115,8 +115,8 @@ const internal::ZoneContext kZoneContext = { }; //--------------------------------------------------------------------------- -// Zones: 227 -// Eras: 239 +// Zones: 226 +// Eras: 238 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -2667,38 +2667,6 @@ const basic::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: America/Yellowknife -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = { - // -7:00 Canada M%sT - { - &kZonePolicyCanada /*zonePolicy*/, - "M%T" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife"; - -const basic::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = { - kZoneNameAmerica_Yellowknife /*name*/, - 0x0f76c76f /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraAmerica_Yellowknife /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Antarctica/Rothera // Eras: 1 @@ -7530,7 +7498,7 @@ const basic::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- -// Links: 219 +// Links: 220 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -8568,6 +8536,21 @@ const basic::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = { &kZoneAmerica_Puerto_Rico /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: America/Yellowknife -> America/Edmonton +//--------------------------------------------------------------------------- + +static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife"; + +const basic::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = { + kZoneNameAmerica_Yellowknife /*name*/, + 0x0f76c76f /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Edmonton /*eras*/, + &kZoneAmerica_Edmonton /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby //--------------------------------------------------------------------------- diff --git a/src/zonedb/zone_infos.h b/src/zonedb/zone_infos.h index d17137376..c04669a8d 100644 --- a/src/zonedb/zone_infos.h +++ b/src/zonedb/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -86,8 +86,8 @@ extern const char kTzDatabaseVersion[]; extern const internal::ZoneContext kZoneContext; //--------------------------------------------------------------------------- -// Supported zones: 227 -// Supported eras: 239 +// Supported zones: 226 +// Supported eras: 238 //--------------------------------------------------------------------------- extern const basic::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan @@ -167,7 +167,6 @@ extern const basic::ZoneInfo kZoneAmerica_Toronto; // America/Toronto extern const basic::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver extern const basic::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg extern const basic::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat -extern const basic::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife extern const basic::ZoneInfo kZoneAntarctica_Rothera; // Antarctica/Rothera extern const basic::ZoneInfo kZoneAsia_Ashgabat; // Asia/Ashgabat extern const basic::ZoneInfo kZoneAsia_Baghdad; // Asia/Baghdad @@ -398,7 +397,6 @@ const uint32_t kZoneIdAmerica_Toronto = 0x792e851b; // America/Toronto const uint32_t kZoneIdAmerica_Vancouver = 0x2c6f6b1f; // America/Vancouver const uint32_t kZoneIdAmerica_Winnipeg = 0x8c7dafc7; // America/Winnipeg const uint32_t kZoneIdAmerica_Yakutat = 0xd8ee31e9; // America/Yakutat -const uint32_t kZoneIdAmerica_Yellowknife = 0x0f76c76f; // America/Yellowknife const uint32_t kZoneIdAntarctica_Rothera = 0x0e86d203; // Antarctica/Rothera const uint32_t kZoneIdAsia_Ashgabat = 0xba87598d; // Asia/Ashgabat const uint32_t kZoneIdAsia_Baghdad = 0x9ceffbed; // Asia/Baghdad @@ -551,7 +549,7 @@ const uint32_t kZoneIdWET = 0x0b882e35; // WET //--------------------------------------------------------------------------- -// Supported links: 219 +// Supported links: 220 //--------------------------------------------------------------------------- extern const basic::ZoneInfo kZoneAfrica_Accra; // Africa/Accra -> Africa/Abidjan @@ -623,6 +621,7 @@ extern const basic::ZoneInfo kZoneAmerica_St_Vincent; // America/St_Vincent -> A extern const basic::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay -> America/Toronto extern const basic::ZoneInfo kZoneAmerica_Tortola; // America/Tortola -> America/Puerto_Rico extern const basic::ZoneInfo kZoneAmerica_Virgin; // America/Virgin -> America/Puerto_Rico +extern const basic::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife -> America/Edmonton extern const basic::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville -> Pacific/Port_Moresby extern const basic::ZoneInfo kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland extern const basic::ZoneInfo kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland @@ -846,6 +845,7 @@ const uint32_t kZoneIdAmerica_St_Vincent = 0x8460e523; // America/St_Vincent const uint32_t kZoneIdAmerica_Thunder_Bay = 0xf962e71b; // America/Thunder_Bay const uint32_t kZoneIdAmerica_Tortola = 0x7931462b; // America/Tortola const uint32_t kZoneIdAmerica_Virgin = 0xc2183ab5; // America/Virgin +const uint32_t kZoneIdAmerica_Yellowknife = 0x0f76c76f; // America/Yellowknife const uint32_t kZoneIdAntarctica_DumontDUrville = 0x5a3c656c; // Antarctica/DumontDUrville const uint32_t kZoneIdAntarctica_McMurdo = 0x6eeb5585; // Antarctica/McMurdo const uint32_t kZoneIdAntarctica_South_Pole = 0xcd96b290; // Antarctica/South_Pole @@ -1083,7 +1083,6 @@ const uint8_t kZoneBufSizeAmerica_Toronto = 6; // America/Toronto in 2008 const uint8_t kZoneBufSizeAmerica_Vancouver = 6; // America/Vancouver in 2008 const uint8_t kZoneBufSizeAmerica_Winnipeg = 6; // America/Winnipeg in 2006 const uint8_t kZoneBufSizeAmerica_Yakutat = 6; // America/Yakutat in 2008 -const uint8_t kZoneBufSizeAmerica_Yellowknife = 6; // America/Yellowknife in 2008 const uint8_t kZoneBufSizeAntarctica_Rothera = 1; // Antarctica/Rothera in 1949 const uint8_t kZoneBufSizeAsia_Ashgabat = 1; // Asia/Ashgabat in 1949 const uint8_t kZoneBufSizeAsia_Baghdad = 4; // Asia/Baghdad in 1991 diff --git a/src/zonedb/zone_policies.cpp b/src/zonedb/zone_policies.cpp index 0c3bf8b3d..04430f77b 100644 --- a/src/zonedb/zone_policies.cpp +++ b/src/zonedb/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -75,7 +75,7 @@ namespace zonedb { //--------------------------------------------------------------------------- // Policies: 63 -// Rules: 362 +// Rules: 364 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -3306,7 +3306,7 @@ const basic::ZonePolicy kZonePolicyLH ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Lebanon -// Rules: 4 +// Rules: 6 //--------------------------------------------------------------------------- static const basic::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { @@ -3322,10 +3322,10 @@ static const basic::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S + // Rule Lebanon 1993 2022 - Mar lastSun 0:00 1:00 S { 1993 /*fromYear*/, - 32766 /*toYear*/, + 2022 /*toYear*/, 3 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -3358,12 +3358,36 @@ static const basic::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, + // Rule Lebanon 2023 only - Apr 21 0:00 1:00 S + { + 2023 /*fromYear*/, + 2023 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 21 /*onDayOfMonth*/, + 0 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 2 /*letterIndex ("S")*/, + }, + // Rule Lebanon 2024 max - Mar lastSun 0:00 1:00 S + { + 2024 /*fromYear*/, + 32766 /*toYear*/, + 3 /*inMonth*/, + 7 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, + 0 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 2 /*letterIndex ("S")*/, + }, }; const basic::ZonePolicy kZonePolicyLebanon ACE_TIME_PROGMEM = { kZoneRulesLebanon /*rules*/, - 4 /*numRules*/, + 6 /*numRules*/, }; //--------------------------------------------------------------------------- diff --git a/src/zonedb/zone_policies.h b/src/zonedb/zone_policies.h index 42b4d426b..d8c314355 100644 --- a/src/zonedb/zone_policies.h +++ b/src/zonedb/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -77,7 +77,7 @@ namespace zonedb { //--------------------------------------------------------------------------- // Supported policies: 63 -// Supported rules: 362 +// Supported rules: 364 //--------------------------------------------------------------------------- extern const basic::ZonePolicy kZonePolicyAN; @@ -192,7 +192,7 @@ extern const basic::ZonePolicy kZonePolicyZion; // NT_YK {unused} // NYC {unused} // Namibia {LETTER 'CAT' too long} -// Palestine {Found 2 transitions in year/month '2011-08'} +// Palestine {Found 2 transitions in year/month '2040-10'} // Perry {unused} // Pike {unused} // Poland {unused} diff --git a/src/zonedb/zone_registry.cpp b/src/zonedb/zone_registry.cpp index 4dee01226..af074d064 100644 --- a/src/zonedb/zone_registry.cpp +++ b/src/zonedb/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -77,7 +77,7 @@ namespace zonedb { //--------------------------------------------------------------------------- // Zone Info registry. Sorted by zoneId. //--------------------------------------------------------------------------- -const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { +const basic::ZoneInfo* const kZoneRegistry[226] ACE_TIME_PROGMEM = { &kZoneAsia_Jakarta, // 0x0506ab50, Asia/Jakarta &kZoneAmerica_Mazatlan, // 0x0532189e, America/Mazatlan &kZoneAmerica_Hermosillo, // 0x065d21c4, America/Hermosillo @@ -91,7 +91,6 @@ const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera - &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife &kZoneAustralia_Melbourne, // 0x0fe559a3, Australia/Melbourne &kZoneAmerica_Sao_Paulo, // 0x1063bfc9, America/Sao_Paulo &kZoneAmerica_Indiana_Vevay, // 0x10aca054, America/Indiana/Vevay @@ -351,7 +350,7 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZoneJapan, // 0x0d712f8f, Japan -> Asia/Tokyo &kZoneKwajalein, // 0x0e57afbb, Kwajalein -> Pacific/Kwajalein &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera - &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife + &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife -> America/Edmonton &kZoneAustralia_Melbourne, // 0x0fe559a3, Australia/Melbourne &kZoneAmerica_Sao_Paulo, // 0x1063bfc9, America/Sao_Paulo &kZoneEurope_Amsterdam, // 0x109395c2, Europe/Amsterdam -> Europe/Brussels diff --git a/src/zonedb/zone_registry.h b/src/zonedb/zone_registry.h index 67ba275a5..66e81a477 100644 --- a/src/zonedb/zone_registry.h +++ b/src/zonedb/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope basic @@ -23,47 +23,47 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 446 (227 zones, 219 links) +// Supported Zones: 446 (226 zones, 220 links) // Unsupported Zones: 150 (124 zones, 26 links) // // Original Years: [1844,2087] -// Generated Years: [1950,2023] -// Estimator Years: [1950,2025] +// Generated Years: [1950,2024] +// Estimator Years: [1950,2026] // Max Buffer Size: 6 // // Records: // Infos: 446 -// Eras: 239 +// Eras: 238 // Policies: 63 -// Rules: 362 +// Rules: 364 // // Memory (8-bits): -// Rules: 3982 +// Rules: 4004 // Policies: 189 -// Eras: 2868 -// Zones: 2951 -// Links: 2847 +// Eras: 2856 +// Zones: 2938 +// Links: 2860 // Registry: 892 // Formats: 465 // Letters: 11 // Fragments: 116 // Names: 4144 (original: 6503) -// TOTAL: 18465 +// TOTAL: 18475 // // Memory (32-bits): -// Rules: 4344 +// Rules: 4368 // Policies: 504 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 +// Eras: 3808 +// Zones: 5424 +// Links: 5280 // Registry: 1784 // Formats: 465 // Letters: 17 // Fragments: 138 // Names: 4144 (original: 6503) -// TOTAL: 25924 +// TOTAL: 25932 // // DO NOT EDIT @@ -76,8 +76,8 @@ namespace ace_time { namespace zonedb { // Zones -const uint16_t kZoneRegistrySize = 227; -extern const basic::ZoneInfo* const kZoneRegistry[227]; +const uint16_t kZoneRegistrySize = 226; +extern const basic::ZoneInfo* const kZoneRegistry[226]; // Zones and Links const uint16_t kZoneAndLinkRegistrySize = 446; diff --git a/src/zonedbx/Makefile b/src/zonedbx/Makefile index 876b558da..6d8359e21 100644 --- a/src/zonedbx/Makefile +++ b/src/zonedbx/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2022g +TZ_VERSION := 2023b START_YEAR := 2000 UNTIL_YEAR := 10000 diff --git a/src/zonedbx/zone_infos.cpp b/src/zonedbx/zone_infos.cpp index b350c2a5e..814a1a28c 100644 --- a/src/zonedbx/zone_infos.cpp +++ b/src/zonedbx/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -78,7 +78,7 @@ namespace zonedbx { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2022g"; +const char kTzDatabaseVersion[] = "2023b"; const char* const kFragments[] = { /*\x00*/ nullptr, @@ -124,8 +124,8 @@ const internal::ZoneContext kZoneContext = { }; //--------------------------------------------------------------------------- -// Zones: 351 -// Eras: 647 +// Zones: 350 +// Eras: 646 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -5122,22 +5122,22 @@ const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { - // -3:00 EU -03/-02 2023 Mar 25 22:00 + // -3:00 EU -03/-02 2023 Oct 29 1:00u { &kZonePolicyEU /*zonePolicy*/, "-03/-02" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2023 /*untilYear*/, - 3 /*untilMonth*/, - 25 /*untilDay*/, - 88 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, + 10 /*untilMonth*/, + 29 /*untilDay*/, + 4 /*untilTimeCode*/, + 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // -2:00 - -02 + // -2:00 EU -02/-01 { - nullptr /*zonePolicy*/, - "-02" /*format*/, + &kZonePolicyEU /*zonePolicy*/, + "-02/-01" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 32767 /*untilYear*/, @@ -6388,38 +6388,6 @@ const extended::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: America/Yellowknife -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = { - // -7:00 Canada M%sT - { - &kZonePolicyCanada /*zonePolicy*/, - "M%T" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife"; - -const extended::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = { - kZoneNameAmerica_Yellowknife /*name*/, - 0x0f76c76f /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraAmerica_Yellowknife /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Antarctica/Casey // Eras: 12 @@ -12506,10 +12474,10 @@ const extended::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "MSK/MSD" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2011 /*untilYear*/, @@ -12518,10 +12486,10 @@ static const extended::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - MSK 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "MSK" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2014 /*untilYear*/, @@ -12530,10 +12498,10 @@ static const extended::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - MSK { nullptr /*zonePolicy*/, - "+03" /*format*/, + "MSK" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 32767 /*untilYear*/, @@ -13430,10 +13398,10 @@ const extended::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "MSK/MSD" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2011 /*untilYear*/, @@ -13442,10 +13410,10 @@ static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - MSK 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "MSK" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2014 /*untilYear*/, @@ -13454,10 +13422,10 @@ static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 2018 Oct 28 2:00s + // 3:00 - MSK 2018 Oct 28 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "MSK" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 2018 /*untilYear*/, @@ -13478,10 +13446,10 @@ static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - MSK { nullptr /*zonePolicy*/, - "+03" /*format*/, + "MSK" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 32767 /*untilYear*/, @@ -14915,7 +14883,7 @@ const extended::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- -// Links: 245 +// Links: 246 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -16148,6 +16116,21 @@ const extended::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = { &kZoneAmerica_Puerto_Rico /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: America/Yellowknife -> America/Edmonton +//--------------------------------------------------------------------------- + +static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife"; + +const extended::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = { + kZoneNameAmerica_Yellowknife /*name*/, + 0x0f76c76f /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Edmonton /*eras*/, + &kZoneAmerica_Edmonton /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby //--------------------------------------------------------------------------- diff --git a/src/zonedbx/zone_infos.h b/src/zonedbx/zone_infos.h index 9420dabd6..a7fa0c98f 100644 --- a/src/zonedbx/zone_infos.h +++ b/src/zonedbx/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -86,8 +86,8 @@ extern const char kTzDatabaseVersion[]; extern const internal::ZoneContext kZoneContext; //--------------------------------------------------------------------------- -// Supported zones: 351 -// Supported eras: 647 +// Supported zones: 350 +// Supported eras: 646 //--------------------------------------------------------------------------- extern const extended::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan @@ -229,7 +229,6 @@ extern const extended::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver extern const extended::ZoneInfo kZoneAmerica_Whitehorse; // America/Whitehorse extern const extended::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg extern const extended::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat -extern const extended::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife extern const extended::ZoneInfo kZoneAntarctica_Casey; // Antarctica/Casey extern const extended::ZoneInfo kZoneAntarctica_Davis; // Antarctica/Davis extern const extended::ZoneInfo kZoneAntarctica_Macquarie; // Antarctica/Macquarie @@ -584,7 +583,6 @@ const uint32_t kZoneIdAmerica_Vancouver = 0x2c6f6b1f; // America/Vancouver const uint32_t kZoneIdAmerica_Whitehorse = 0x54e0e3e8; // America/Whitehorse const uint32_t kZoneIdAmerica_Winnipeg = 0x8c7dafc7; // America/Winnipeg const uint32_t kZoneIdAmerica_Yakutat = 0xd8ee31e9; // America/Yakutat -const uint32_t kZoneIdAmerica_Yellowknife = 0x0f76c76f; // America/Yellowknife const uint32_t kZoneIdAntarctica_Casey = 0xe2022583; // Antarctica/Casey const uint32_t kZoneIdAntarctica_Davis = 0xe2144b45; // Antarctica/Davis const uint32_t kZoneIdAntarctica_Macquarie = 0x92f47626; // Antarctica/Macquarie @@ -799,7 +797,7 @@ const uint32_t kZoneIdWET = 0x0b882e35; // WET //--------------------------------------------------------------------------- -// Supported links: 245 +// Supported links: 246 //--------------------------------------------------------------------------- extern const extended::ZoneInfo kZoneAfrica_Accra; // Africa/Accra -> Africa/Abidjan @@ -884,6 +882,7 @@ extern const extended::ZoneInfo kZoneAmerica_St_Vincent; // America/St_Vincent - extern const extended::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay -> America/Toronto extern const extended::ZoneInfo kZoneAmerica_Tortola; // America/Tortola -> America/Puerto_Rico extern const extended::ZoneInfo kZoneAmerica_Virgin; // America/Virgin -> America/Puerto_Rico +extern const extended::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife -> America/Edmonton extern const extended::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville -> Pacific/Port_Moresby extern const extended::ZoneInfo kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland extern const extended::ZoneInfo kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland @@ -1133,6 +1132,7 @@ const uint32_t kZoneIdAmerica_St_Vincent = 0x8460e523; // America/St_Vincent const uint32_t kZoneIdAmerica_Thunder_Bay = 0xf962e71b; // America/Thunder_Bay const uint32_t kZoneIdAmerica_Tortola = 0x7931462b; // America/Tortola const uint32_t kZoneIdAmerica_Virgin = 0xc2183ab5; // America/Virgin +const uint32_t kZoneIdAmerica_Yellowknife = 0x0f76c76f; // America/Yellowknife const uint32_t kZoneIdAntarctica_DumontDUrville = 0x5a3c656c; // Antarctica/DumontDUrville const uint32_t kZoneIdAntarctica_McMurdo = 0x6eeb5585; // Antarctica/McMurdo const uint32_t kZoneIdAntarctica_South_Pole = 0xcd96b290; // Antarctica/South_Pole @@ -1415,7 +1415,7 @@ const uint8_t kZoneBufSizeAmerica_Noronha = 5; // America/Noronha in 1999 const uint8_t kZoneBufSizeAmerica_North_Dakota_Beulah = 6; // America/North_Dakota/Beulah in 2008 const uint8_t kZoneBufSizeAmerica_North_Dakota_Center = 6; // America/North_Dakota/Center in 2008 const uint8_t kZoneBufSizeAmerica_North_Dakota_New_Salem = 6; // America/North_Dakota/New_Salem in 2008 -const uint8_t kZoneBufSizeAmerica_Nuuk = 5; // America/Nuuk in 1983 +const uint8_t kZoneBufSizeAmerica_Nuuk = 6; // America/Nuuk in 2023 const uint8_t kZoneBufSizeAmerica_Ojinaga = 7; // America/Ojinaga in 2022 const uint8_t kZoneBufSizeAmerica_Panama = 1; // America/Panama in 1949 const uint8_t kZoneBufSizeAmerica_Paramaribo = 1; // America/Paramaribo in 1949 @@ -1445,7 +1445,6 @@ const uint8_t kZoneBufSizeAmerica_Vancouver = 6; // America/Vancouver in 2008 const uint8_t kZoneBufSizeAmerica_Whitehorse = 6; // America/Whitehorse in 2008 const uint8_t kZoneBufSizeAmerica_Winnipeg = 6; // America/Winnipeg in 2006 const uint8_t kZoneBufSizeAmerica_Yakutat = 6; // America/Yakutat in 2008 -const uint8_t kZoneBufSizeAmerica_Yellowknife = 6; // America/Yellowknife in 2008 const uint8_t kZoneBufSizeAntarctica_Casey = 3; // Antarctica/Casey in 2018 const uint8_t kZoneBufSizeAntarctica_Davis = 2; // Antarctica/Davis in 2009 const uint8_t kZoneBufSizeAntarctica_Macquarie = 5; // Antarctica/Macquarie in 1993 diff --git a/src/zonedbx/zone_policies.cpp b/src/zonedbx/zone_policies.cpp index 15bf60f8c..4dfdb2cb7 100644 --- a/src/zonedbx/zone_policies.cpp +++ b/src/zonedbx/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -75,7 +75,7 @@ namespace zonedbx { //--------------------------------------------------------------------------- // Policies: 83 -// Rules: 655 +// Rules: 737 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -2220,7 +2220,7 @@ const extended::ZonePolicy kZonePolicyEcuador ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Egypt -// Rules: 15 +// Rules: 17 //--------------------------------------------------------------------------- static const extended::ZoneRule kZoneRulesEgypt[] ACE_TIME_PROGMEM = { @@ -2404,12 +2404,36 @@ static const extended::ZoneRule kZoneRulesEgypt[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, + // Rule Egypt 2023 max - Apr lastFri 0:00 1:00 S + { + 2023 /*fromYear*/, + 32766 /*toYear*/, + 4 /*inMonth*/, + 5 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, + 0 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Egypt 2023 max - Oct lastThu 24:00 0 - + { + 2023 /*fromYear*/, + 32766 /*toYear*/, + 10 /*inMonth*/, + 4 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, + 96 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, }; const extended::ZonePolicy kZonePolicyEgypt ACE_TIME_PROGMEM = { kZoneRulesEgypt /*rules*/, - 15 /*numRules*/, + 17 /*numRules*/, }; //--------------------------------------------------------------------------- @@ -3860,7 +3884,7 @@ const extended::ZonePolicy kZonePolicyLH ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Lebanon -// Rules: 4 +// Rules: 6 //--------------------------------------------------------------------------- static const extended::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { @@ -3876,10 +3900,10 @@ static const extended::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S + // Rule Lebanon 1993 2022 - Mar lastSun 0:00 1:00 S { 1993 /*fromYear*/, - 32766 /*toYear*/, + 2022 /*toYear*/, 3 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -3912,12 +3936,36 @@ static const extended::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, + // Rule Lebanon 2023 only - Apr 21 0:00 1:00 S + { + 2023 /*fromYear*/, + 2023 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 21 /*onDayOfMonth*/, + 0 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Lebanon 2024 max - Mar lastSun 0:00 1:00 S + { + 2024 /*fromYear*/, + 32766 /*toYear*/, + 3 /*inMonth*/, + 7 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, + 0 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, }; const extended::ZonePolicy kZonePolicyLebanon ACE_TIME_PROGMEM = { kZoneRulesLebanon /*rules*/, - 4 /*numRules*/, + 6 /*numRules*/, }; //--------------------------------------------------------------------------- @@ -4840,13 +4888,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2023 only - Apr 30 2:00 0 - + // Rule Morocco 2023 only - Apr 23 2:00 0 - { 2023 /*fromYear*/, 2023 /*toYear*/, 4 /*inMonth*/, 0 /*onDayOfWeek*/, - 30 /*onDayOfMonth*/, + 23 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5032,13 +5080,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2031 only - Feb 2 2:00 0 - + // Rule Morocco 2031 only - Jan 26 2:00 0 - { 2031 /*fromYear*/, 2031 /*toYear*/, - 2 /*inMonth*/, + 1 /*inMonth*/, 0 /*onDayOfWeek*/, - 2 /*onDayOfMonth*/, + 26 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5224,13 +5272,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2038 only - Nov 7 2:00 0 - + // Rule Morocco 2038 only - Oct 31 2:00 0 - { 2038 /*fromYear*/, 2038 /*toYear*/, - 11 /*inMonth*/, + 10 /*inMonth*/, 0 /*onDayOfWeek*/, - 7 /*onDayOfMonth*/, + 31 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5416,13 +5464,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2046 only - Aug 12 2:00 0 - + // Rule Morocco 2046 only - Aug 5 2:00 0 - { 2046 /*fromYear*/, 2046 /*toYear*/, 8 /*inMonth*/, 0 /*onDayOfWeek*/, - 12 /*onDayOfMonth*/, + 5 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5608,13 +5656,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2054 only - May 17 2:00 0 - + // Rule Morocco 2054 only - May 10 2:00 0 - { 2054 /*fromYear*/, 2054 /*toYear*/, 5 /*inMonth*/, 0 /*onDayOfWeek*/, - 17 /*onDayOfMonth*/, + 10 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5800,13 +5848,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2062 only - Feb 19 2:00 0 - + // Rule Morocco 2062 only - Feb 12 2:00 0 - { 2062 /*fromYear*/, 2062 /*toYear*/, 2 /*inMonth*/, 0 /*onDayOfWeek*/, - 19 /*onDayOfMonth*/, + 12 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -5992,13 +6040,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2069 only - Nov 24 2:00 0 - + // Rule Morocco 2069 only - Nov 17 2:00 0 - { 2069 /*fromYear*/, 2069 /*toYear*/, 11 /*inMonth*/, 0 /*onDayOfWeek*/, - 24 /*onDayOfMonth*/, + 17 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -6184,13 +6232,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2077 only - Aug 29 2:00 0 - + // Rule Morocco 2077 only - Aug 22 2:00 0 - { 2077 /*fromYear*/, 2077 /*toYear*/, 8 /*inMonth*/, 0 /*onDayOfWeek*/, - 29 /*onDayOfMonth*/, + 22 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -6304,13 +6352,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2082 only - Jul 5 2:00 0 - + // Rule Morocco 2082 only - Jun 28 2:00 0 - { 2082 /*fromYear*/, 2082 /*toYear*/, - 7 /*inMonth*/, + 6 /*inMonth*/, 0 /*onDayOfWeek*/, - 5 /*onDayOfMonth*/, + 28 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -6376,13 +6424,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { 0 /*deltaCode ((deltaMinutes=-60)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Morocco 2085 only - Jun 3 2:00 0 - + // Rule Morocco 2085 only - May 27 2:00 0 - { 2085 /*fromYear*/, 2085 /*toYear*/, - 6 /*inMonth*/, + 5 /*inMonth*/, 0 /*onDayOfWeek*/, - 3 /*onDayOfMonth*/, + 27 /*onDayOfMonth*/, 8 /*atTimeCode*/, 0 /*atTimeModifier (kSuffixW + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, @@ -6880,7 +6928,7 @@ const extended::ZonePolicy kZonePolicyPakistan ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Palestine -// Rules: 33 +// Rules: 111 //--------------------------------------------------------------------------- static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = { @@ -7256,10 +7304,10 @@ static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = { 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, 7 /*letterIndex ("S")*/, }, - // Rule Palestine 2022 max - Oct Sat<=30 2:00 0 - + // Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - { 2022 /*fromYear*/, - 32766 /*toYear*/, + 2035 /*toYear*/, 10 /*inMonth*/, 6 /*onDayOfWeek*/, -30 /*onDayOfMonth*/, @@ -7268,10 +7316,46 @@ static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S + // Rule Palestine 2023 only - Apr 29 2:00 1:00 S { 2023 /*fromYear*/, - 32766 /*toYear*/, + 2023 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 29 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2024 only - Apr 13 2:00 1:00 S + { + 2024 /*fromYear*/, + 2024 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 13 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2025 only - Apr 5 2:00 1:00 S + { + 2025 /*fromYear*/, + 2025 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 5 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S + { + 2026 /*fromYear*/, + 2054 /*toYear*/, 3 /*inMonth*/, 6 /*onDayOfWeek*/, -30 /*onDayOfMonth*/, @@ -7280,12 +7364,912 @@ static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = { 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, 7 /*letterIndex ("S")*/, }, + // Rule Palestine 2036 only - Oct 18 2:00 0 - + { + 2036 /*fromYear*/, + 2036 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 18 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2037 only - Oct 10 2:00 0 - + { + 2037 /*fromYear*/, + 2037 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 10 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2038 only - Sep 25 2:00 0 - + { + 2038 /*fromYear*/, + 2038 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 25 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2039 only - Sep 17 2:00 0 - + { + 2039 /*fromYear*/, + 2039 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 17 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2039 only - Oct 22 2:00 1:00 S + { + 2039 /*fromYear*/, + 2039 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 22 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - + { + 2039 /*fromYear*/, + 2067 /*toYear*/, + 10 /*inMonth*/, + 6 /*onDayOfWeek*/, + -30 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2040 only - Sep 1 2:00 0 - + { + 2040 /*fromYear*/, + 2040 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 1 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2040 only - Oct 13 2:00 1:00 S + { + 2040 /*fromYear*/, + 2040 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 13 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2041 only - Aug 24 2:00 0 - + { + 2041 /*fromYear*/, + 2041 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 24 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2041 only - Sep 28 2:00 1:00 S + { + 2041 /*fromYear*/, + 2041 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 28 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2042 only - Aug 16 2:00 0 - + { + 2042 /*fromYear*/, + 2042 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 16 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2042 only - Sep 20 2:00 1:00 S + { + 2042 /*fromYear*/, + 2042 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 20 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2043 only - Aug 1 2:00 0 - + { + 2043 /*fromYear*/, + 2043 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 1 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2043 only - Sep 12 2:00 1:00 S + { + 2043 /*fromYear*/, + 2043 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 12 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2044 only - Jul 23 2:00 0 - + { + 2044 /*fromYear*/, + 2044 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 23 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2044 only - Aug 27 2:00 1:00 S + { + 2044 /*fromYear*/, + 2044 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 27 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2045 only - Jul 15 2:00 0 - + { + 2045 /*fromYear*/, + 2045 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 15 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2045 only - Aug 19 2:00 1:00 S + { + 2045 /*fromYear*/, + 2045 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 19 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2046 only - Jun 30 2:00 0 - + { + 2046 /*fromYear*/, + 2046 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 30 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2046 only - Aug 11 2:00 1:00 S + { + 2046 /*fromYear*/, + 2046 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 11 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2047 only - Jun 22 2:00 0 - + { + 2047 /*fromYear*/, + 2047 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 22 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2047 only - Jul 27 2:00 1:00 S + { + 2047 /*fromYear*/, + 2047 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 27 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2048 only - Jun 6 2:00 0 - + { + 2048 /*fromYear*/, + 2048 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 6 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2048 only - Jul 18 2:00 1:00 S + { + 2048 /*fromYear*/, + 2048 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 18 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2049 only - May 29 2:00 0 - + { + 2049 /*fromYear*/, + 2049 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 29 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2049 only - Jul 3 2:00 1:00 S + { + 2049 /*fromYear*/, + 2049 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 3 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2050 only - May 21 2:00 0 - + { + 2050 /*fromYear*/, + 2050 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 21 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2050 only - Jun 25 2:00 1:00 S + { + 2050 /*fromYear*/, + 2050 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 25 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2051 only - May 6 2:00 0 - + { + 2051 /*fromYear*/, + 2051 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 6 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2051 only - Jun 17 2:00 1:00 S + { + 2051 /*fromYear*/, + 2051 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 17 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2052 only - Apr 27 2:00 0 - + { + 2052 /*fromYear*/, + 2052 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 27 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2052 only - Jun 1 2:00 1:00 S + { + 2052 /*fromYear*/, + 2052 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 1 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2053 only - Apr 12 2:00 0 - + { + 2053 /*fromYear*/, + 2053 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 12 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2053 only - May 24 2:00 1:00 S + { + 2053 /*fromYear*/, + 2053 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 24 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2054 only - Apr 4 2:00 0 - + { + 2054 /*fromYear*/, + 2054 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 4 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2054 only - May 16 2:00 1:00 S + { + 2054 /*fromYear*/, + 2054 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 16 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2055 only - May 1 2:00 1:00 S + { + 2055 /*fromYear*/, + 2055 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 1 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2056 only - Apr 22 2:00 1:00 S + { + 2056 /*fromYear*/, + 2056 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 22 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2057 only - Apr 7 2:00 1:00 S + { + 2057 /*fromYear*/, + 2057 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 7 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S + { + 2058 /*fromYear*/, + 32766 /*toYear*/, + 3 /*inMonth*/, + 6 /*onDayOfWeek*/, + -30 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2068 only - Oct 20 2:00 0 - + { + 2068 /*fromYear*/, + 2068 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 20 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2069 only - Oct 12 2:00 0 - + { + 2069 /*fromYear*/, + 2069 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 12 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2070 only - Oct 4 2:00 0 - + { + 2070 /*fromYear*/, + 2070 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 4 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2071 only - Sep 19 2:00 0 - + { + 2071 /*fromYear*/, + 2071 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 19 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2072 only - Sep 10 2:00 0 - + { + 2072 /*fromYear*/, + 2072 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 10 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2072 only - Oct 15 2:00 1:00 S + { + 2072 /*fromYear*/, + 2072 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 15 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2073 only - Sep 2 2:00 0 - + { + 2073 /*fromYear*/, + 2073 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 2 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2073 only - Oct 7 2:00 1:00 S + { + 2073 /*fromYear*/, + 2073 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 7 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2074 only - Aug 18 2:00 0 - + { + 2074 /*fromYear*/, + 2074 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 18 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2074 only - Sep 29 2:00 1:00 S + { + 2074 /*fromYear*/, + 2074 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 29 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2075 only - Aug 10 2:00 0 - + { + 2075 /*fromYear*/, + 2075 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 10 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2075 only - Sep 14 2:00 1:00 S + { + 2075 /*fromYear*/, + 2075 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 14 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2075 max - Oct Sat<=30 2:00 0 - + { + 2075 /*fromYear*/, + 32766 /*toYear*/, + 10 /*inMonth*/, + 6 /*onDayOfWeek*/, + -30 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2076 only - Jul 25 2:00 0 - + { + 2076 /*fromYear*/, + 2076 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 25 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2076 only - Sep 5 2:00 1:00 S + { + 2076 /*fromYear*/, + 2076 /*toYear*/, + 9 /*inMonth*/, + 0 /*onDayOfWeek*/, + 5 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2077 only - Jul 17 2:00 0 - + { + 2077 /*fromYear*/, + 2077 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 17 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2077 only - Aug 28 2:00 1:00 S + { + 2077 /*fromYear*/, + 2077 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 28 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2078 only - Jul 9 2:00 0 - + { + 2078 /*fromYear*/, + 2078 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 9 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2078 only - Aug 13 2:00 1:00 S + { + 2078 /*fromYear*/, + 2078 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 13 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2079 only - Jun 24 2:00 0 - + { + 2079 /*fromYear*/, + 2079 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 24 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2079 only - Aug 5 2:00 1:00 S + { + 2079 /*fromYear*/, + 2079 /*toYear*/, + 8 /*inMonth*/, + 0 /*onDayOfWeek*/, + 5 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2080 only - Jun 15 2:00 0 - + { + 2080 /*fromYear*/, + 2080 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 15 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2080 only - Jul 20 2:00 1:00 S + { + 2080 /*fromYear*/, + 2080 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 20 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2081 only - Jun 7 2:00 0 - + { + 2081 /*fromYear*/, + 2081 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 7 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2081 only - Jul 12 2:00 1:00 S + { + 2081 /*fromYear*/, + 2081 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 12 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2082 only - May 23 2:00 0 - + { + 2082 /*fromYear*/, + 2082 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 23 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2082 only - Jul 4 2:00 1:00 S + { + 2082 /*fromYear*/, + 2082 /*toYear*/, + 7 /*inMonth*/, + 0 /*onDayOfWeek*/, + 4 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2083 only - May 15 2:00 0 - + { + 2083 /*fromYear*/, + 2083 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 15 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2083 only - Jun 19 2:00 1:00 S + { + 2083 /*fromYear*/, + 2083 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 19 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2084 only - Apr 29 2:00 0 - + { + 2084 /*fromYear*/, + 2084 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 29 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2084 only - Jun 10 2:00 1:00 S + { + 2084 /*fromYear*/, + 2084 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 10 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2085 only - Apr 21 2:00 0 - + { + 2085 /*fromYear*/, + 2085 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 21 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2085 only - Jun 2 2:00 1:00 S + { + 2085 /*fromYear*/, + 2085 /*toYear*/, + 6 /*inMonth*/, + 0 /*onDayOfWeek*/, + 2 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, + // Rule Palestine 2086 only - Apr 13 2:00 0 - + { + 2086 /*fromYear*/, + 2086 /*toYear*/, + 4 /*inMonth*/, + 0 /*onDayOfWeek*/, + 13 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, + }, + // Rule Palestine 2086 only - May 18 2:00 1:00 S + { + 2086 /*fromYear*/, + 2086 /*toYear*/, + 5 /*inMonth*/, + 0 /*onDayOfWeek*/, + 18 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + 0 /*atTimeModifier (kSuffixW + minute=0)*/, + 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, + 7 /*letterIndex ("S")*/, + }, }; const extended::ZonePolicy kZonePolicyPalestine ACE_TIME_PROGMEM = { kZoneRulesPalestine /*rules*/, - 33 /*numRules*/, + 111 /*numRules*/, }; //--------------------------------------------------------------------------- diff --git a/src/zonedbx/zone_policies.h b/src/zonedbx/zone_policies.h index 8d15f9551..60ad35f75 100644 --- a/src/zonedbx/zone_policies.h +++ b/src/zonedbx/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -77,7 +77,7 @@ namespace zonedbx { //--------------------------------------------------------------------------- // Supported policies: 83 -// Supported rules: 655 +// Supported rules: 737 //--------------------------------------------------------------------------- extern const extended::ZonePolicy kZonePolicyAN; diff --git a/src/zonedbx/zone_registry.cpp b/src/zonedbx/zone_registry.cpp index 79634e2ef..de8e710f5 100644 --- a/src/zonedbx/zone_registry.cpp +++ b/src/zonedbx/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -77,7 +77,7 @@ namespace zonedbx { //--------------------------------------------------------------------------- // Zone Info registry. Sorted by zoneId. //--------------------------------------------------------------------------- -const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { +const extended::ZoneInfo* const kZoneRegistry[350] ACE_TIME_PROGMEM = { &kZoneAmerica_St_Johns, // 0x04b14e6e, America/St_Johns &kZoneAmerica_North_Dakota_New_Salem, // 0x04f9958e, America/North_Dakota/New_Salem &kZoneAsia_Jakarta, // 0x0506ab50, Asia/Jakarta @@ -98,7 +98,6 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera - &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife &kZoneAustralia_Melbourne, // 0x0fe559a3, Australia/Melbourne &kZoneAmerica_Sao_Paulo, // 0x1063bfc9, America/Sao_Paulo &kZoneAmerica_Indiana_Vevay, // 0x10aca054, America/Indiana/Vevay @@ -484,7 +483,7 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneLibya, // 0x0d998b16, Libya -> Africa/Tripoli &kZoneKwajalein, // 0x0e57afbb, Kwajalein -> Pacific/Kwajalein &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera - &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife + &kZoneAmerica_Yellowknife, // 0x0f76c76f, America/Yellowknife -> America/Edmonton &kZoneAustralia_Melbourne, // 0x0fe559a3, Australia/Melbourne &kZoneAmerica_Sao_Paulo, // 0x1063bfc9, America/Sao_Paulo &kZoneEurope_Amsterdam, // 0x109395c2, Europe/Amsterdam -> Europe/Brussels diff --git a/src/zonedbx/zone_registry.h b/src/zonedbx/zone_registry.h index 661c013b5..4efcfb653 100644 --- a/src/zonedbx/zone_registry.h +++ b/src/zonedbx/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2022g +// --tz_version 2023b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2022g +// from https://github.com/eggert/tz/releases/tag/2023b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (350 zones, 246 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Original Years: [1844,2087] @@ -35,35 +35,35 @@ // // Records: // Infos: 596 -// Eras: 647 +// Eras: 646 // Policies: 83 -// Rules: 655 +// Rules: 737 // // Memory (8-bits): -// Rules: 7205 +// Rules: 8107 // Policies: 249 -// Eras: 7764 -// Zones: 4563 -// Links: 3185 +// Eras: 7752 +// Zones: 4550 +// Links: 3198 // Registry: 1192 // Formats: 597 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 30600 +// TOTAL: 31490 // // Memory (32-bits): -// Rules: 7860 +// Rules: 8844 // Policies: 664 -// Eras: 10352 -// Zones: 8424 -// Links: 5880 +// Eras: 10336 +// Zones: 8400 +// Links: 5904 // Registry: 2384 // Formats: 597 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 42052 +// TOTAL: 43020 // // DO NOT EDIT @@ -76,8 +76,8 @@ namespace ace_time { namespace zonedbx { // Zones -const uint16_t kZoneRegistrySize = 351; -extern const extended::ZoneInfo* const kZoneRegistry[351]; +const uint16_t kZoneRegistrySize = 350; +extern const extended::ZoneInfo* const kZoneRegistry[350]; // Zones and Links const uint16_t kZoneAndLinkRegistrySize = 596;