// This file was generated by the following script:
//
//   $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
//     --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc/tzfiles
//     --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc
//     --tz_version 2025b
//     --action zonedb
//     --language arduino
//     --scope complete
//     --db_namespace zonedbc
//     --zi_namespace complete::Info
//     --start_year 1800
//     --until_year 2200
//
// using the TZ Database files
//
//   africa
//   antarctica
//   asia
//   australasia
//   backward
//   etcetera
//   europe
//   northamerica
//   southamerica
//
// from https://github.com/eggert/tz/releases/tag/2025b
//
// Supported Zones: 597 (340 zones, 257 links)
// Unsupported Zones: 0 (0 zones, 0 links)
//
// Requested Years: [1800,2200]
// Accurate Years: [-32767,32767]
//
// Original Years:  [1844,2087]
// Generated Years: [1844,2087]
// Lower/Upper Truncated: [False,False]
//
// Estimator Years: [1800,2090]
// Max Buffer Size: 8
//
// Records:
//   Infos: 597
//   Eras: 1956
//   Policies: 134
//   Rules: 2235
//
// Memory (8-bits):
//   Context: 16
//   Rules: 26820
//   Policies: 402
//   Eras: 29340
//   Zones: 4420
//   Links: 3341
//   Registry: 1194
//   Formats: 486
//   Letters: 160
//   Fragments: 150
//   Names: 5660 (original: 9094)
//   TOTAL: 71989
//
// Memory (32-bits):
//   Context: 24
//   Rules: 26820
//   Policies: 1072
//   Eras: 39120
//   Zones: 8160
//   Links: 6168
//   Registry: 2388
//   Formats: 486
//   Letters: 216
//   Fragments: 178
//   Names: 5660 (original: 9094)
//   TOTAL: 90292
//
// DO NOT EDIT

#include <zoneinfo/compat.h>
#include "zone_policies.h"

namespace ace_time {
namespace zonedbc {

//---------------------------------------------------------------------------
// Policies: 134
// Rules: 2235
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Policy name: AN
// Rules: 17
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAN[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AN    1972    only    -    Feb    27    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1971    1985    -    Oct    lastSun    2:00s    1:00    D
  {
    1971 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AN    1972    only    -    Feb    27    2:00s    0    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1973    1981    -    Mar    Sun>=1    2:00s    0    S
  {
    1973 /*fromYear*/,
    1981 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1982    only    -    Apr    Sun>=1    2:00s    0    S
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1983    1985    -    Mar    Sun>=1    2:00s    0    S
  {
    1983 /*fromYear*/,
    1985 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1986    1989    -    Mar    Sun>=15    2:00s    0    S
  {
    1986 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1986    only    -    Oct    19    2:00s    1:00    D
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AN    1987    1999    -    Oct    lastSun    2:00s    1:00    D
  {
    1987 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AN    1990    1995    -    Mar    Sun>=1    2:00s    0    S
  {
    1990 /*fromYear*/,
    1995 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    1996    2005    -    Mar    lastSun    2:00s    0    S
  {
    1996 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    2000    only    -    Aug    lastSun    2:00s    1:00    D
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AN    2001    2007    -    Oct    lastSun    2:00s    1:00    D
  {
    2001 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AN    2006    only    -    Apr    Sun>=1    2:00s    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    2007    only    -    Mar    lastSun    2:00s    0    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    2008    max    -    Apr    Sun>=1    2:00s    0    S
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AN    2008    max    -    Oct    Sun>=1    2:00s    1:00    D
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAN ACE_TIME_PROGMEM = {
  kZoneRulesAN /*rules*/,
  17 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: AQ
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAQ[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AQ    1972    only    -    Feb    lastSun    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AQ    1971    only    -    Oct    lastSun    2:00s    1:00    D
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AQ    1972    only    -    Feb    lastSun    2:00s    0    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AQ    1989    1991    -    Oct    lastSun    2:00s    1:00    D
  {
    1989 /*fromYear*/,
    1991 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AQ    1990    1992    -    Mar    Sun>=1    2:00s    0    S
  {
    1990 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAQ ACE_TIME_PROGMEM = {
  kZoneRulesAQ /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: AS
// Rules: 16
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAS[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AS    1972    only    -    Feb    27    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1971    1985    -    Oct    lastSun    2:00s    1:00    D
  {
    1971 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AS    1986    only    -    Oct    19    2:00s    1:00    D
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AS    1987    2007    -    Oct    lastSun    2:00s    1:00    D
  {
    1987 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AS    1972    only    -    Feb    27    2:00s    0    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1973    1985    -    Mar    Sun>=1    2:00s    0    S
  {
    1973 /*fromYear*/,
    1985 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1986    1990    -    Mar    Sun>=15    2:00s    0    S
  {
    1986 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1991    only    -    Mar    3    2:00s    0    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1992    only    -    Mar    22    2:00s    0    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1993    only    -    Mar    7    2:00s    0    S
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1994    only    -    Mar    20    2:00s    0    S
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    1995    2005    -    Mar    lastSun    2:00s    0    S
  {
    1995 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    2006    only    -    Apr    2    2:00s    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    2007    only    -    Mar    lastSun    2:00s    0    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    2008    max    -    Apr    Sun>=1    2:00s    0    S
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AS    2008    max    -    Oct    Sun>=1    2:00s    1:00    D
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAS ACE_TIME_PROGMEM = {
  kZoneRulesAS /*rules*/,
  16 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: AT
// Rules: 24
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAT[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AT    1917    only    -    Mar    lastSun    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1916    only    -    Oct    Sun>=1    2:00s    1:00    D
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1917    only    -    Mar    lastSun    2:00s    0    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1917    1918    -    Oct    Sun>=22    2:00s    1:00    D
  {
    1917 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1918    1919    -    Mar    Sun>=1    2:00s    0    S
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1967    only    -    Oct    Sun>=1    2:00s    1:00    D
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1968    only    -    Mar    Sun>=29    2:00s    0    S
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1968    1985    -    Oct    lastSun    2:00s    1:00    D
  {
    1968 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1969    1971    -    Mar    Sun>=8    2:00s    0    S
  {
    1969 /*fromYear*/,
    1971 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1972    only    -    Feb    lastSun    2:00s    0    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1973    1981    -    Mar    Sun>=1    2:00s    0    S
  {
    1973 /*fromYear*/,
    1981 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1982    1983    -    Mar    lastSun    2:00s    0    S
  {
    1982 /*fromYear*/,
    1983 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1984    1986    -    Mar    Sun>=1    2:00s    0    S
  {
    1984 /*fromYear*/,
    1986 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1986    only    -    Oct    Sun>=15    2:00s    1:00    D
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1987    1990    -    Mar    Sun>=15    2:00s    0    S
  {
    1987 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    1987    only    -    Oct    Sun>=22    2:00s    1:00    D
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1988    1990    -    Oct    lastSun    2:00s    1:00    D
  {
    1988 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1991    1999    -    Oct    Sun>=1    2:00s    1:00    D
  {
    1991 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    1991    2005    -    Mar    lastSun    2:00s    0    S
  {
    1991 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    2000    only    -    Aug    lastSun    2:00s    1:00    D
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    2001    max    -    Oct    Sun>=1    2:00s    1:00    D
  {
    2001 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AT    2006    only    -    Apr    Sun>=1    2:00s    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    2007    only    -    Mar    lastSun    2:00s    0    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AT    2008    max    -    Apr    Sun>=1    2:00s    0    S
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAT ACE_TIME_PROGMEM = {
  kZoneRulesAT /*rules*/,
  24 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: AV
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAV[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AV    1972    only    -    Feb    lastSun    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    1971    1985    -    Oct    lastSun    2:00s    1:00    D
  {
    1971 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AV    1972    only    -    Feb    lastSun    2:00s    0    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    1973    1985    -    Mar    Sun>=1    2:00s    0    S
  {
    1973 /*fromYear*/,
    1985 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    1986    1990    -    Mar    Sun>=15    2:00s    0    S
  {
    1986 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    1986    1987    -    Oct    Sun>=15    2:00s    1:00    D
  {
    1986 /*fromYear*/,
    1987 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AV    1988    1999    -    Oct    lastSun    2:00s    1:00    D
  {
    1988 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AV    1991    1994    -    Mar    Sun>=1    2:00s    0    S
  {
    1991 /*fromYear*/,
    1994 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    1995    2005    -    Mar    lastSun    2:00s    0    S
  {
    1995 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    2000    only    -    Aug    lastSun    2:00s    1:00    D
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AV    2001    2007    -    Oct    lastSun    2:00s    1:00    D
  {
    2001 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AV    2006    only    -    Apr    Sun>=1    2:00s    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    2007    only    -    Mar    lastSun    2:00s    0    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    2008    max    -    Apr    Sun>=1    2:00s    0    S
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AV    2008    max    -    Oct    Sun>=1    2:00s    1:00    D
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAV ACE_TIME_PROGMEM = {
  kZoneRulesAV /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: AW
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAW[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    AW    1975    only    -    Mar    Sun>=1    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AW    1974    only    -    Oct    lastSun    2:00s    1:00    D
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AW    1975    only    -    Mar    Sun>=1    2:00s    0    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AW    1983    only    -    Oct    lastSun    2:00s    1:00    D
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AW    1984    only    -    Mar    Sun>=1    2:00s    0    S
  {
    1984 /*fromYear*/,
    1984 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AW    1991    only    -    Nov    17    2:00s    1:00    D
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AW    1992    only    -    Mar    Sun>=1    2:00s    0    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AW    2006    only    -    Dec     3    2:00s    1:00    D
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    AW    2007    2009    -    Mar    lastSun    2:00s    0    S
  {
    2007 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    AW    2007    2008    -    Oct    lastSun    2:00s    1:00    D
  {
    2007 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAW ACE_TIME_PROGMEM = {
  kZoneRulesAW /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Albania
// Rules: 26
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAlbania[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Albania    1942    only    -    Nov     2    3:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1940    only    -    Jun    16    0:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1942    only    -    Nov     2    3:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1943    only    -    Mar    29    2:00    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1943    only    -    Apr    10    3:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1974    only    -    May     4    0:00    1:00    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1974    only    -    Oct     2    0:00    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1975    only    -    May     1    0:00    1:00    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1975    only    -    Oct     2    0:00    0    -
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1976    only    -    May     2    0:00    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1976    only    -    Oct     3    0:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1977    only    -    May     8    0:00    1:00    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1977    only    -    Oct     2    0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1978    only    -    May     6    0:00    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1978    only    -    Oct     1    0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1979    only    -    May     5    0:00    1:00    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1979    only    -    Sep    30    0:00    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1980    only    -    May     3    0:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1980    only    -    Oct     4    0:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1981    only    -    Apr    26    0:00    1:00    S
  {
    1981 /*fromYear*/,
    1981 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1981    only    -    Sep    27    0:00    0    -
  {
    1981 /*fromYear*/,
    1981 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1982    only    -    May     2    0:00    1:00    S
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1982    only    -    Oct     3    0:00    0    -
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1983    only    -    Apr    18    0:00    1:00    S
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Albania    1983    only    -    Oct     1    0:00    0    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Albania    1984    only    -    Apr     1    0:00    1:00    S
  {
    1984 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAlbania ACE_TIME_PROGMEM = {
  kZoneRulesAlbania /*rules*/,
  26 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Algeria
// Rules: 23
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAlgeria[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Algeria    1916    1919    -    Oct    Sun>=1    23:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1916    only    -    Jun    14    23:00s    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1916    1919    -    Oct    Sun>=1    23:00s    0    -
  {
    1916 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1917    only    -    Mar    24    23:00s    1:00    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1918    only    -    Mar     9    23:00s    1:00    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1919    only    -    Mar     1    23:00s    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1920    only    -    Feb    14    23:00s    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1920    only    -    Oct    23    23:00s    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1921    only    -    Mar    14    23:00s    1:00    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1921    only    -    Jun    21    23:00s    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1939    only    -    Sep    11    23:00s    1:00    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1939    only    -    Nov    19     1:00    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1944    1945    -    Apr    Mon>=1     2:00    1:00    S
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1944    only    -    Oct     8     2:00    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1945    only    -    Sep    16     1:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1971    only    -    Apr    25    23:00s    1:00    S
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1971    only    -    Sep    26    23:00s    0    -
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1977    only    -    May     6     0:00    1:00    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1977    only    -    Oct    21     0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1978    only    -    Mar    24     1:00    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1978    only    -    Sep    22     3:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Algeria    1980    only    -    Apr    25     0:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Algeria    1980    only    -    Oct    31     2:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAlgeria ACE_TIME_PROGMEM = {
  kZoneRulesAlgeria /*rules*/,
  23 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Arg
// Rules: 30
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesArg[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Arg    1931    only    -    Apr     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1930    only    -    Dec     1    0:00    1:00    -
  {
    1930 /*fromYear*/,
    1930 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1931    only    -    Apr     1    0:00    0    -
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1931    only    -    Oct    15    0:00    1:00    -
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1932    1940    -    Mar     1    0:00    0    -
  {
    1932 /*fromYear*/,
    1940 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1932    1939    -    Nov     1    0:00    1:00    -
  {
    1932 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1940    only    -    Jul     1    0:00    1:00    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1941    only    -    Jun    15    0:00    0    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1941    only    -    Oct    15    0:00    1:00    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1943    only    -    Aug     1    0:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1943    only    -    Oct    15    0:00    1:00    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1946    only    -    Mar     1    0:00    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1946    only    -    Oct     1    0:00    1:00    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1963    only    -    Oct     1    0:00    0    -
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1963    only    -    Dec    15    0:00    1:00    -
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1964    1966    -    Mar     1    0:00    0    -
  {
    1964 /*fromYear*/,
    1966 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1964    1966    -    Oct    15    0:00    1:00    -
  {
    1964 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1967    only    -    Apr     2    0:00    0    -
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1967    1968    -    Oct    Sun>=1    0:00    1:00    -
  {
    1967 /*fromYear*/,
    1968 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1968    1969    -    Apr    Sun>=1    0:00    0    -
  {
    1968 /*fromYear*/,
    1969 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1974    only    -    Jan    23    0:00    1:00    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1974    only    -    May     1    0:00    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1988    only    -    Dec     1    0:00    1:00    -
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1989    1993    -    Mar    Sun>=1    0:00    0    -
  {
    1989 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1989    1992    -    Oct    Sun>=15    0:00    1:00    -
  {
    1989 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    1999    only    -    Oct    Sun>=1    0:00    1:00    -
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    2000    only    -    Mar    3    0:00    0    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    2007    only    -    Dec    30    0:00    1:00    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    2008    2009    -    Mar    Sun>=15    0:00    0    -
  {
    2008 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Arg    2008    only    -    Oct    Sun>=15    0:00    1:00    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyArg ACE_TIME_PROGMEM = {
  kZoneRulesArg /*rules*/,
  30 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Armenia
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesArmenia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Armenia    2011    only    -    Oct    lastSun     2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Armenia    2011    only    -    Mar    lastSun     2:00s    1:00    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Armenia    2011    only    -    Oct    lastSun     2:00s    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyArmenia ACE_TIME_PROGMEM = {
  kZoneRulesArmenia /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Aus
// Rules: 8
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAus[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Aus    1917    only    -    Mar    lastSun    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Aus    1917    only    -    Jan     1    2:00s    1:00    D
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Aus    1917    only    -    Mar    lastSun    2:00s    0    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Aus    1942    only    -    Jan     1    2:00s    1:00    D
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Aus    1942    only    -    Mar    lastSun    2:00s    0    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Aus    1942    only    -    Sep    27    2:00s    1:00    D
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Aus    1943    1944    -    Mar    lastSun    2:00s    0    S
  {
    1943 /*fromYear*/,
    1944 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Aus    1943    only    -    Oct     3    2:00s    1:00    D
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAus ACE_TIME_PROGMEM = {
  kZoneRulesAus /*rules*/,
  8 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Austria
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAustria[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Austria    1920    only    -    Sep    13    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Austria    1920    only    -    Apr     5    2:00s    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Austria    1920    only    -    Sep    13    2:00s    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Austria    1946    only    -    Apr    14    2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Austria    1946    only    -    Oct     7    2:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Austria    1947    1948    -    Oct    Sun>=1    2:00s    0    -
  {
    1947 /*fromYear*/,
    1948 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Austria    1947    only    -    Apr     6    2:00s    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Austria    1948    only    -    Apr    18    2:00s    1:00    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Austria    1980    only    -    Apr     6    0:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Austria    1980    only    -    Sep    28    0:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAustria ACE_TIME_PROGMEM = {
  kZoneRulesAustria /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Azer
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesAzer[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Azer    1997    2015    -    Oct    lastSun     5:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Azer    1997    2015    -    Mar    lastSun     4:00    1:00    -
  {
    1997 /*fromYear*/,
    2015 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Azer    1997    2015    -    Oct    lastSun     5:00    0    -
  {
    1997 /*fromYear*/,
    2015 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    1200 /*atTimeCode (18000/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyAzer ACE_TIME_PROGMEM = {
  kZoneRulesAzer /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Barb
// Rules: 12
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBarb[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Barb    1942    only    -    Aug    31    6:00u    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1942    only    -    Apr    19    5:00u    1:00    D
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1200 /*atTimeCode (18000/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Barb    1942    only    -    Aug    31    6:00u    0    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1440 /*atTimeCode (21600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1943    only    -    May     2    5:00u    1:00    D
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1200 /*atTimeCode (18000/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Barb    1943    only    -    Sep     5    6:00u    0    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1440 /*atTimeCode (21600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1944    only    -    Apr    10    5:00u    0:30    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1200 /*atTimeCode (18000/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Barb    1944    only    -    Sep    10    6:00u    0    S
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    1440 /*atTimeCode (21600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1977    only    -    Jun    12    2:00    1:00    D
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Barb    1977    1978    -    Oct    Sun>=1    2:00    0    S
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1978    1980    -    Apr    Sun>=15    2:00    1:00    D
  {
    1978 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Barb    1979    only    -    Sep    30    2:00    0    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Barb    1980    only    -    Sep    25    2:00    0    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBarb ACE_TIME_PROGMEM = {
  kZoneRulesBarb /*rules*/,
  12 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Belgium
// Rules: 35
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBelgium[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Belgium    1918    1919    -    Oct    Sat>=1    23:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1918    only    -    Mar     9     0:00s    1:00    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1918    1919    -    Oct    Sat>=1    23:00s    0    -
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1919    only    -    Mar     1    23:00s    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1920    only    -    Feb    14    23:00s    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1920    only    -    Oct    23    23:00s    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1921    only    -    Mar    14    23:00s    1:00    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1921    only    -    Oct    25    23:00s    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1922    only    -    Mar    25    23:00s    1:00    S
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1922    1927    -    Oct    Sat>=1    23:00s    0    -
  {
    1922 /*fromYear*/,
    1927 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1923    only    -    Apr    21    23:00s    1:00    S
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1924    only    -    Mar    29    23:00s    1:00    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1925    only    -    Apr     4    23:00s    1:00    S
  {
    1925 /*fromYear*/,
    1925 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1926    only    -    Apr    17    23:00s    1:00    S
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1927    only    -    Apr     9    23:00s    1:00    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1928    only    -    Apr    14    23:00s    1:00    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1928    1938    -    Oct    Sun>=2     2:00s    0    -
  {
    1928 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1929    only    -    Apr    21     2:00s    1:00    S
  {
    1929 /*fromYear*/,
    1929 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1930    only    -    Apr    13     2:00s    1:00    S
  {
    1930 /*fromYear*/,
    1930 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1931    only    -    Apr    19     2:00s    1:00    S
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1932    only    -    Apr     3     2:00s    1:00    S
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1933    only    -    Mar    26     2:00s    1:00    S
  {
    1933 /*fromYear*/,
    1933 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1934    only    -    Apr     8     2:00s    1:00    S
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1935    only    -    Mar    31     2:00s    1:00    S
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1936    only    -    Apr    19     2:00s    1:00    S
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1937    only    -    Apr     4     2:00s    1:00    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1938    only    -    Mar    27     2:00s    1:00    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1939    only    -    Apr    16     2:00s    1:00    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1939    only    -    Nov    19     2:00s    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1940    only    -    Feb    25     2:00s    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1944    only    -    Sep    17     2:00s    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1945    only    -    Apr     2     2:00s    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1945    only    -    Sep    16     2:00s    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Belgium    1946    only    -    May    19     2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Belgium    1946    only    -    Oct     7     2:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBelgium ACE_TIME_PROGMEM = {
  kZoneRulesBelgium /*rules*/,
  35 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Belize
// Rules: 12
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBelize[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Belize    1919    1942    -    Feb    Sat>=8    24:00    0    CST
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },
  // Rule    Belize    1918    1941    -    Oct    Sat>=1    24:00    0:30    -0530
  {
    1918 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    30 /*deltaMinutes*/,
    5 /*letterIndex ("-0530")*/,
  },
  // Rule    Belize    1919    1942    -    Feb    Sat>=8    24:00    0    CST
  {
    1919 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    6 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },
  // Rule    Belize    1942    only    -    Jun    27    24:00    1:00    CWT
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    12 /*letterIndex ("CWT")*/,
  },
  // Rule    Belize    1945    only    -    Aug    14    23:00u    1:00    CPT
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    10 /*letterIndex ("CPT")*/,
  },
  // Rule    Belize    1945    only    -    Dec    15    24:00    0    CST
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },
  // Rule    Belize    1947    1967    -    Oct    Sat>=1    24:00    0:30    -0530
  {
    1947 /*fromYear*/,
    1967 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    30 /*deltaMinutes*/,
    5 /*letterIndex ("-0530")*/,
  },
  // Rule    Belize    1948    1968    -    Feb    Sat>=8    24:00    0    CST
  {
    1948 /*fromYear*/,
    1968 /*toYear*/,
    2 /*inMonth*/,
    6 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },
  // Rule    Belize    1973    only    -    Dec     5    0:00    1:00    CDT
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    9 /*letterIndex ("CDT")*/,
  },
  // Rule    Belize    1974    only    -    Feb     9    0:00    0    CST
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },
  // Rule    Belize    1982    only    -    Dec    18    0:00    1:00    CDT
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    9 /*letterIndex ("CDT")*/,
  },
  // Rule    Belize    1983    only    -    Feb    12    0:00    0    CST
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    11 /*letterIndex ("CST")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBelize ACE_TIME_PROGMEM = {
  kZoneRulesBelize /*rules*/,
  12 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Bermuda
// Rules: 17
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBermuda[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Bermuda    1917    only    -    Sep    30    24:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bermuda    1917    only    -    Apr     5    24:00    1:00    -
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bermuda    1917    only    -    Sep    30    24:00    0    -
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bermuda    1918    only    -    Apr    13    24:00    1:00    -
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bermuda    1918    only    -    Sep    15    24:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1942    only    -    Jan    11     2:00    1:00    D
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1942    only    -    Oct    18     2:00    0    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1943    only    -    Mar    21     2:00    1:00    D
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1943    only    -    Oct    31     2:00    0    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1944    1945    -    Mar    Sun>=8     2:00    1:00    D
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1944    1945    -    Nov    Sun>=1     2:00    0    S
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1947    only    -    May    Sun>=15     2:00    1:00    D
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1947    only    -    Sep    Sun>=8     2:00    0    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1948    1952    -    May    Sun>=22     2:00    1:00    D
  {
    1948 /*fromYear*/,
    1952 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1948    1952    -    Sep    Sun>=1     2:00    0    S
  {
    1948 /*fromYear*/,
    1952 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bermuda    1956    only    -    May    Sun>=22     2:00    1:00    D
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Bermuda    1956    only    -    Oct    lastSun     2:00    0    S
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBermuda ACE_TIME_PROGMEM = {
  kZoneRulesBermuda /*rules*/,
  17 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Brazil
// Rules: 58
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBrazil[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Brazil    1932    1933    -    Apr     1     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1931    only    -    Oct     3    11:00    1:00    -
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    2640 /*atTimeCode (39600/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1932    1933    -    Apr     1     0:00    0    -
  {
    1932 /*fromYear*/,
    1933 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1932    only    -    Oct     3     0:00    1:00    -
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1949    1952    -    Dec     1     0:00    1:00    -
  {
    1949 /*fromYear*/,
    1952 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1950    only    -    Apr    16     1:00    0    -
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1951    1952    -    Apr     1     0:00    0    -
  {
    1951 /*fromYear*/,
    1952 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1953    only    -    Mar     1     0:00    0    -
  {
    1953 /*fromYear*/,
    1953 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1963    only    -    Dec     9     0:00    1:00    -
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1964    only    -    Mar     1     0:00    0    -
  {
    1964 /*fromYear*/,
    1964 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1965    only    -    Jan    31     0:00    1:00    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1965    only    -    Mar    31     0:00    0    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1965    only    -    Dec     1     0:00    1:00    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1966    1968    -    Mar     1     0:00    0    -
  {
    1966 /*fromYear*/,
    1968 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1966    1967    -    Nov     1     0:00    1:00    -
  {
    1966 /*fromYear*/,
    1967 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1985    only    -    Nov     2     0:00    1:00    -
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1986    only    -    Mar    15     0:00    0    -
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1986    only    -    Oct    25     0:00    1:00    -
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1987    only    -    Feb    14     0:00    0    -
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1987    only    -    Oct    25     0:00    1:00    -
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1988    only    -    Feb     7     0:00    0    -
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1988    only    -    Oct    16     0:00    1:00    -
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1989    only    -    Jan    29     0:00    0    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1989    only    -    Oct    15     0:00    1:00    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1990    only    -    Feb    11     0:00    0    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1990    only    -    Oct    21     0:00    1:00    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1991    only    -    Feb    17     0:00    0    -
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1991    only    -    Oct    20     0:00    1:00    -
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1992    only    -    Feb     9     0:00    0    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1992    only    -    Oct    25     0:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1993    only    -    Jan    31     0:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1993    1995    -    Oct    Sun>=11     0:00    1:00    -
  {
    1993 /*fromYear*/,
    1995 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1994    1995    -    Feb    Sun>=15     0:00    0    -
  {
    1994 /*fromYear*/,
    1995 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1996    only    -    Feb    11     0:00    0    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1996    only    -    Oct     6     0:00    1:00    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1997    only    -    Feb    16     0:00    0    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1997    only    -    Oct     6     0:00    1:00    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1998    only    -    Mar     1     0:00    0    -
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1998    only    -    Oct    11     0:00    1:00    -
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1999    only    -    Feb    21     0:00    0    -
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    1999    only    -    Oct     3     0:00    1:00    -
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2000    only    -    Feb    27     0:00    0    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2000    2001    -    Oct    Sun>=8     0:00    1:00    -
  {
    2000 /*fromYear*/,
    2001 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2001    2006    -    Feb    Sun>=15     0:00    0    -
  {
    2001 /*fromYear*/,
    2006 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2002    only    -    Nov     3     0:00    1:00    -
  {
    2002 /*fromYear*/,
    2002 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2003    only    -    Oct    19     0:00    1:00    -
  {
    2003 /*fromYear*/,
    2003 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2004    only    -    Nov     2     0:00    1:00    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2005    only    -    Oct    16     0:00    1:00    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2006    only    -    Nov     5     0:00    1:00    -
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2007    only    -    Feb    25     0:00    0    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2007    only    -    Oct    Sun>=8     0:00    1:00    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2008    2017    -    Oct    Sun>=15    0:00    1:00    -
  {
    2008 /*fromYear*/,
    2017 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2008    2011    -    Feb    Sun>=15    0:00    0    -
  {
    2008 /*fromYear*/,
    2011 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2012    only    -    Feb    Sun>=22    0:00    0    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2013    2014    -    Feb    Sun>=15    0:00    0    -
  {
    2013 /*fromYear*/,
    2014 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2015    only    -    Feb    Sun>=22    0:00    0    -
  {
    2015 /*fromYear*/,
    2015 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2016    2019    -    Feb    Sun>=15    0:00    0    -
  {
    2016 /*fromYear*/,
    2019 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Brazil    2018    only    -    Nov    Sun>=1    0:00    1:00    -
  {
    2018 /*fromYear*/,
    2018 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBrazil ACE_TIME_PROGMEM = {
  kZoneRulesBrazil /*rules*/,
  58 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Bulg
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesBulg[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Bulg    1979    only    -    Oct     1     1:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bulg    1979    only    -    Mar    31    23:00    1:00    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bulg    1979    only    -    Oct     1     1:00    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bulg    1980    1982    -    Apr    Sat>=1    23:00    1:00    S
  {
    1980 /*fromYear*/,
    1982 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Bulg    1980    only    -    Sep    29     1:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Bulg    1981    only    -    Sep    27     2:00    0    -
  {
    1981 /*fromYear*/,
    1981 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyBulg ACE_TIME_PROGMEM = {
  kZoneRulesBulg /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: C-Eur
// Rules: 18
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    C-Eur    1916    only    -    Oct     1     1:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1916    only    -    Apr    30    23:00    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1916    only    -    Oct     1     1:00    0    -
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1917    1918    -    Apr    Mon>=15     2:00s    1:00    S
  {
    1917 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1917    1918    -    Sep    Mon>=15     2:00s    0    -
  {
    1917 /*fromYear*/,
    1918 /*toYear*/,
    9 /*inMonth*/,
    1 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1940    only    -    Apr     1     2:00s    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1942    only    -    Nov     2     2:00s    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1943    only    -    Mar    29     2:00s    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1943    only    -    Oct     4     2:00s    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1944    1945    -    Apr    Mon>=1     2:00s    1:00    S
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1944    only    -    Oct     2     2:00s    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1945    only    -    Sep    16     2:00s    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1977    1980    -    Apr    Sun>=1     2:00s    1:00    S
  {
    1977 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1977    only    -    Sep    lastSun     2:00s    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1978    only    -    Oct     1     2:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1979    1995    -    Sep    lastSun     2:00s    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    C-Eur    1981    max    -    Mar    lastSun     2:00s    1:00    S
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    C-Eur    1996    max    -    Oct    lastSun     2:00s    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyC_Eur ACE_TIME_PROGMEM = {
  kZoneRulesC_Eur /*rules*/,
  18 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: CA
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCA[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    CA    1949    only    -    Jan     1    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CA    1948    only    -    Mar    14    2:01    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    484 /*atTimeCode (7260/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    CA    1949    only    -    Jan     1    2:00    0    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CA    1950    1966    -    Apr    lastSun    1:00    1:00    D
  {
    1950 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    CA    1950    1961    -    Sep    lastSun    2:00    0    S
  {
    1950 /*fromYear*/,
    1961 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CA    1962    1966    -    Oct    lastSun    2:00    0    S
  {
    1962 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCA ACE_TIME_PROGMEM = {
  kZoneRulesCA /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: CO
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCO[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    CO    1993    only    -    Feb     6    24:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    CO    1992    only    -    May     3     0:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    CO    1993    only    -    Feb     6    24:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCO ACE_TIME_PROGMEM = {
  kZoneRulesCO /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: CR
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCR[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    CR    1979    1980    -    Jun    Sun>=1    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CR    1979    1980    -    Feb    lastSun    0:00    1:00    D
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    CR    1979    1980    -    Jun    Sun>=1    0:00    0    S
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CR    1991    1992    -    Jan    Sat>=15    0:00    1:00    D
  {
    1991 /*fromYear*/,
    1992 /*toYear*/,
    1 /*inMonth*/,
    6 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    CR    1991    only    -    Jul     1    0:00    0    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    CR    1992    only    -    Mar    15    0:00    0    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCR ACE_TIME_PROGMEM = {
  kZoneRulesCR /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Canada
// Rules: 11
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCanada[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Canada    1918    only    -    Oct    27    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Canada    1918    only    -    Apr    14    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Canada    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Canada    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Canada    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    Canada    1945    only    -    Sep    30    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Canada    1974    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1974 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Canada    1974    2006    -    Oct    lastSun    2:00    0    S
  {
    1974 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Canada    1987    2006    -    Apr    Sun>=1    2:00    1:00    D
  {
    1987 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Canada    2007    max    -    Mar    Sun>=8    2:00    1:00    D
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Canada    2007    max    -    Nov    Sun>=1    2:00    0    S
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCanada ACE_TIME_PROGMEM = {
  kZoneRulesCanada /*rules*/,
  11 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Chatham
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesChatham[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Chatham    1975    only    -    Feb    lastSun    2:45s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1974    only    -    Nov    Sun>=1    2:45s    1:00    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1975    only    -    Feb    lastSun    2:45s    0    -
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1975    1988    -    Oct    lastSun    2:45s    1:00    -
  {
    1975 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1976    1989    -    Mar    Sun>=1    2:45s    0    -
  {
    1976 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1989    only    -    Oct    Sun>=8    2:45s    1:00    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1990    2006    -    Oct    Sun>=1    2:45s    1:00    -
  {
    1990 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    1990    2007    -    Mar    Sun>=15    2:45s    0    -
  {
    1990 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    2007    max    -    Sep    lastSun    2:45s    1:00    -
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chatham    2008    max    -    Apr    Sun>=1    2:45s    0    -
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    660 /*atTimeCode (9900/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyChatham ACE_TIME_PROGMEM = {
  kZoneRulesChatham /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Chicago
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesChicago[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Chicago    1920    1921    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Chicago    1920    only    -    Jun    13    2:00    1:00    D
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Chicago    1920    1921    -    Oct    lastSun    2:00    0    S
  {
    1920 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Chicago    1921    only    -    Mar    lastSun    2:00    1:00    D
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Chicago    1922    1966    -    Apr    lastSun    2:00    1:00    D
  {
    1922 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Chicago    1922    1954    -    Sep    lastSun    2:00    0    S
  {
    1922 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Chicago    1955    1966    -    Oct    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyChicago ACE_TIME_PROGMEM = {
  kZoneRulesChicago /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Chile
// Rules: 37
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesChile[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Chile    1928    1932    -    Apr     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1927    1931    -    Sep     1    0:00    1:00    -
  {
    1927 /*fromYear*/,
    1931 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1928    1932    -    Apr     1    0:00    0    -
  {
    1928 /*fromYear*/,
    1932 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1968    only    -    Nov     3    4:00u    1:00    -
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1969    only    -    Mar    30    3:00u    0    -
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1969    only    -    Nov    23    4:00u    1:00    -
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1970    only    -    Mar    29    3:00u    0    -
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1971    only    -    Mar    14    3:00u    0    -
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1970    1972    -    Oct    Sun>=9    4:00u    1:00    -
  {
    1970 /*fromYear*/,
    1972 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1972    1986    -    Mar    Sun>=9    3:00u    0    -
  {
    1972 /*fromYear*/,
    1986 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1973    only    -    Sep    30    4:00u    1:00    -
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1974    1987    -    Oct    Sun>=9    4:00u    1:00    -
  {
    1974 /*fromYear*/,
    1987 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1987    only    -    Apr    12    3:00u    0    -
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1988    1990    -    Mar    Sun>=9    3:00u    0    -
  {
    1988 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1988    1989    -    Oct    Sun>=9    4:00u    1:00    -
  {
    1988 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1990    only    -    Sep    16    4:00u    1:00    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1991    1996    -    Mar    Sun>=9    3:00u    0    -
  {
    1991 /*fromYear*/,
    1996 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1991    1997    -    Oct    Sun>=9    4:00u    1:00    -
  {
    1991 /*fromYear*/,
    1997 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1997    only    -    Mar    30    3:00u    0    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1998    only    -    Mar    Sun>=9    3:00u    0    -
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1998    only    -    Sep    27    4:00u    1:00    -
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1999    only    -    Apr     4    3:00u    0    -
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    1999    2010    -    Oct    Sun>=9    4:00u    1:00    -
  {
    1999 /*fromYear*/,
    2010 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2000    2007    -    Mar    Sun>=9    3:00u    0    -
  {
    2000 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2008    only    -    Mar    30    3:00u    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2009    only    -    Mar    Sun>=9    3:00u    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2010    only    -    Apr    Sun>=1    3:00u    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2011    only    -    May    Sun>=2    3:00u    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2011    only    -    Aug    Sun>=16    4:00u    1:00    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2012    2014    -    Apr    Sun>=23    3:00u    0    -
  {
    2012 /*fromYear*/,
    2014 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2012    2014    -    Sep    Sun>=2    4:00u    1:00    -
  {
    2012 /*fromYear*/,
    2014 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2016    2018    -    May    Sun>=9    3:00u    0    -
  {
    2016 /*fromYear*/,
    2018 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2016    2018    -    Aug    Sun>=9    4:00u    1:00    -
  {
    2016 /*fromYear*/,
    2018 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2019    max    -    Apr    Sun>=2    3:00u    0    -
  {
    2019 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2019    2021    -    Sep    Sun>=2    4:00u    1:00    -
  {
    2019 /*fromYear*/,
    2021 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2022    only    -    Sep    Sun>=9    4:00u    1:00    -
  {
    2022 /*fromYear*/,
    2022 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Chile    2023    max    -    Sep    Sun>=2    4:00u    1:00    -
  {
    2023 /*fromYear*/,
    32766 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyChile ACE_TIME_PROGMEM = {
  kZoneRulesChile /*rules*/,
  37 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Cook
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCook[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Cook    1979    1991    -    Mar    Sun>=1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cook    1978    only    -    Nov    12    0:00    0:30    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cook    1979    1991    -    Mar    Sun>=1    0:00    0    -
  {
    1979 /*fromYear*/,
    1991 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cook    1979    1990    -    Oct    lastSun    0:00    0:30    -
  {
    1979 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCook ACE_TIME_PROGMEM = {
  kZoneRulesCook /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Cuba
// Rules: 40
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCuba[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Cuba    1928    only    -    Oct    10    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1928    only    -    Jun    10    0:00    1:00    D
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1928    only    -    Oct    10    0:00    0    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1940    1942    -    Jun    Sun>=1    0:00    1:00    D
  {
    1940 /*fromYear*/,
    1942 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1940    1942    -    Sep    Sun>=1    0:00    0    S
  {
    1940 /*fromYear*/,
    1942 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1945    1946    -    Jun    Sun>=1    0:00    1:00    D
  {
    1945 /*fromYear*/,
    1946 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1945    1946    -    Sep    Sun>=1    0:00    0    S
  {
    1945 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1965    only    -    Jun    1    0:00    1:00    D
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1965    only    -    Sep    30    0:00    0    S
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1966    only    -    May    29    0:00    1:00    D
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1966    only    -    Oct    2    0:00    0    S
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1967    only    -    Apr    8    0:00    1:00    D
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1967    1968    -    Sep    Sun>=8    0:00    0    S
  {
    1967 /*fromYear*/,
    1968 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1968    only    -    Apr    14    0:00    1:00    D
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1969    1977    -    Apr    lastSun    0:00    1:00    D
  {
    1969 /*fromYear*/,
    1977 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1969    1971    -    Oct    lastSun    0:00    0    S
  {
    1969 /*fromYear*/,
    1971 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1972    1974    -    Oct    8    0:00    0    S
  {
    1972 /*fromYear*/,
    1974 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1975    1977    -    Oct    lastSun    0:00    0    S
  {
    1975 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1978    only    -    May    7    0:00    1:00    D
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1978    1990    -    Oct    Sun>=8    0:00    0    S
  {
    1978 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1979    1980    -    Mar    Sun>=15    0:00    1:00    D
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1981    1985    -    May    Sun>=5    0:00    1:00    D
  {
    1981 /*fromYear*/,
    1985 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1986    1989    -    Mar    Sun>=14    0:00    1:00    D
  {
    1986 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1990    1997    -    Apr    Sun>=1    0:00    1:00    D
  {
    1990 /*fromYear*/,
    1997 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1991    1995    -    Oct    Sun>=8    0:00s    0    S
  {
    1991 /*fromYear*/,
    1995 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1996    only    -    Oct     6    0:00s    0    S
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1997    only    -    Oct    12    0:00s    0    S
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    1998    1999    -    Mar    lastSun    0:00s    1:00    D
  {
    1998 /*fromYear*/,
    1999 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    1998    2003    -    Oct    lastSun    0:00s    0    S
  {
    1998 /*fromYear*/,
    2003 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    2000    2003    -    Apr    Sun>=1    0:00s    1:00    D
  {
    2000 /*fromYear*/,
    2003 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2004    only    -    Mar    lastSun    0:00s    1:00    D
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2006    2010    -    Oct    lastSun    0:00s    0    S
  {
    2006 /*fromYear*/,
    2010 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    2007    only    -    Mar    Sun>=8    0:00s    1:00    D
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2008    only    -    Mar    Sun>=15    0:00s    1:00    D
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2009    2010    -    Mar    Sun>=8    0:00s    1:00    D
  {
    2009 /*fromYear*/,
    2010 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2011    only    -    Mar    Sun>=15    0:00s    1:00    D
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2011    only    -    Nov    13    0:00s    0    S
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    2012    only    -    Apr    1    0:00s    1:00    D
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Cuba    2012    max    -    Nov    Sun>=1    0:00s    0    S
  {
    2012 /*fromYear*/,
    32766 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cuba    2013    max    -    Mar    Sun>=8    0:00s    1:00    D
  {
    2013 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCuba ACE_TIME_PROGMEM = {
  kZoneRulesCuba /*rules*/,
  40 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Cyprus
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCyprus[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Cyprus    1975    only    -    Oct    12    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1975    only    -    Apr    13    0:00    1:00    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cyprus    1975    only    -    Oct    12    0:00    0    -
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1976    only    -    May    15    0:00    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cyprus    1976    only    -    Oct    11    0:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1977    1980    -    Apr    Sun>=1    0:00    1:00    S
  {
    1977 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Cyprus    1977    only    -    Sep    25    0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1978    only    -    Oct    2    0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1979    1997    -    Sep    lastSun    0:00    0    -
  {
    1979 /*fromYear*/,
    1997 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Cyprus    1981    1998    -    Mar    lastSun    0:00    1:00    S
  {
    1981 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCyprus ACE_TIME_PROGMEM = {
  kZoneRulesCyprus /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Czech
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesCzech[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Czech    1945    only    -    Oct     1    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Czech    1945    only    -    Apr    Mon>=1    2:00s    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Czech    1945    only    -    Oct     1    2:00s    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Czech    1946    only    -    May     6    2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Czech    1946    1949    -    Oct    Sun>=1    2:00s    0    -
  {
    1946 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Czech    1947    1948    -    Apr    Sun>=15    2:00s    1:00    S
  {
    1947 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Czech    1949    only    -    Apr     9    2:00s    1:00    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyCzech ACE_TIME_PROGMEM = {
  kZoneRulesCzech /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: DR
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesDR[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    DR    1967    only    -    Feb    28    0:00    0    EST
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    16 /*letterIndex ("EST")*/,
  },
  // Rule    DR    1966    only    -    Oct    30    0:00    1:00    EDT
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    15 /*letterIndex ("EDT")*/,
  },
  // Rule    DR    1967    only    -    Feb    28    0:00    0    EST
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    16 /*letterIndex ("EST")*/,
  },
  // Rule    DR    1969    1973    -    Oct    lastSun    0:00    0:30    -0430
  {
    1969 /*fromYear*/,
    1973 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    4 /*letterIndex ("-0430")*/,
  },
  // Rule    DR    1970    only    -    Feb    21    0:00    0    EST
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    16 /*letterIndex ("EST")*/,
  },
  // Rule    DR    1971    only    -    Jan    20    0:00    0    EST
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    16 /*letterIndex ("EST")*/,
  },
  // Rule    DR    1972    1974    -    Jan    21    0:00    0    EST
  {
    1972 /*fromYear*/,
    1974 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    16 /*letterIndex ("EST")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyDR ACE_TIME_PROGMEM = {
  kZoneRulesDR /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Denver
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesDenver[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Denver    1920    only    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Denver    1920    1921    -    Mar    lastSun    2:00    1:00    D
  {
    1920 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Denver    1920    only    -    Oct    lastSun    2:00    0    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Denver    1921    only    -    May    22    2:00    0    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Denver    1965    1966    -    Apr    lastSun    2:00    1:00    D
  {
    1965 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Denver    1965    1966    -    Oct    lastSun    2:00    0    S
  {
    1965 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyDenver ACE_TIME_PROGMEM = {
  kZoneRulesDenver /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Detroit
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesDetroit[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Detroit    1948    only    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Detroit    1948    only    -    Apr    lastSun    2:00    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Detroit    1948    only    -    Sep    lastSun    2:00    0    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyDetroit ACE_TIME_PROGMEM = {
  kZoneRulesDetroit /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Dhaka
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesDhaka[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Dhaka    2009    only    -    Dec    31    24:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Dhaka    2009    only    -    Jun    19    23:00    1:00    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Dhaka    2009    only    -    Dec    31    24:00    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyDhaka ACE_TIME_PROGMEM = {
  kZoneRulesDhaka /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: E-Eur
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesE_Eur[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    E-Eur    1977    only    -    Sep    lastSun     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    E-Eur    1977    1980    -    Apr    Sun>=1     0:00    1:00    S
  {
    1977 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    E-Eur    1977    only    -    Sep    lastSun     0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    E-Eur    1978    only    -    Oct     1     0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    E-Eur    1979    1995    -    Sep    lastSun     0:00    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    E-Eur    1981    max    -    Mar    lastSun     0:00    1:00    S
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    E-Eur    1996    max    -    Oct    lastSun     0:00    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyE_Eur ACE_TIME_PROGMEM = {
  kZoneRulesE_Eur /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: E-EurAsia
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesE_EurAsia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule E-EurAsia    1979    1995    -    Sep    lastSun     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule E-EurAsia    1981    max    -    Mar    lastSun     0:00    1:00    -
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule E-EurAsia    1979    1995    -    Sep    lastSun     0:00    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule E-EurAsia    1996    max    -    Oct    lastSun     0:00    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyE_EurAsia ACE_TIME_PROGMEM = {
  kZoneRulesE_EurAsia /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: EU
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEU[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    EU    1977    only    -    Sep    lastSun     1:00u    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EU    1977    1980    -    Apr    Sun>=1     1:00u    1:00    S
  {
    1977 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    EU    1977    only    -    Sep    lastSun     1:00u    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EU    1978    only    -    Oct     1     1:00u    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EU    1979    1995    -    Sep    lastSun     1:00u    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EU    1981    max    -    Mar    lastSun     1:00u    1:00    S
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    EU    1996    max    -    Oct    lastSun     1:00u    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEU ACE_TIME_PROGMEM = {
  kZoneRulesEU /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: EUAsia
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEUAsia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    EUAsia    1979    1995    -    Sep    lastSun     1:00u    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EUAsia    1981    max    -    Mar    lastSun     1:00u    1:00    S
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    EUAsia    1979    1995    -    Sep    lastSun     1:00u    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    EUAsia    1996    max    -    Oct    lastSun     1:00u    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEUAsia ACE_TIME_PROGMEM = {
  kZoneRulesEUAsia /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Ecuador
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEcuador[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Ecuador    1993    only    -    Feb     5    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Ecuador    1992    only    -    Nov    28    0:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Ecuador    1993    only    -    Feb     5    0:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEcuador ACE_TIME_PROGMEM = {
  kZoneRulesEcuador /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Edm
// Rules: 14
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEdm[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Edm    1918    only    -    Oct    27    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1918    1919    -    Apr    Sun>=8    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Edm    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1919    only    -    May    27    2:00    0    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1920    1923    -    Apr    lastSun    2:00    1:00    D
  {
    1920 /*fromYear*/,
    1923 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Edm    1920    only    -    Oct    lastSun    2:00    0    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1921    1923    -    Sep    lastSun    2:00    0    S
  {
    1921 /*fromYear*/,
    1923 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Edm    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    Edm    1945    only    -    Sep    lastSun    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1947    only    -    Apr    lastSun    2:00    1:00    D
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Edm    1947    only    -    Sep    lastSun    2:00    0    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Edm    1972    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1972 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Edm    1972    2006    -    Oct    lastSun    2:00    0    S
  {
    1972 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEdm ACE_TIME_PROGMEM = {
  kZoneRulesEdm /*rules*/,
  14 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Egypt
// Rules: 35
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEgypt[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Egypt    1940    only    -    Oct     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1940    only    -    Jul    15    0:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1940    only    -    Oct     1    0:00    0    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1941    only    -    Apr    15    0:00    1:00    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1941    only    -    Sep    16    0:00    0    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1942    1944    -    Apr     1    0:00    1:00    S
  {
    1942 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1942    only    -    Oct    27    0:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1943    1945    -    Nov     1    0:00    0    -
  {
    1943 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1945    only    -    Apr    16    0:00    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1957    only    -    May    10    0:00    1:00    S
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1957    1958    -    Oct     1    0:00    0    -
  {
    1957 /*fromYear*/,
    1958 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1958    only    -    May     1    0:00    1:00    S
  {
    1958 /*fromYear*/,
    1958 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1959    1981    -    May     1    1:00    1:00    S
  {
    1959 /*fromYear*/,
    1981 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1959    1965    -    Sep    30    3:00    0    -
  {
    1959 /*fromYear*/,
    1965 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1966    1994    -    Oct     1    3:00    0    -
  {
    1966 /*fromYear*/,
    1994 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    1982    only    -    Jul    25    1:00    1:00    S
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1983    only    -    Jul    12    1:00    1:00    S
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1984    1988    -    May     1    1:00    1:00    S
  {
    1984 /*fromYear*/,
    1988 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1989    only    -    May     6    1:00    1:00    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1990    1994    -    May     1    1:00    1:00    S
  {
    1990 /*fromYear*/,
    1994 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1995    2010    -    Apr    lastFri     0:00s    1:00    S
  {
    1995 /*fromYear*/,
    2010 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    1995    2005    -    Sep    lastThu    24:00    0    -
  {
    1995 /*fromYear*/,
    2005 /*toYear*/,
    9 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2006    only    -    Sep    21    24:00    0    -
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2007    only    -    Sep    Thu>=1    24:00    0    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    9 /*inMonth*/,
    4 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2008    only    -    Aug    lastThu    24:00    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    8 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2009    only    -    Aug    20    24:00    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2010    only    -    Aug    10    24:00    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2010    only    -    Sep     9    24:00    1:00    S
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    2010    only    -    Sep    lastThu    24:00    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    9 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2014    only    -    May    15    24:00    1:00    S
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    2014    only    -    Jun    26    24:00    0    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2014    only    -    Jul    31    24:00    1:00    S
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    2014    only    -    Sep    lastThu    24:00    0    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    9 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Egypt    2023    max    -    Apr    lastFri     0:00    1:00    S
  {
    2023 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Egypt    2023    max    -    Oct    lastThu    24:00    0    -
  {
    2023 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEgypt ACE_TIME_PROGMEM = {
  kZoneRulesEgypt /*rules*/,
  35 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: EgyptAsia
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEgyptAsia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule EgyptAsia    1957    1958    -    Oct     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule EgyptAsia    1957    only    -    May    10    0:00    1:00    S
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule EgyptAsia    1957    1958    -    Oct     1    0:00    0    -
  {
    1957 /*fromYear*/,
    1958 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule EgyptAsia    1958    only    -    May     1    0:00    1:00    S
  {
    1958 /*fromYear*/,
    1958 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule EgyptAsia    1959    1967    -    May     1    1:00    1:00    S
  {
    1959 /*fromYear*/,
    1967 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule EgyptAsia    1959    1965    -    Sep    30    3:00    0    -
  {
    1959 /*fromYear*/,
    1965 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule EgyptAsia    1966    only    -    Oct     1    3:00    0    -
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEgyptAsia ACE_TIME_PROGMEM = {
  kZoneRulesEgyptAsia /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Eire
// Rules: 8
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesEire[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Eire    1972    1980    -    Mar    Sun>=16     2:00u    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1971    only    -    Oct    31     2:00u    -1:00    -
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1972    1980    -    Mar    Sun>=16     2:00u    0    -
  {
    1972 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1972    1980    -    Oct    Sun>=23     2:00u    -1:00    -
  {
    1972 /*fromYear*/,
    1980 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1981    max    -    Mar    lastSun     1:00u    0    -
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1981    1989    -    Oct    Sun>=23     1:00u    -1:00    -
  {
    1981 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1990    1995    -    Oct    Sun>=22     1:00u    -1:00    -
  {
    1990 /*fromYear*/,
    1995 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Eire    1996    max    -    Oct    lastSun     1:00u    -1:00    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyEire ACE_TIME_PROGMEM = {
  kZoneRulesEire /*rules*/,
  8 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Falk
// Rules: 13
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesFalk[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Falk    1938    1942    -    Mar    Sun>=19    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1937    1938    -    Sep    lastSun    0:00    1:00    -
  {
    1937 /*fromYear*/,
    1938 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1938    1942    -    Mar    Sun>=19    0:00    0    -
  {
    1938 /*fromYear*/,
    1942 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1939    only    -    Oct    1    0:00    1:00    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1940    1942    -    Sep    lastSun    0:00    1:00    -
  {
    1940 /*fromYear*/,
    1942 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1943    only    -    Jan    1    0:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1983    only    -    Sep    lastSun    0:00    1:00    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1984    1985    -    Apr    lastSun    0:00    0    -
  {
    1984 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1984    only    -    Sep    16    0:00    1:00    -
  {
    1984 /*fromYear*/,
    1984 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1985    2000    -    Sep    Sun>=9    0:00    1:00    -
  {
    1985 /*fromYear*/,
    2000 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    1986    2000    -    Apr    Sun>=16    0:00    0    -
  {
    1986 /*fromYear*/,
    2000 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    2001    2010    -    Apr    Sun>=15    2:00    0    -
  {
    2001 /*fromYear*/,
    2010 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Falk    2001    2010    -    Sep    Sun>=1    2:00    1:00    -
  {
    2001 /*fromYear*/,
    2010 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyFalk ACE_TIME_PROGMEM = {
  kZoneRulesFalk /*rules*/,
  13 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Fiji
// Rules: 13
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Fiji    1999    2000    -    Feb    lastSun    3:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    1998    1999    -    Nov    Sun>=1    2:00    1:00    -
  {
    1998 /*fromYear*/,
    1999 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    1999    2000    -    Feb    lastSun    3:00    0    -
  {
    1999 /*fromYear*/,
    2000 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2009    only    -    Nov    29    2:00    1:00    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2010    only    -    Mar    lastSun    3:00    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2010    2013    -    Oct    Sun>=21    2:00    1:00    -
  {
    2010 /*fromYear*/,
    2013 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2011    only    -    Mar    Sun>=1    3:00    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2012    2013    -    Jan    Sun>=18    3:00    0    -
  {
    2012 /*fromYear*/,
    2013 /*toYear*/,
    1 /*inMonth*/,
    7 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2014    only    -    Jan    Sun>=18    2:00    0    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    1 /*inMonth*/,
    7 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2014    2018    -    Nov    Sun>=1    2:00    1:00    -
  {
    2014 /*fromYear*/,
    2018 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2015    2021    -    Jan    Sun>=12    3:00    0    -
  {
    2015 /*fromYear*/,
    2021 /*toYear*/,
    1 /*inMonth*/,
    7 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2019    only    -    Nov    Sun>=8    2:00    1:00    -
  {
    2019 /*fromYear*/,
    2019 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Fiji    2020    only    -    Dec    20    2:00    1:00    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyFiji ACE_TIME_PROGMEM = {
  kZoneRulesFiji /*rules*/,
  13 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Finland
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesFinland[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Finland    1942    only    -    Oct    4    1:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Finland    1942    only    -    Apr    2    24:00    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Finland    1942    only    -    Oct    4    1:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Finland    1981    1982    -    Mar    lastSun    2:00    1:00    S
  {
    1981 /*fromYear*/,
    1982 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Finland    1981    1982    -    Sep    lastSun    3:00    0    -
  {
    1981 /*fromYear*/,
    1982 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyFinland ACE_TIME_PROGMEM = {
  kZoneRulesFinland /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: France
// Rules: 43
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesFrance[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    France    1916    1919    -    Oct    Sun>=1    23:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1916    only    -    Jun    14    23:00s    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1916    1919    -    Oct    Sun>=1    23:00s    0    -
  {
    1916 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1917    only    -    Mar    24    23:00s    1:00    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1918    only    -    Mar     9    23:00s    1:00    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1919    only    -    Mar     1    23:00s    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1920    only    -    Feb    14    23:00s    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1920    only    -    Oct    23    23:00s    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1921    only    -    Mar    14    23:00s    1:00    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1921    only    -    Oct    25    23:00s    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1922    only    -    Mar    25    23:00s    1:00    S
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1922    1938    -    Oct    Sat>=1    23:00s    0    -
  {
    1922 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1923    only    -    May    26    23:00s    1:00    S
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1924    only    -    Mar    29    23:00s    1:00    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1925    only    -    Apr     4    23:00s    1:00    S
  {
    1925 /*fromYear*/,
    1925 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1926    only    -    Apr    17    23:00s    1:00    S
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1927    only    -    Apr     9    23:00s    1:00    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1928    only    -    Apr    14    23:00s    1:00    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1929    only    -    Apr    20    23:00s    1:00    S
  {
    1929 /*fromYear*/,
    1929 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1930    only    -    Apr    12    23:00s    1:00    S
  {
    1930 /*fromYear*/,
    1930 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1931    only    -    Apr    18    23:00s    1:00    S
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1932    only    -    Apr     2    23:00s    1:00    S
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1933    only    -    Mar    25    23:00s    1:00    S
  {
    1933 /*fromYear*/,
    1933 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1934    only    -    Apr     7    23:00s    1:00    S
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1935    only    -    Mar    30    23:00s    1:00    S
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1936    only    -    Apr    18    23:00s    1:00    S
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1937    only    -    Apr     3    23:00s    1:00    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1938    only    -    Mar    26    23:00s    1:00    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1939    only    -    Apr    15    23:00s    1:00    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1939    only    -    Nov    18    23:00s    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1940    only    -    Feb    25     2:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1941    only    -    May     5     0:00    2:00    M
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    France    1941    only    -    Oct     6     0:00    1:00    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1942    only    -    Mar     9     0:00    2:00    M
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    France    1942    only    -    Nov     2     3:00    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1943    only    -    Mar    29     2:00    2:00    M
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    France    1943    only    -    Oct     4     3:00    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1944    only    -    Apr     3     2:00    2:00    M
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    France    1944    only    -    Oct     8     1:00    1:00    S
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1945    only    -    Apr     2     2:00    2:00    M
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    France    1945    only    -    Sep    16     3:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    France    1976    only    -    Mar    28     1:00    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    France    1976    only    -    Sep    26     1:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyFrance ACE_TIME_PROGMEM = {
  kZoneRulesFrance /*rules*/,
  43 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: GB-Eire
// Rules: 66
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesGB_Eire[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    GB-Eire    1916    only    -    Oct     1    2:00s    0    GMT
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1916    only    -    May    21    2:00s    1:00    BST
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1916    only    -    Oct     1    2:00s    0    GMT
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1917    only    -    Apr     8    2:00s    1:00    BST
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1917    only    -    Sep    17    2:00s    0    GMT
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1918    only    -    Mar    24    2:00s    1:00    BST
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1918    only    -    Sep    30    2:00s    0    GMT
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1919    only    -    Mar    30    2:00s    1:00    BST
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1919    only    -    Sep    29    2:00s    0    GMT
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1920    only    -    Mar    28    2:00s    1:00    BST
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1920    only    -    Oct    25    2:00s    0    GMT
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1921    only    -    Apr     3    2:00s    1:00    BST
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1921    only    -    Oct     3    2:00s    0    GMT
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1922    only    -    Mar    26    2:00s    1:00    BST
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1922    only    -    Oct     8    2:00s    0    GMT
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1923    only    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1923    1924    -    Sep    Sun>=16    2:00s    0    GMT
  {
    1923 /*fromYear*/,
    1924 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1924    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1925    1926    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1925 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1925    1938    -    Oct    Sun>=2    2:00s    0    GMT
  {
    1925 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1927    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1928    1929    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1928 /*fromYear*/,
    1929 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1930    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1930 /*fromYear*/,
    1930 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1931    1932    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1931 /*fromYear*/,
    1932 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1933    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1933 /*fromYear*/,
    1933 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1934    only    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1935    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1936    1937    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1936 /*fromYear*/,
    1937 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1938    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1939    only    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1939    only    -    Nov    Sun>=16    2:00s    0    GMT
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1940    only    -    Feb    Sun>=23    2:00s    1:00    BST
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1941    only    -    May    Sun>=2    1:00s    2:00    BDST
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    120 /*deltaMinutes*/,
    6 /*letterIndex ("BDST")*/,
  },
  // Rule    GB-Eire    1941    1943    -    Aug    Sun>=9    1:00s    1:00    BST
  {
    1941 /*fromYear*/,
    1943 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1942    1944    -    Apr    Sun>=2    1:00s    2:00    BDST
  {
    1942 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    120 /*deltaMinutes*/,
    6 /*letterIndex ("BDST")*/,
  },
  // Rule    GB-Eire    1944    only    -    Sep    Sun>=16    1:00s    1:00    BST
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1945    only    -    Apr    Mon>=2    1:00s    2:00    BDST
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    120 /*deltaMinutes*/,
    6 /*letterIndex ("BDST")*/,
  },
  // Rule    GB-Eire    1945    only    -    Jul    Sun>=9    1:00s    1:00    BST
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    7 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1945    1946    -    Oct    Sun>=2    2:00s    0    GMT
  {
    1945 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1946    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1947    only    -    Mar    16    2:00s    1:00    BST
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1947    only    -    Apr    13    1:00s    2:00    BDST
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    120 /*deltaMinutes*/,
    6 /*letterIndex ("BDST")*/,
  },
  // Rule    GB-Eire    1947    only    -    Aug    10    1:00s    1:00    BST
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1947    only    -    Nov     2    2:00s    0    GMT
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1948    only    -    Mar    14    2:00s    1:00    BST
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1948    only    -    Oct    31    2:00s    0    GMT
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1949    only    -    Apr     3    2:00s    1:00    BST
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1949    only    -    Oct    30    2:00s    0    GMT
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1950    1952    -    Apr    Sun>=14    2:00s    1:00    BST
  {
    1950 /*fromYear*/,
    1952 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1950    1952    -    Oct    Sun>=21    2:00s    0    GMT
  {
    1950 /*fromYear*/,
    1952 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1953    only    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1953 /*fromYear*/,
    1953 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1953    1960    -    Oct    Sun>=2    2:00s    0    GMT
  {
    1953 /*fromYear*/,
    1960 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1954    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1955    1956    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1955 /*fromYear*/,
    1956 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1957    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1958    1959    -    Apr    Sun>=16    2:00s    1:00    BST
  {
    1958 /*fromYear*/,
    1959 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1960    only    -    Apr    Sun>=9    2:00s    1:00    BST
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1961    1963    -    Mar    lastSun    2:00s    1:00    BST
  {
    1961 /*fromYear*/,
    1963 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1961    1968    -    Oct    Sun>=23    2:00s    0    GMT
  {
    1961 /*fromYear*/,
    1968 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1964    1967    -    Mar    Sun>=19    2:00s    1:00    BST
  {
    1964 /*fromYear*/,
    1967 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1968    only    -    Feb    18    2:00s    1:00    BST
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1972    1980    -    Mar    Sun>=16    2:00s    1:00    BST
  {
    1972 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire    1972    1980    -    Oct    Sun>=23    2:00s    0    GMT
  {
    1972 /*fromYear*/,
    1980 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire    1981    1995    -    Mar    lastSun    1:00u    1:00    BST
  {
    1981 /*fromYear*/,
    1995 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    7 /*letterIndex ("BST")*/,
  },
  // Rule    GB-Eire 1981    1989    -    Oct    Sun>=23    1:00u    0    GMT
  {
    1981 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },
  // Rule    GB-Eire 1990    1995    -    Oct    Sun>=22    1:00u    0    GMT
  {
    1990 /*fromYear*/,
    1995 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    17 /*letterIndex ("GMT")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyGB_Eire ACE_TIME_PROGMEM = {
  kZoneRulesGB_Eire /*rules*/,
  66 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Germany
// Rules: 9
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesGermany[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Germany    1946    only    -    Oct     7    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Germany    1946    only    -    Apr    14    2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Germany    1946    only    -    Oct     7    2:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Germany    1947    1949    -    Oct    Sun>=1    2:00s    0    -
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Germany    1947    only    -    Apr     6    3:00s    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Germany    1947    only    -    May    11    2:00s    2:00    M
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    Germany    1947    only    -    Jun    29    3:00    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Germany    1948    only    -    Apr    18    2:00s    1:00    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Germany    1949    only    -    Apr    10    2:00s    1:00    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyGermany ACE_TIME_PROGMEM = {
  kZoneRulesGermany /*rules*/,
  9 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Greece
// Rules: 20
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesGreece[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Greece    1932    only    -    Sep     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1932    only    -    Jul     7    0:00    1:00    S
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1932    only    -    Sep     1    0:00    0    -
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1941    only    -    Apr     7    0:00    1:00    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1942    only    -    Nov     2    3:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1943    only    -    Mar    30    0:00    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1943    only    -    Oct     4    0:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1952    only    -    Jul     1    0:00    1:00    S
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1952    only    -    Nov     2    0:00    0    -
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1975    only    -    Apr    12    0:00s    1:00    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1975    only    -    Nov    26    0:00s    0    -
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1976    only    -    Apr    11    2:00s    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1976    only    -    Oct    10    2:00s    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1977    1978    -    Apr    Sun>=1    2:00s    1:00    S
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1977    only    -    Sep    26    2:00s    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1978    only    -    Sep    24    4:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1979    only    -    Apr     1    9:00    1:00    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    2160 /*atTimeCode (32400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1979    only    -    Sep    29    2:00    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Greece    1980    only    -    Apr     1    0:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Greece    1980    only    -    Sep    28    0:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyGreece ACE_TIME_PROGMEM = {
  kZoneRulesGreece /*rules*/,
  20 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Guam
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesGuam[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Guam    1961    only    -    Jan    29    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1959    only    -    Jun    27    2:00    1:00    D
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1961    only    -    Jan    29    2:00    0    S
  {
    1961 /*fromYear*/,
    1961 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1967    only    -    Sep     1    2:00    1:00    D
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1969    only    -    Jan    26    0:01    0    S
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1969    only    -    Jun    22    2:00    1:00    D
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1969    only    -    Aug    31    2:00    0    S
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1970    1971    -    Apr    lastSun    2:00    1:00    D
  {
    1970 /*fromYear*/,
    1971 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1970    1971    -    Sep    Sun>=1    2:00    0    S
  {
    1970 /*fromYear*/,
    1971 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1973    only    -    Dec    16    2:00    1:00    D
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1974    only    -    Feb    24    2:00    0    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1976    only    -    May    26    2:00    1:00    D
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1976    only    -    Aug    22    2:01    0    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    484 /*atTimeCode (7260/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guam    1977    only    -    Apr    24    2:00    1:00    D
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guam    1977    only    -    Aug    28    2:00    0    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyGuam ACE_TIME_PROGMEM = {
  kZoneRulesGuam /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Guat
// Rules: 9
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesGuat[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Guat    1974    only    -    Feb    24    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guat    1973    only    -    Nov    25    0:00    1:00    D
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guat    1974    only    -    Feb    24    0:00    0    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guat    1983    only    -    May    21    0:00    1:00    D
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guat    1983    only    -    Sep    22    0:00    0    S
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guat    1991    only    -    Mar    23    0:00    1:00    D
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guat    1991    only    -    Sep     7    0:00    0    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Guat    2006    only    -    Apr    30    0:00    1:00    D
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Guat    2006    only    -    Oct     1    0:00    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyGuat ACE_TIME_PROGMEM = {
  kZoneRulesGuat /*rules*/,
  9 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: HK
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHK[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    HK    1946    only    -    Dec    1    3:30s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1946    only    -    Apr    21    0:00    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1946    only    -    Dec    1    3:30s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1947    only    -    Apr    13    3:30s    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1947    only    -    Nov    30    3:30s    0    -
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1948    only    -    May    2    3:30s    1:00    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1948    1952    -    Oct    Sun>=28    3:30s    0    -
  {
    1948 /*fromYear*/,
    1952 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1949    1953    -    Apr    Sun>=1    3:30    1:00    S
  {
    1949 /*fromYear*/,
    1953 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1953    1964    -    Oct    Sun>=31    3:30    0    -
  {
    1953 /*fromYear*/,
    1964 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1954    1964    -    Mar    Sun>=18    3:30    1:00    S
  {
    1954 /*fromYear*/,
    1964 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1965    1976    -    Apr    Sun>=16    3:30    1:00    S
  {
    1965 /*fromYear*/,
    1976 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1965    1976    -    Oct    Sun>=16    3:30    0    -
  {
    1965 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    HK    1973    only    -    Dec    30    3:30    1:00    S
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1979    only    -    May    13    3:30    1:00    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    HK    1979    only    -    Oct    21    3:30    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHK ACE_TIME_PROGMEM = {
  kZoneRulesHK /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Haiti
// Rules: 12
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHaiti[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Haiti    1983    1987    -    Oct    lastSun    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Haiti    1983    only    -    May    8    0:00    1:00    D
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    1984    1987    -    Apr    lastSun    0:00    1:00    D
  {
    1984 /*fromYear*/,
    1987 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    1983    1987    -    Oct    lastSun    0:00    0    S
  {
    1983 /*fromYear*/,
    1987 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Haiti    1988    1997    -    Apr    Sun>=1    1:00s    1:00    D
  {
    1988 /*fromYear*/,
    1997 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    1988    1997    -    Oct    lastSun    1:00s    0    S
  {
    1988 /*fromYear*/,
    1997 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Haiti    2005    2006    -    Apr    Sun>=1    0:00    1:00    D
  {
    2005 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    2005    2006    -    Oct    lastSun    0:00    0    S
  {
    2005 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Haiti    2012    2015    -    Mar    Sun>=8    2:00    1:00    D
  {
    2012 /*fromYear*/,
    2015 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    2012    2015    -    Nov    Sun>=1    2:00    0    S
  {
    2012 /*fromYear*/,
    2015 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Haiti    2017    max    -    Mar    Sun>=8    2:00    1:00    D
  {
    2017 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Haiti    2017    max    -    Nov    Sun>=1    2:00    0    S
  {
    2017 /*fromYear*/,
    32766 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHaiti ACE_TIME_PROGMEM = {
  kZoneRulesHaiti /*rules*/,
  12 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Halifax
// Rules: 42
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHalifax[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Halifax    1916    only    -    Oct     1    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1916    only    -    Apr     1    0:00    1:00    D
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1916    only    -    Oct     1    0:00    0    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1920    only    -    May     9    0:00    1:00    D
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1920    only    -    Aug    29    0:00    0    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1921    only    -    May     6    0:00    1:00    D
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1921    1922    -    Sep     5    0:00    0    S
  {
    1921 /*fromYear*/,
    1922 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1922    only    -    Apr    30    0:00    1:00    D
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1923    1925    -    May    Sun>=1    0:00    1:00    D
  {
    1923 /*fromYear*/,
    1925 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1923    only    -    Sep     4    0:00    0    S
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1924    only    -    Sep    15    0:00    0    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1925    only    -    Sep    28    0:00    0    S
  {
    1925 /*fromYear*/,
    1925 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1926    only    -    May    16    0:00    1:00    D
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1926    only    -    Sep    13    0:00    0    S
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1927    only    -    May     1    0:00    1:00    D
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1927    only    -    Sep    26    0:00    0    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1928    1931    -    May    Sun>=8    0:00    1:00    D
  {
    1928 /*fromYear*/,
    1931 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1928    only    -    Sep     9    0:00    0    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1929    only    -    Sep     3    0:00    0    S
  {
    1929 /*fromYear*/,
    1929 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1930    only    -    Sep    15    0:00    0    S
  {
    1930 /*fromYear*/,
    1930 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1931    1932    -    Sep    Mon>=24    0:00    0    S
  {
    1931 /*fromYear*/,
    1932 /*toYear*/,
    9 /*inMonth*/,
    1 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1932    only    -    May     1    0:00    1:00    D
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1933    only    -    Apr    30    0:00    1:00    D
  {
    1933 /*fromYear*/,
    1933 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1933    only    -    Oct     2    0:00    0    S
  {
    1933 /*fromYear*/,
    1933 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1934    only    -    May    20    0:00    1:00    D
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1934    only    -    Sep    16    0:00    0    S
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1935    only    -    Jun     2    0:00    1:00    D
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1935    only    -    Sep    30    0:00    0    S
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1936    only    -    Jun     1    0:00    1:00    D
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1936    only    -    Sep    14    0:00    0    S
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1937    1938    -    May    Sun>=1    0:00    1:00    D
  {
    1937 /*fromYear*/,
    1938 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1937    1941    -    Sep    Mon>=24    0:00    0    S
  {
    1937 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    1 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1939    only    -    May    28    0:00    1:00    D
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1940    1941    -    May    Sun>=1    0:00    1:00    D
  {
    1940 /*fromYear*/,
    1941 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1946    1949    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1946    1949    -    Sep    lastSun    2:00    0    S
  {
    1946 /*fromYear*/,
    1949 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1951    1954    -    Apr    lastSun    2:00    1:00    D
  {
    1951 /*fromYear*/,
    1954 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1951    1954    -    Sep    lastSun    2:00    0    S
  {
    1951 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1956    1959    -    Apr    lastSun    2:00    1:00    D
  {
    1956 /*fromYear*/,
    1959 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1956    1959    -    Sep    lastSun    2:00    0    S
  {
    1956 /*fromYear*/,
    1959 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Halifax    1962    1973    -    Apr    lastSun    2:00    1:00    D
  {
    1962 /*fromYear*/,
    1973 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Halifax    1962    1973    -    Oct    lastSun    2:00    0    S
  {
    1962 /*fromYear*/,
    1973 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHalifax ACE_TIME_PROGMEM = {
  kZoneRulesHalifax /*rules*/,
  42 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Holiday
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHoliday[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Holiday    1993    1994    -    Mar    Sun>=1    2:00s    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Holiday    1992    1993    -    Oct    lastSun    2:00s    1:00    D
  {
    1992 /*fromYear*/,
    1993 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Holiday    1993    1994    -    Mar    Sun>=1    2:00s    0    S
  {
    1993 /*fromYear*/,
    1994 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHoliday ACE_TIME_PROGMEM = {
  kZoneRulesHoliday /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Hond
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHond[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Hond    1987    1988    -    Sep    lastSun    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hond    1987    1988    -    May    Sun>=1    0:00    1:00    D
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Hond    1987    1988    -    Sep    lastSun    0:00    0    S
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hond    2006    only    -    May    Sun>=1    0:00    1:00    D
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Hond    2006    only    -    Aug    Mon>=1    0:00    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    8 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHond ACE_TIME_PROGMEM = {
  kZoneRulesHond /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Hungary
// Rules: 20
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesHungary[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Hungary    1918    1920    -    Sep    Mon>=15     3:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1918    1919    -    Apr    15     2:00    1:00    S
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1918    1920    -    Sep    Mon>=15     3:00    0    -
  {
    1918 /*fromYear*/,
    1920 /*toYear*/,
    9 /*inMonth*/,
    1 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1920    only    -    Apr     5     2:00    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1945    only    -    May     1    23:00    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1945    only    -    Nov     1     1:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1946    only    -    Mar    31     2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1946    only    -    Oct     7     2:00    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1947    1949    -    Apr    Sun>=4     2:00s    1:00    S
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1947    1949    -    Oct    Sun>=1     2:00s    0    -
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1954    only    -    May    23     0:00    1:00    S
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1954    only    -    Oct     3     0:00    0    -
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1955    only    -    May    22     2:00    1:00    S
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1955    only    -    Oct     2     3:00    0    -
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1956    1957    -    Jun    Sun>=1     2:00    1:00    S
  {
    1956 /*fromYear*/,
    1957 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1956    1957    -    Sep    lastSun     3:00    0    -
  {
    1956 /*fromYear*/,
    1957 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1980    only    -    Apr     6     0:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1980    only    -    Sep    28     1:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Hungary    1981    1983    -    Mar    lastSun     0:00    1:00    S
  {
    1981 /*fromYear*/,
    1983 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Hungary    1981    1983    -    Sep    lastSun     1:00    0    -
  {
    1981 /*fromYear*/,
    1983 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyHungary ACE_TIME_PROGMEM = {
  kZoneRulesHungary /*rules*/,
  20 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Indianapolis
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesIndianapolis[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Indianapolis 1941    1954    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Indianapolis 1941    only    -    Jun    22    2:00    1:00    D
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Indianapolis 1941    1954    -    Sep    lastSun    2:00    0    S
  {
    1941 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Indianapolis 1946    1954    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1954 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyIndianapolis ACE_TIME_PROGMEM = {
  kZoneRulesIndianapolis /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Iran
// Rules: 41
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesIran[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Iran    1910    only    -    Jan     1    00:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1910    only    -    Jan     1    00:00    0    -
  {
    1910 /*fromYear*/,
    1910 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1977    only    -    Mar    21    23:00    1:00    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1977    only    -    Oct    20    24:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1978    only    -    Mar    24    24:00    1:00    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1978    only    -    Aug     5    01:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1979    only    -    May    26    24:00    1:00    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1979    only    -    Sep    18    24:00    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1980    only    -    Mar    20    24:00    1:00    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1980    only    -    Sep    22    24:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1991    only    -    May     2    24:00    1:00    -
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1992    1995    -    Mar    21    24:00    1:00    -
  {
    1992 /*fromYear*/,
    1995 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1991    1995    -    Sep    21    24:00    0    -
  {
    1991 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1996    only    -    Mar    20    24:00    1:00    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1996    only    -    Sep    20    24:00    0    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1997    1999    -    Mar    21    24:00    1:00    -
  {
    1997 /*fromYear*/,
    1999 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    1997    1999    -    Sep    21    24:00    0    -
  {
    1997 /*fromYear*/,
    1999 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2000    only    -    Mar    20    24:00    1:00    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2000    only    -    Sep    20    24:00    0    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2001    2003    -    Mar    21    24:00    1:00    -
  {
    2001 /*fromYear*/,
    2003 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2001    2003    -    Sep    21    24:00    0    -
  {
    2001 /*fromYear*/,
    2003 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2004    only    -    Mar    20    24:00    1:00    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2004    only    -    Sep    20    24:00    0    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2005    only    -    Mar    21    24:00    1:00    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2005    only    -    Sep    21    24:00    0    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2008    only    -    Mar    20    24:00    1:00    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2008    only    -    Sep    20    24:00    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2009    2011    -    Mar    21    24:00    1:00    -
  {
    2009 /*fromYear*/,
    2011 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2009    2011    -    Sep    21    24:00    0    -
  {
    2009 /*fromYear*/,
    2011 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2012    only    -    Mar    20    24:00    1:00    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2012    only    -    Sep    20    24:00    0    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2013    2015    -    Mar    21    24:00    1:00    -
  {
    2013 /*fromYear*/,
    2015 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2013    2015    -    Sep    21    24:00    0    -
  {
    2013 /*fromYear*/,
    2015 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2016    only    -    Mar    20    24:00    1:00    -
  {
    2016 /*fromYear*/,
    2016 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2016    only    -    Sep    20    24:00    0    -
  {
    2016 /*fromYear*/,
    2016 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2017    2019    -    Mar    21    24:00    1:00    -
  {
    2017 /*fromYear*/,
    2019 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2017    2019    -    Sep    21    24:00    0    -
  {
    2017 /*fromYear*/,
    2019 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2020    only    -    Mar    20    24:00    1:00    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2020    only    -    Sep    20    24:00    0    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2021    2022    -    Mar    21    24:00    1:00    -
  {
    2021 /*fromYear*/,
    2022 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iran    2021    2022    -    Sep    21    24:00    0    -
  {
    2021 /*fromYear*/,
    2022 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyIran ACE_TIME_PROGMEM = {
  kZoneRulesIran /*rules*/,
  41 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Iraq
// Rules: 9
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesIraq[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Iraq    1982    1984    -    Oct    1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1982    only    -    May    1    0:00    1:00    -
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1982    1984    -    Oct    1    0:00    0    -
  {
    1982 /*fromYear*/,
    1984 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1983    only    -    Mar    31    0:00    1:00    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1984    1985    -    Apr    1    0:00    1:00    -
  {
    1984 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1985    1990    -    Sep    lastSun    1:00s    0    -
  {
    1985 /*fromYear*/,
    1990 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1986    1990    -    Mar    lastSun    1:00s    1:00    -
  {
    1986 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1991    2007    -    Apr     1    3:00s    1:00    -
  {
    1991 /*fromYear*/,
    2007 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Iraq    1991    2007    -    Oct     1    3:00s    0    -
  {
    1991 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyIraq ACE_TIME_PROGMEM = {
  kZoneRulesIraq /*rules*/,
  9 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Italy
// Rules: 42
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesItaly[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Italy    1916    1917    -    Sep    30    24:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1916    only    -    Jun     3    24:00    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1916    1917    -    Sep    30    24:00    0    -
  {
    1916 /*fromYear*/,
    1917 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1917    only    -    Mar    31    24:00    1:00    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1918    only    -    Mar     9    24:00    1:00    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1918    only    -    Oct     6    24:00    0    -
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1919    only    -    Mar     1    24:00    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1919    only    -    Oct     4    24:00    0    -
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1920    only    -    Mar    20    24:00    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1920    only    -    Sep    18    24:00    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1940    only    -    Jun    14    24:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1942    only    -    Nov     2     2:00s    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1943    only    -    Mar    29     2:00s    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1943    only    -    Oct     4     2:00s    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1944    only    -    Apr     2     2:00s    1:00    S
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1944    only    -    Sep    17     2:00s    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1945    only    -    Apr     2     2:00    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1945    only    -    Sep    15     1:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1946    only    -    Mar    17     2:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1946    only    -    Oct     6     2:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1947    only    -    Mar    16     0:00s    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1947    only    -    Oct     5     0:00s    0    -
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1948    only    -    Feb    29     2:00s    1:00    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1948    only    -    Oct     3     2:00s    0    -
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1966    1968    -    May    Sun>=22     0:00s    1:00    S
  {
    1966 /*fromYear*/,
    1968 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1966    only    -    Sep    24    24:00    0    -
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1967    1969    -    Sep    Sun>=22     0:00s    0    -
  {
    1967 /*fromYear*/,
    1969 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1969    only    -    Jun     1     0:00s    1:00    S
  {
    1969 /*fromYear*/,
    1969 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1970    only    -    May    31     0:00s    1:00    S
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1970    only    -    Sep    lastSun     0:00s    0    -
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1971    1972    -    May    Sun>=22     0:00s    1:00    S
  {
    1971 /*fromYear*/,
    1972 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1971    only    -    Sep    lastSun     0:00s    0    -
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1972    only    -    Oct     1     0:00s    0    -
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1973    only    -    Jun     3     0:00s    1:00    S
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1973    1974    -    Sep    lastSun     0:00s    0    -
  {
    1973 /*fromYear*/,
    1974 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1974    only    -    May    26     0:00s    1:00    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1975    only    -    Jun     1     0:00s    1:00    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1975    1977    -    Sep    lastSun     0:00s    0    -
  {
    1975 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1976    only    -    May    30     0:00s    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1977    1979    -    May    Sun>=22     0:00s    1:00    S
  {
    1977 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Italy    1978    only    -    Oct     1     0:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Italy    1979    only    -    Sep    30     0:00s    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyItaly ACE_TIME_PROGMEM = {
  kZoneRulesItaly /*rules*/,
  42 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Japan
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesJapan[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Japan    1948    1951    -    Sep    Sat>=8    25:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Japan    1948    only    -    May    Sat>=1    24:00    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    5 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Japan    1948    1951    -    Sep    Sat>=8    25:00    0    S
  {
    1948 /*fromYear*/,
    1951 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    6000 /*atTimeCode (90000/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Japan    1949    only    -    Apr    Sat>=1    24:00    1:00    D
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Japan    1950    1951    -    May    Sat>=1    24:00    1:00    D
  {
    1950 /*fromYear*/,
    1951 /*toYear*/,
    5 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyJapan ACE_TIME_PROGMEM = {
  kZoneRulesJapan /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Jordan
// Rules: 33
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesJordan[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Jordan    1973    1975    -    Oct    1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1973    only    -    Jun    6    0:00    1:00    S
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1973    1975    -    Oct    1    0:00    0    -
  {
    1973 /*fromYear*/,
    1975 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1974    1977    -    May    1    0:00    1:00    S
  {
    1974 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1976    only    -    Nov    1    0:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1977    only    -    Oct    1    0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1978    only    -    Apr    30    0:00    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1978    only    -    Sep    30    0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1985    only    -    Apr    1    0:00    1:00    S
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1985    only    -    Oct    1    0:00    0    -
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1986    1988    -    Apr    Fri>=1    0:00    1:00    S
  {
    1986 /*fromYear*/,
    1988 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1986    1990    -    Oct    Fri>=1    0:00    0    -
  {
    1986 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1989    only    -    May    8    0:00    1:00    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1990    only    -    Apr    27    0:00    1:00    S
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1991    only    -    Apr    17    0:00    1:00    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1991    only    -    Sep    27    0:00    0    -
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1992    only    -    Apr    10    0:00    1:00    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1992    1993    -    Oct    Fri>=1    0:00    0    -
  {
    1992 /*fromYear*/,
    1993 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1993    1998    -    Apr    Fri>=1    0:00    1:00    S
  {
    1993 /*fromYear*/,
    1998 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1994    only    -    Sep    Fri>=15    0:00    0    -
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    9 /*inMonth*/,
    5 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1995    1998    -    Sep    Fri>=15    0:00s    0    -
  {
    1995 /*fromYear*/,
    1998 /*toYear*/,
    9 /*inMonth*/,
    5 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    1999    only    -    Jul     1    0:00s    1:00    S
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    1999    2002    -    Sep    lastFri    0:00s    0    -
  {
    1999 /*fromYear*/,
    2002 /*toYear*/,
    9 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2000    2001    -    Mar    lastThu    0:00s    1:00    S
  {
    2000 /*fromYear*/,
    2001 /*toYear*/,
    3 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    2002    2012    -    Mar    lastThu    24:00    1:00    S
  {
    2002 /*fromYear*/,
    2012 /*toYear*/,
    3 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    2003    only    -    Oct    24    0:00s    0    -
  {
    2003 /*fromYear*/,
    2003 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2004    only    -    Oct    15    0:00s    0    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2005    only    -    Sep    lastFri    0:00s    0    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    9 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2006    2011    -    Oct    lastFri    0:00s    0    -
  {
    2006 /*fromYear*/,
    2011 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2013    only    -    Dec    20    0:00    0    -
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2014    2021    -    Mar    lastThu    24:00    1:00    S
  {
    2014 /*fromYear*/,
    2021 /*toYear*/,
    3 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Jordan    2014    2022    -    Oct    lastFri    0:00s    0    -
  {
    2014 /*fromYear*/,
    2022 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Jordan    2022    only    -    Feb    lastThu    24:00    1:00    S
  {
    2022 /*fromYear*/,
    2022 /*toYear*/,
    2 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyJordan ACE_TIME_PROGMEM = {
  kZoneRulesJordan /*rules*/,
  33 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Kyrgyz
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesKyrgyz[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Kyrgyz    1992    1996    -    Sep    lastSun    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Kyrgyz    1992    1996    -    Apr    Sun>=7    0:00s    1:00    -
  {
    1992 /*fromYear*/,
    1996 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Kyrgyz    1992    1996    -    Sep    lastSun    0:00    0    -
  {
    1992 /*fromYear*/,
    1996 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Kyrgyz    1997    2005    -    Mar    lastSun    2:30    1:00    -
  {
    1997 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    600 /*atTimeCode (9000/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Kyrgyz    1997    2004    -    Oct    lastSun    2:30    0    -
  {
    1997 /*fromYear*/,
    2004 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    600 /*atTimeCode (9000/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyKyrgyz ACE_TIME_PROGMEM = {
  kZoneRulesKyrgyz /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: LH
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesLH[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    LH    1982    1985    -    Mar    Sun>=1    2:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1981    1984    -    Oct    lastSun    2:00    1:00    -
  {
    1981 /*fromYear*/,
    1984 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1982    1985    -    Mar    Sun>=1    2:00    0    -
  {
    1982 /*fromYear*/,
    1985 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1985    only    -    Oct    lastSun    2:00    0:30    -
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1986    1989    -    Mar    Sun>=15    2:00    0    -
  {
    1986 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1986    only    -    Oct    19    2:00    0:30    -
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1987    1999    -    Oct    lastSun    2:00    0:30    -
  {
    1987 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1990    1995    -    Mar    Sun>=1    2:00    0    -
  {
    1990 /*fromYear*/,
    1995 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    1996    2005    -    Mar    lastSun    2:00    0    -
  {
    1996 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2000    only    -    Aug    lastSun    2:00    0:30    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    8 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2001    2007    -    Oct    lastSun    2:00    0:30    -
  {
    2001 /*fromYear*/,
    2007 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2006    only    -    Apr    Sun>=1    2:00    0    -
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2007    only    -    Mar    lastSun    2:00    0    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2008    max    -    Apr    Sun>=1    2:00    0    -
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    LH    2008    max    -    Oct    Sun>=1    2:00    0:30    -
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyLH ACE_TIME_PROGMEM = {
  kZoneRulesLH /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Latvia
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesLatvia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Latvia    1989    1996    -    Sep    lastSun     2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Latvia    1989    1996    -    Mar    lastSun     2:00s    1:00    S
  {
    1989 /*fromYear*/,
    1996 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Latvia    1989    1996    -    Sep    lastSun     2:00s    0    -
  {
    1989 /*fromYear*/,
    1996 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyLatvia ACE_TIME_PROGMEM = {
  kZoneRulesLatvia /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Lebanon
// Rules: 25
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Lebanon    1920    only    -    Oct    25    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1920    only    -    Mar    28    0:00    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1920    only    -    Oct    25    0:00    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1921    only    -    Apr    3    0:00    1:00    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1921    only    -    Oct    3    0:00    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1922    only    -    Mar    26    0:00    1:00    S
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1922    only    -    Oct    8    0:00    0    -
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1923    only    -    Apr    22    0:00    1:00    S
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1923    only    -    Sep    16    0:00    0    -
  {
    1923 /*fromYear*/,
    1923 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1957    1961    -    May    1    0:00    1:00    S
  {
    1957 /*fromYear*/,
    1961 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1957    1961    -    Oct    1    0:00    0    -
  {
    1957 /*fromYear*/,
    1961 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1972    only    -    Jun    22    0:00    1:00    S
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1972    1977    -    Oct    1    0:00    0    -
  {
    1972 /*fromYear*/,
    1977 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1973    1977    -    May    1    0:00    1:00    S
  {
    1973 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1978    only    -    Apr    30    0:00    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1978    only    -    Sep    30    0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1984    1987    -    May    1    0:00    1:00    S
  {
    1984 /*fromYear*/,
    1987 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1984    1991    -    Oct    16    0:00    0    -
  {
    1984 /*fromYear*/,
    1991 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1988    only    -    Jun    1    0:00    1:00    S
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1989    only    -    May    10    0:00    1:00    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1990    1992    -    May    1    0:00    1:00    S
  {
    1990 /*fromYear*/,
    1992 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1992    only    -    Oct    4    0:00    0    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1993    max    -    Mar    lastSun    0:00    1:00    S
  {
    1993 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Lebanon    1993    1998    -    Sep    lastSun    0:00    0    -
  {
    1993 /*fromYear*/,
    1998 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Lebanon    1999    max    -    Oct    lastSun    0:00    0    -
  {
    1999 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyLebanon ACE_TIME_PROGMEM = {
  kZoneRulesLebanon /*rules*/,
  25 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Libya
// Rules: 18
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesLibya[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Libya    1952    only    -    Jan     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1951    only    -    Oct    14    2:00    1:00    S
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1952    only    -    Jan     1    0:00    0    -
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1953    only    -    Oct     9    2:00    1:00    S
  {
    1953 /*fromYear*/,
    1953 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1954    only    -    Jan     1    0:00    0    -
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1955    only    -    Sep    30    0:00    1:00    S
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1956    only    -    Jan     1    0:00    0    -
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1982    1984    -    Apr     1    0:00    1:00    S
  {
    1982 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1982    1985    -    Oct     1    0:00    0    -
  {
    1982 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1985    only    -    Apr     6    0:00    1:00    S
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1986    only    -    Apr     4    0:00    1:00    S
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1986    only    -    Oct     3    0:00    0    -
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1987    1989    -    Apr     1    0:00    1:00    S
  {
    1987 /*fromYear*/,
    1989 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1987    1989    -    Oct     1    0:00    0    -
  {
    1987 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    1997    only    -    Apr     4    0:00    1:00    S
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    1997    only    -    Oct     4    0:00    0    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Libya    2013    only    -    Mar    lastFri    1:00    1:00    S
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Libya    2013    only    -    Oct    lastFri    2:00    0    -
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyLibya ACE_TIME_PROGMEM = {
  kZoneRulesLibya /*rules*/,
  18 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Louisville
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesLouisville[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Louisville    1921    only    -    Sep    1    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Louisville    1921    only    -    May    1    2:00    1:00    D
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Louisville    1921    only    -    Sep    1    2:00    0    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Louisville    1941    only    -    Apr    lastSun    2:00    1:00    D
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Louisville    1941    only    -    Sep    lastSun    2:00    0    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Louisville    1946    only    -    Apr    lastSun    0:01    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Louisville    1946    only    -    Jun    2    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Louisville    1950    1961    -    Apr    lastSun    2:00    1:00    D
  {
    1950 /*fromYear*/,
    1961 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Louisville    1950    1955    -    Sep    lastSun    2:00    0    S
  {
    1950 /*fromYear*/,
    1955 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Louisville    1956    1961    -    Oct    lastSun    2:00    0    S
  {
    1956 /*fromYear*/,
    1961 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyLouisville ACE_TIME_PROGMEM = {
  kZoneRulesLouisville /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Macau
// Rules: 28
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMacau[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Macau    1942    only    -    Nov    17    23:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Macau    1942    1943    -    Apr    30    23:00    1:00    -
  {
    1942 /*fromYear*/,
    1943 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Macau    1942    only    -    Nov    17    23:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Macau    1943    only    -    Sep    30    23:00    0    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1946    only    -    Apr    30    23:00s    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1946    only    -    Sep    30    23:00s    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1947    only    -    Apr    19    23:00s    1:00    D
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1947    only    -    Nov    30    23:00s    0    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1948    only    -    May     2    23:00s    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1948    only    -    Oct    31    23:00s    0    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1949    1950    -    Apr    Sat>=1    23:00s    1:00    D
  {
    1949 /*fromYear*/,
    1950 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1949    1950    -    Oct    lastSat    23:00s    0    S
  {
    1949 /*fromYear*/,
    1950 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1951    only    -    Mar    31    23:00s    1:00    D
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1951    only    -    Oct    28    23:00s    0    S
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1952    1953    -    Apr    Sat>=1    23:00s    1:00    D
  {
    1952 /*fromYear*/,
    1953 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1952    only    -    Nov     1    23:00s    0    S
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1953    1954    -    Oct    lastSat    23:00s    0    S
  {
    1953 /*fromYear*/,
    1954 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1954    1956    -    Mar    Sat>=17    23:00s    1:00    D
  {
    1954 /*fromYear*/,
    1956 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1955    only    -    Nov     5    23:00s    0    S
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1956    1964    -    Nov    Sun>=1    03:30    0    S
  {
    1956 /*fromYear*/,
    1964 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1957    1964    -    Mar    Sun>=18    03:30    1:00    D
  {
    1957 /*fromYear*/,
    1964 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1965    1973    -    Apr    Sun>=16    03:30    1:00    D
  {
    1965 /*fromYear*/,
    1973 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1965    1966    -    Oct    Sun>=16    02:30    0    S
  {
    1965 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    600 /*atTimeCode (9000/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1967    1976    -    Oct    Sun>=16    03:30    0    S
  {
    1967 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Macau    1973    only    -    Dec    30    03:30    1:00    D
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1975    1976    -    Apr    Sun>=16    03:30    1:00    D
  {
    1975 /*fromYear*/,
    1976 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1979    only    -    May    13    03:30    1:00    D
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Macau    1979    only    -    Oct    Sun>=16    03:30    0    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    840 /*atTimeCode (12600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMacau ACE_TIME_PROGMEM = {
  kZoneRulesMacau /*rules*/,
  28 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Malta
// Rules: 8
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMalta[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Malta    1973    only    -    Sep    29    0:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Malta    1973    only    -    Mar    31    0:00s    1:00    S
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Malta    1973    only    -    Sep    29    0:00s    0    -
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Malta    1974    only    -    Apr    21    0:00s    1:00    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Malta    1974    only    -    Sep    16    0:00s    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Malta    1975    1979    -    Apr    Sun>=15    2:00    1:00    S
  {
    1975 /*fromYear*/,
    1979 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Malta    1975    1980    -    Sep    Sun>=15    2:00    0    -
  {
    1975 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Malta    1980    only    -    Mar    31    2:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMalta ACE_TIME_PROGMEM = {
  kZoneRulesMalta /*rules*/,
  8 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Marengo
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMarengo[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Marengo    1951    only    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Marengo    1951    only    -    Apr    lastSun    2:00    1:00    D
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Marengo    1951    only    -    Sep    lastSun    2:00    0    S
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Marengo    1954    1960    -    Apr    lastSun    2:00    1:00    D
  {
    1954 /*fromYear*/,
    1960 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Marengo    1954    1960    -    Sep    lastSun    2:00    0    S
  {
    1954 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMarengo ACE_TIME_PROGMEM = {
  kZoneRulesMarengo /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Mauritius
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMauritius[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Mauritius    1983    only    -    Mar    21    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Mauritius    1982    only    -    Oct    10    0:00    1:00    -
  {
    1982 /*fromYear*/,
    1982 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Mauritius    1983    only    -    Mar    21    0:00    0    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Mauritius    2008    only    -    Oct    lastSun    2:00    1:00    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Mauritius    2009    only    -    Mar    lastSun    2:00    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMauritius ACE_TIME_PROGMEM = {
  kZoneRulesMauritius /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Menominee
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMenominee[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Menominee    1946    only    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Menominee    1946    only    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Menominee    1946    only    -    Sep    lastSun    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Menominee    1966    only    -    Apr    lastSun    2:00    1:00    D
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Menominee    1966    only    -    Oct    lastSun    2:00    0    S
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMenominee ACE_TIME_PROGMEM = {
  kZoneRulesMenominee /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Mexico
// Rules: 17
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Mexico    1931    only    -    Oct    1    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1931    only    -    Apr    30    0:00    1:00    D
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    1931    only    -    Oct    1    0:00    0    S
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1939    only    -    Feb    5    0:00    1:00    D
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    1939    only    -    Jun    25    0:00    0    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1940    only    -    Dec    9    0:00    1:00    D
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    1941    only    -    Apr    1    0:00    0    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1943    only    -    Dec    16    0:00    1:00    W
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Mexico    1944    only    -    May    1    0:00    0    S
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1950    only    -    Feb    12    0:00    1:00    D
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    1950    only    -    Jul    30    0:00    0    S
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    1996    2000    -    Apr    Sun>=1    2:00    1:00    D
  {
    1996 /*fromYear*/,
    2000 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    1996    2000    -    Oct    lastSun    2:00    0    S
  {
    1996 /*fromYear*/,
    2000 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    2001    only    -    May    Sun>=1    2:00    1:00    D
  {
    2001 /*fromYear*/,
    2001 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    2001    only    -    Sep    lastSun    2:00    0    S
  {
    2001 /*fromYear*/,
    2001 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Mexico    2002    2022    -    Apr    Sun>=1    2:00    1:00    D
  {
    2002 /*fromYear*/,
    2022 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Mexico    2002    2022    -    Oct    lastSun    2:00    0    S
  {
    2002 /*fromYear*/,
    2022 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMexico ACE_TIME_PROGMEM = {
  kZoneRulesMexico /*rules*/,
  17 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Moldova
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMoldova[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Moldova    1997    max    -    Oct    lastSun     3:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Moldova    1997    max    -    Mar    lastSun     2:00    1:00    S
  {
    1997 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moldova    1997    max    -    Oct    lastSun     3:00    0    -
  {
    1997 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMoldova ACE_TIME_PROGMEM = {
  kZoneRulesMoldova /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Moncton
// Rules: 14
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMoncton[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Moncton    1933    1935    -    Sep    Sun>=8    1:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1933    1935    -    Jun    Sun>=8    1:00    1:00    D
  {
    1933 /*fromYear*/,
    1935 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1933    1935    -    Sep    Sun>=8    1:00    0    S
  {
    1933 /*fromYear*/,
    1935 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1936    1938    -    Jun    Sun>=1    1:00    1:00    D
  {
    1936 /*fromYear*/,
    1938 /*toYear*/,
    6 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1936    1938    -    Sep    Sun>=1    1:00    0    S
  {
    1936 /*fromYear*/,
    1938 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1939    only    -    May    27    1:00    1:00    D
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1939    1941    -    Sep    Sat>=21    1:00    0    S
  {
    1939 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1940    only    -    May    19    1:00    1:00    D
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1941    only    -    May     4    1:00    1:00    D
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1946    1972    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1972 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1946    1956    -    Sep    lastSun    2:00    0    S
  {
    1946 /*fromYear*/,
    1956 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1957    1972    -    Oct    lastSun    2:00    0    S
  {
    1957 /*fromYear*/,
    1972 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Moncton    1993    2006    -    Apr    Sun>=1    0:01    1:00    D
  {
    1993 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Moncton    1993    2006    -    Oct    lastSun    0:01    0    S
  {
    1993 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMoncton ACE_TIME_PROGMEM = {
  kZoneRulesMoncton /*rules*/,
  14 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Mongol
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMongol[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Mongol    1983    only    -    Oct    1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    1983    1984    -    Apr    1    0:00    1:00    -
  {
    1983 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    1983    only    -    Oct    1    0:00    0    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    1985    1998    -    Mar    lastSun    0:00    1:00    -
  {
    1985 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    1984    1998    -    Sep    lastSun    0:00    0    -
  {
    1984 /*fromYear*/,
    1998 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    2001    only    -    Apr    lastSat    2:00    1:00    -
  {
    2001 /*fromYear*/,
    2001 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    2001    2006    -    Sep    lastSat    2:00    0    -
  {
    2001 /*fromYear*/,
    2006 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    2002    2006    -    Mar    lastSat    2:00    1:00    -
  {
    2002 /*fromYear*/,
    2006 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    2015    2016    -    Mar    lastSat    2:00    1:00    -
  {
    2015 /*fromYear*/,
    2016 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Mongol    2015    2016    -    Sep    lastSat    0:00    0    -
  {
    2015 /*fromYear*/,
    2016 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMongol ACE_TIME_PROGMEM = {
  kZoneRulesMongol /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Morocco
// Rules: 184
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Morocco    1939    only    -    Nov    19     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1939    only    -    Sep    12     0:00    1:00    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1939    only    -    Nov    19     0:00    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1940    only    -    Feb    25     0:00    1:00    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1945    only    -    Nov    18     0:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1950    only    -    Jun    11     0:00    1:00    -
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1950    only    -    Oct    29     0:00    0    -
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1967    only    -    Jun     3    12:00    1:00    -
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    2880 /*atTimeCode (43200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1967    only    -    Oct     1     0:00    0    -
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1974    only    -    Jun    24     0:00    1:00    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1974    only    -    Sep     1     0:00    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1976    1977    -    May     1     0:00    1:00    -
  {
    1976 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1976    only    -    Aug     1     0:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1977    only    -    Sep    28     0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1978    only    -    Jun     1     0:00    1:00    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    1978    only    -    Aug     4     0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2008    only    -    Jun     1     0:00    1:00    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2008    only    -    Sep     1     0:00    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2009    only    -    Jun     1     0:00    1:00    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2009    only    -    Aug    21     0:00    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2010    only    -    May     2     0:00    1:00    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2010    only    -    Aug     8     0:00    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2011    only    -    Apr     3     0:00    1:00    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2011    only    -    Jul    31     0:00    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2012    2013    -    Apr    lastSun     2:00    1:00    -
  {
    2012 /*fromYear*/,
    2013 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2012    only    -    Jul    20     3:00    0    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2012    only    -    Aug    20     2:00    1:00    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2012    only    -    Sep    30     3:00    0    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2013    only    -    Jul     7     3:00    0    -
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2013    only    -    Aug    10     2:00    1:00    -
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2013    2018    -    Oct    lastSun     3:00    0    -
  {
    2013 /*fromYear*/,
    2018 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2014    2018    -    Mar    lastSun     2:00    1:00    -
  {
    2014 /*fromYear*/,
    2018 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2014    only    -    Jun    28     3:00    0    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2014    only    -    Aug     2     2:00    1:00    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2015    only    -    Jun    14     3:00    0    -
  {
    2015 /*fromYear*/,
    2015 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2015    only    -    Jul    19     2:00    1:00    -
  {
    2015 /*fromYear*/,
    2015 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2016    only    -    Jun     5     3:00    0    -
  {
    2016 /*fromYear*/,
    2016 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2016    only    -    Jul    10     2:00    1:00    -
  {
    2016 /*fromYear*/,
    2016 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2017    only    -    May    21     3:00    0    -
  {
    2017 /*fromYear*/,
    2017 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2017    only    -    Jul     2     2:00    1:00    -
  {
    2017 /*fromYear*/,
    2017 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2018    only    -    May    13     3:00    0    -
  {
    2018 /*fromYear*/,
    2018 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2018    only    -    Jun    17     2:00    1:00    -
  {
    2018 /*fromYear*/,
    2018 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2019    only    -    May     5     3:00    -1:00    -
  {
    2019 /*fromYear*/,
    2019 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2019    only    -    Jun     9     2:00    0    -
  {
    2019 /*fromYear*/,
    2019 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2020    only    -    Apr    19     3:00    -1:00    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2020    only    -    May    31     2:00    0    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2021    only    -    Apr    11     3:00    -1:00    -
  {
    2021 /*fromYear*/,
    2021 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2021    only    -    May    16     2:00    0    -
  {
    2021 /*fromYear*/,
    2021 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2022    only    -    Mar    27     3:00    -1:00    -
  {
    2022 /*fromYear*/,
    2022 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2022    only    -    May     8     2:00    0    -
  {
    2022 /*fromYear*/,
    2022 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2023    only    -    Mar    19     3:00    -1:00    -
  {
    2023 /*fromYear*/,
    2023 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2023    only    -    Apr    23     2:00    0    -
  {
    2023 /*fromYear*/,
    2023 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2024    only    -    Mar    10     3:00    -1:00    -
  {
    2024 /*fromYear*/,
    2024 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2024    only    -    Apr    14     2:00    0    -
  {
    2024 /*fromYear*/,
    2024 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2025    only    -    Feb    23     3:00    -1:00    -
  {
    2025 /*fromYear*/,
    2025 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2025    only    -    Apr     6     2:00    0    -
  {
    2025 /*fromYear*/,
    2025 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2026    only    -    Feb    15     3:00    -1:00    -
  {
    2026 /*fromYear*/,
    2026 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2026    only    -    Mar    22     2:00    0    -
  {
    2026 /*fromYear*/,
    2026 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2027    only    -    Feb     7     3:00    -1:00    -
  {
    2027 /*fromYear*/,
    2027 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2027    only    -    Mar    14     2:00    0    -
  {
    2027 /*fromYear*/,
    2027 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2028    only    -    Jan    23     3:00    -1:00    -
  {
    2028 /*fromYear*/,
    2028 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2028    only    -    Mar     5     2:00    0    -
  {
    2028 /*fromYear*/,
    2028 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2029    only    -    Jan    14     3:00    -1:00    -
  {
    2029 /*fromYear*/,
    2029 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2029    only    -    Feb    18     2:00    0    -
  {
    2029 /*fromYear*/,
    2029 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2029    only    -    Dec    30     3:00    -1:00    -
  {
    2029 /*fromYear*/,
    2029 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2030    only    -    Feb    10     2:00    0    -
  {
    2030 /*fromYear*/,
    2030 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2030    only    -    Dec    22     3:00    -1:00    -
  {
    2030 /*fromYear*/,
    2030 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2031    only    -    Jan    26     2:00    0    -
  {
    2031 /*fromYear*/,
    2031 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2031    only    -    Dec    14     3:00    -1:00    -
  {
    2031 /*fromYear*/,
    2031 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2032    only    -    Jan    18     2:00    0    -
  {
    2032 /*fromYear*/,
    2032 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2032    only    -    Nov    28     3:00    -1:00    -
  {
    2032 /*fromYear*/,
    2032 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2033    only    -    Jan     9     2:00    0    -
  {
    2033 /*fromYear*/,
    2033 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2033    only    -    Nov    20     3:00    -1:00    -
  {
    2033 /*fromYear*/,
    2033 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2033    only    -    Dec    25     2:00    0    -
  {
    2033 /*fromYear*/,
    2033 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2034    only    -    Nov     5     3:00    -1:00    -
  {
    2034 /*fromYear*/,
    2034 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2034    only    -    Dec    17     2:00    0    -
  {
    2034 /*fromYear*/,
    2034 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2035    only    -    Oct    28     3:00    -1:00    -
  {
    2035 /*fromYear*/,
    2035 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2035    only    -    Dec     9     2:00    0    -
  {
    2035 /*fromYear*/,
    2035 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2036    only    -    Oct    19     3:00    -1:00    -
  {
    2036 /*fromYear*/,
    2036 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2036    only    -    Nov    23     2:00    0    -
  {
    2036 /*fromYear*/,
    2036 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2037    only    -    Oct     4     3:00    -1:00    -
  {
    2037 /*fromYear*/,
    2037 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2037    only    -    Nov    15     2:00    0    -
  {
    2037 /*fromYear*/,
    2037 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2038    only    -    Sep    26     3:00    -1:00    -
  {
    2038 /*fromYear*/,
    2038 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2038    only    -    Oct    31     2:00    0    -
  {
    2038 /*fromYear*/,
    2038 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2039    only    -    Sep    18     3:00    -1:00    -
  {
    2039 /*fromYear*/,
    2039 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2039    only    -    Oct    23     2:00    0    -
  {
    2039 /*fromYear*/,
    2039 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2040    only    -    Sep     2     3:00    -1:00    -
  {
    2040 /*fromYear*/,
    2040 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2040    only    -    Oct    14     2:00    0    -
  {
    2040 /*fromYear*/,
    2040 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2041    only    -    Aug    25     3:00    -1:00    -
  {
    2041 /*fromYear*/,
    2041 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2041    only    -    Sep    29     2:00    0    -
  {
    2041 /*fromYear*/,
    2041 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2042    only    -    Aug    10     3:00    -1:00    -
  {
    2042 /*fromYear*/,
    2042 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2042    only    -    Sep    21     2:00    0    -
  {
    2042 /*fromYear*/,
    2042 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2043    only    -    Aug     2     3:00    -1:00    -
  {
    2043 /*fromYear*/,
    2043 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2043    only    -    Sep    13     2:00    0    -
  {
    2043 /*fromYear*/,
    2043 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2044    only    -    Jul    24     3:00    -1:00    -
  {
    2044 /*fromYear*/,
    2044 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2044    only    -    Aug    28     2:00    0    -
  {
    2044 /*fromYear*/,
    2044 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2045    only    -    Jul     9     3:00    -1:00    -
  {
    2045 /*fromYear*/,
    2045 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2045    only    -    Aug    20     2:00    0    -
  {
    2045 /*fromYear*/,
    2045 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2046    only    -    Jul     1     3:00    -1:00    -
  {
    2046 /*fromYear*/,
    2046 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2046    only    -    Aug     5     2:00    0    -
  {
    2046 /*fromYear*/,
    2046 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2047    only    -    Jun    23     3:00    -1:00    -
  {
    2047 /*fromYear*/,
    2047 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2047    only    -    Jul    28     2:00    0    -
  {
    2047 /*fromYear*/,
    2047 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2048    only    -    Jun     7     3:00    -1:00    -
  {
    2048 /*fromYear*/,
    2048 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2048    only    -    Jul    19     2:00    0    -
  {
    2048 /*fromYear*/,
    2048 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2049    only    -    May    30     3:00    -1:00    -
  {
    2049 /*fromYear*/,
    2049 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2049    only    -    Jul     4     2:00    0    -
  {
    2049 /*fromYear*/,
    2049 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2050    only    -    May    15     3:00    -1:00    -
  {
    2050 /*fromYear*/,
    2050 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2050    only    -    Jun    26     2:00    0    -
  {
    2050 /*fromYear*/,
    2050 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2051    only    -    May     7     3:00    -1:00    -
  {
    2051 /*fromYear*/,
    2051 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2051    only    -    Jun    18     2:00    0    -
  {
    2051 /*fromYear*/,
    2051 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2052    only    -    Apr    28     3:00    -1:00    -
  {
    2052 /*fromYear*/,
    2052 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2052    only    -    Jun     2     2:00    0    -
  {
    2052 /*fromYear*/,
    2052 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2053    only    -    Apr    13     3:00    -1:00    -
  {
    2053 /*fromYear*/,
    2053 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2053    only    -    May    25     2:00    0    -
  {
    2053 /*fromYear*/,
    2053 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2054    only    -    Apr     5     3:00    -1:00    -
  {
    2054 /*fromYear*/,
    2054 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2054    only    -    May    10     2:00    0    -
  {
    2054 /*fromYear*/,
    2054 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2055    only    -    Mar    28     3:00    -1:00    -
  {
    2055 /*fromYear*/,
    2055 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2055    only    -    May     2     2:00    0    -
  {
    2055 /*fromYear*/,
    2055 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2056    only    -    Mar    12     3:00    -1:00    -
  {
    2056 /*fromYear*/,
    2056 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2056    only    -    Apr    23     2:00    0    -
  {
    2056 /*fromYear*/,
    2056 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2057    only    -    Mar     4     3:00    -1:00    -
  {
    2057 /*fromYear*/,
    2057 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2057    only    -    Apr     8     2:00    0    -
  {
    2057 /*fromYear*/,
    2057 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2058    only    -    Feb    17     3:00    -1:00    -
  {
    2058 /*fromYear*/,
    2058 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2058    only    -    Mar    31     2:00    0    -
  {
    2058 /*fromYear*/,
    2058 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2059    only    -    Feb     9     3:00    -1:00    -
  {
    2059 /*fromYear*/,
    2059 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2059    only    -    Mar    23     2:00    0    -
  {
    2059 /*fromYear*/,
    2059 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2060    only    -    Feb     1     3:00    -1:00    -
  {
    2060 /*fromYear*/,
    2060 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2060    only    -    Mar     7     2:00    0    -
  {
    2060 /*fromYear*/,
    2060 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2061    only    -    Jan    16     3:00    -1:00    -
  {
    2061 /*fromYear*/,
    2061 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2061    only    -    Feb    27     2:00    0    -
  {
    2061 /*fromYear*/,
    2061 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2062    only    -    Jan     8     3:00    -1:00    -
  {
    2062 /*fromYear*/,
    2062 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2062    only    -    Feb    12     2:00    0    -
  {
    2062 /*fromYear*/,
    2062 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2062    only    -    Dec    31     3:00    -1:00    -
  {
    2062 /*fromYear*/,
    2062 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2063    only    -    Feb     4     2:00    0    -
  {
    2063 /*fromYear*/,
    2063 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2063    only    -    Dec    16     3:00    -1:00    -
  {
    2063 /*fromYear*/,
    2063 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2064    only    -    Jan    27     2:00    0    -
  {
    2064 /*fromYear*/,
    2064 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2064    only    -    Dec     7     3:00    -1:00    -
  {
    2064 /*fromYear*/,
    2064 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2065    only    -    Jan    11     2:00    0    -
  {
    2065 /*fromYear*/,
    2065 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2065    only    -    Nov    22     3:00    -1:00    -
  {
    2065 /*fromYear*/,
    2065 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2066    only    -    Jan     3     2:00    0    -
  {
    2066 /*fromYear*/,
    2066 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2066    only    -    Nov    14     3:00    -1:00    -
  {
    2066 /*fromYear*/,
    2066 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2066    only    -    Dec    26     2:00    0    -
  {
    2066 /*fromYear*/,
    2066 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2067    only    -    Nov     6     3:00    -1:00    -
  {
    2067 /*fromYear*/,
    2067 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2067    only    -    Dec    11     2:00    0    -
  {
    2067 /*fromYear*/,
    2067 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2068    only    -    Oct    21     3:00    -1:00    -
  {
    2068 /*fromYear*/,
    2068 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2068    only    -    Dec     2     2:00    0    -
  {
    2068 /*fromYear*/,
    2068 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2069    only    -    Oct    13     3:00    -1:00    -
  {
    2069 /*fromYear*/,
    2069 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2069    only    -    Nov    17     2:00    0    -
  {
    2069 /*fromYear*/,
    2069 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2070    only    -    Oct     5     3:00    -1:00    -
  {
    2070 /*fromYear*/,
    2070 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2070    only    -    Nov     9     2:00    0    -
  {
    2070 /*fromYear*/,
    2070 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2071    only    -    Sep    20     3:00    -1:00    -
  {
    2071 /*fromYear*/,
    2071 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2071    only    -    Nov     1     2:00    0    -
  {
    2071 /*fromYear*/,
    2071 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2072    only    -    Sep    11     3:00    -1:00    -
  {
    2072 /*fromYear*/,
    2072 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2072    only    -    Oct    16     2:00    0    -
  {
    2072 /*fromYear*/,
    2072 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2073    only    -    Aug    27     3:00    -1:00    -
  {
    2073 /*fromYear*/,
    2073 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2073    only    -    Oct     8     2:00    0    -
  {
    2073 /*fromYear*/,
    2073 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2074    only    -    Aug    19     3:00    -1:00    -
  {
    2074 /*fromYear*/,
    2074 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2074    only    -    Sep    30     2:00    0    -
  {
    2074 /*fromYear*/,
    2074 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2075    only    -    Aug    11     3:00    -1:00    -
  {
    2075 /*fromYear*/,
    2075 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2075    only    -    Sep    15     2:00    0    -
  {
    2075 /*fromYear*/,
    2075 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2076    only    -    Jul    26     3:00    -1:00    -
  {
    2076 /*fromYear*/,
    2076 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2076    only    -    Sep     6     2:00    0    -
  {
    2076 /*fromYear*/,
    2076 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2077    only    -    Jul    18     3:00    -1:00    -
  {
    2077 /*fromYear*/,
    2077 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2077    only    -    Aug    22     2:00    0    -
  {
    2077 /*fromYear*/,
    2077 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2078    only    -    Jul    10     3:00    -1:00    -
  {
    2078 /*fromYear*/,
    2078 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2078    only    -    Aug    14     2:00    0    -
  {
    2078 /*fromYear*/,
    2078 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2079    only    -    Jun    25     3:00    -1:00    -
  {
    2079 /*fromYear*/,
    2079 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2079    only    -    Aug     6     2:00    0    -
  {
    2079 /*fromYear*/,
    2079 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2080    only    -    Jun    16     3:00    -1:00    -
  {
    2080 /*fromYear*/,
    2080 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2080    only    -    Jul    21     2:00    0    -
  {
    2080 /*fromYear*/,
    2080 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2081    only    -    Jun     1     3:00    -1:00    -
  {
    2081 /*fromYear*/,
    2081 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2081    only    -    Jul    13     2:00    0    -
  {
    2081 /*fromYear*/,
    2081 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2082    only    -    May    24     3:00    -1:00    -
  {
    2082 /*fromYear*/,
    2082 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2082    only    -    Jun    28     2:00    0    -
  {
    2082 /*fromYear*/,
    2082 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2083    only    -    May    16     3:00    -1:00    -
  {
    2083 /*fromYear*/,
    2083 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2083    only    -    Jun    20     2:00    0    -
  {
    2083 /*fromYear*/,
    2083 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2084    only    -    Apr    30     3:00    -1:00    -
  {
    2084 /*fromYear*/,
    2084 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2084    only    -    Jun    11     2:00    0    -
  {
    2084 /*fromYear*/,
    2084 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2085    only    -    Apr    22     3:00    -1:00    -
  {
    2085 /*fromYear*/,
    2085 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2085    only    -    May    27     2:00    0    -
  {
    2085 /*fromYear*/,
    2085 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2086    only    -    Apr    14     3:00    -1:00    -
  {
    2086 /*fromYear*/,
    2086 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2086    only    -    May    19     2:00    0    -
  {
    2086 /*fromYear*/,
    2086 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2087    only    -    Mar    30     3:00    -1:00    -
  {
    2087 /*fromYear*/,
    2087 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    -60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Morocco    2087    only    -    May    11     2:00    0    -
  {
    2087 /*fromYear*/,
    2087 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyMorocco ACE_TIME_PROGMEM = {
  kZoneRulesMorocco /*rules*/,
  184 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: NBorneo
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNBorneo[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    NBorneo    1935    1941    -    Dec    14    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NBorneo    1935    1941    -    Sep    14    0:00    0:20    -
  {
    1935 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    20 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NBorneo    1935    1941    -    Dec    14    0:00    0    -
  {
    1935 /*fromYear*/,
    1941 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNBorneo ACE_TIME_PROGMEM = {
  kZoneRulesNBorneo /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: NC
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNC[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    NC    1978    1979    -    Feb    27    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NC    1977    1978    -    Dec    Sun>=1    0:00    1:00    -
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    12 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NC    1978    1979    -    Feb    27    0:00    0    -
  {
    1978 /*fromYear*/,
    1979 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NC    1996    only    -    Dec     1    2:00s    1:00    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    NC    1997    only    -    Mar     2    2:00s    0    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNC ACE_TIME_PROGMEM = {
  kZoneRulesNC /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: NT_YK
// Rules: 11
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNT_YK[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    NT_YK    1918    only    -    Oct    27    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NT_YK    1918    only    -    Apr    14    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NT_YK    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NT_YK    1919    only    -    May    25    2:00    1:00    D
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NT_YK    1919    only    -    Nov     1    0:00    0    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NT_YK    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    NT_YK    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    NT_YK    1945    only    -    Sep    30    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NT_YK    1972    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1972 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NT_YK    1972    2006    -    Oct    lastSun    2:00    0    S
  {
    1972 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NT_YK    1987    2006    -    Apr    Sun>=1    2:00    1:00    D
  {
    1987 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNT_YK ACE_TIME_PROGMEM = {
  kZoneRulesNT_YK /*rules*/,
  11 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: NYC
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNYC[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    NYC    1920    only    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NYC    1920    only    -    Mar    lastSun    2:00    1:00    D
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NYC    1920    only    -    Oct    lastSun    2:00    0    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NYC    1921    1966    -    Apr    lastSun    2:00    1:00    D
  {
    1921 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NYC    1921    1954    -    Sep    lastSun    2:00    0    S
  {
    1921 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NYC    1955    1966    -    Oct    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1966 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNYC ACE_TIME_PROGMEM = {
  kZoneRulesNYC /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: NZ
// Rules: 17
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNZ[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    NZ    1928    only    -    Mar     4    2:00    0    M
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    NZ    1927    only    -    Nov     6    2:00    1:00    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1928    only    -    Mar     4    2:00    0    M
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    NZ    1928    1933    -    Oct    Sun>=8    2:00    0:30    S
  {
    1928 /*fromYear*/,
    1933 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1929    1933    -    Mar    Sun>=15    2:00    0    M
  {
    1929 /*fromYear*/,
    1933 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    NZ    1934    1940    -    Apr    lastSun    2:00    0    M
  {
    1934 /*fromYear*/,
    1940 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    NZ    1934    1940    -    Sep    lastSun    2:00    0:30    S
  {
    1934 /*fromYear*/,
    1940 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    30 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1946    only    -    Jan     1    0:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1974    only    -    Nov    Sun>=1    2:00s    1:00    D
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NZ    1975    only    -    Feb    lastSun    2:00s    0    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1975    1988    -    Oct    lastSun    2:00s    1:00    D
  {
    1975 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NZ    1976    1989    -    Mar    Sun>=1    2:00s    0    S
  {
    1976 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    1989    only    -    Oct    Sun>=8    2:00s    1:00    D
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NZ    1990    2006    -    Oct    Sun>=1    2:00s    1:00    D
  {
    1990 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NZ    1990    2007    -    Mar    Sun>=15    2:00s    0    S
  {
    1990 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    NZ    2007    max    -    Sep    lastSun    2:00s    1:00    D
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    NZ    2008    max    -    Apr    Sun>=1    2:00s    0    S
  {
    2008 /*fromYear*/,
    32766 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNZ ACE_TIME_PROGMEM = {
  kZoneRulesNZ /*rules*/,
  17 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Namibia
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNamibia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Namibia    1994    2017    -    Sep    Sun>=1    2:00    0    CAT
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    8 /*letterIndex ("CAT")*/,
  },
  // Rule    Namibia    1994    only    -    Mar    21    0:00    -1:00    WAT
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    -60 /*deltaMinutes*/,
    27 /*letterIndex ("WAT")*/,
  },
  // Rule    Namibia    1994    2017    -    Sep    Sun>=1    2:00    0    CAT
  {
    1994 /*fromYear*/,
    2017 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    8 /*letterIndex ("CAT")*/,
  },
  // Rule    Namibia    1995    2017    -    Apr    Sun>=1    2:00    -1:00    WAT
  {
    1995 /*fromYear*/,
    2017 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    -60 /*deltaMinutes*/,
    27 /*letterIndex ("WAT")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNamibia ACE_TIME_PROGMEM = {
  kZoneRulesNamibia /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Nic
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesNic[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Nic    1979    1980    -    Jun    Mon>=23    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Nic    1979    1980    -    Mar    Sun>=16    0:00    1:00    D
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Nic    1979    1980    -    Jun    Mon>=23    0:00    0    S
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    6 /*inMonth*/,
    1 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Nic    2005    only    -    Apr    10    0:00    1:00    D
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Nic    2005    only    -    Oct    Sun>=1    0:00    0    S
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Nic    2006    only    -    Apr    30    2:00    1:00    D
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Nic    2006    only    -    Oct    Sun>=1    1:00    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyNic ACE_TIME_PROGMEM = {
  kZoneRulesNic /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: PRC
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPRC[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    PRC    1986    1991    -    Sep    Sun>=11     2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    PRC    1986    only    -    May     4     2:00    1:00    D
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    PRC    1986    1991    -    Sep    Sun>=11     2:00    0    S
  {
    1986 /*fromYear*/,
    1991 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    PRC    1987    1991    -    Apr    Sun>=11     2:00    1:00    D
  {
    1987 /*fromYear*/,
    1991 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPRC ACE_TIME_PROGMEM = {
  kZoneRulesPRC /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Pakistan
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPakistan[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Pakistan    2002    only    -    Oct    Sun>=2    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Pakistan    2002    only    -    Apr    Sun>=2    0:00    1:00    S
  {
    2002 /*fromYear*/,
    2002 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Pakistan    2002    only    -    Oct    Sun>=2    0:00    0    -
  {
    2002 /*fromYear*/,
    2002 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Pakistan    2008    only    -    Jun    1    0:00    1:00    S
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Pakistan    2008    2009    -    Nov    1    0:00    0    -
  {
    2008 /*fromYear*/,
    2009 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Pakistan    2009    only    -    Apr    15    0:00    1:00    S
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPakistan ACE_TIME_PROGMEM = {
  kZoneRulesPakistan /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Palestine
// Rules: 111
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Palestine    1999    2003    -    Oct    Fri>=15    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    1999    2005    -    Apr    Fri>=15    0:00    1:00    S
  {
    1999 /*fromYear*/,
    2005 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    1999    2003    -    Oct    Fri>=15    0:00    0    -
  {
    1999 /*fromYear*/,
    2003 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2004    only    -    Oct     1    1:00    0    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2005    only    -    Oct     4    2:00    0    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2006    2007    -    Apr     1    0:00    1:00    S
  {
    2006 /*fromYear*/,
    2007 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2006    only    -    Sep    22    0:00    0    -
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2007    only    -    Sep    13    2:00    0    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2008    2009    -    Mar    lastFri    0:00    1:00    S
  {
    2008 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2008    only    -    Sep     1    0:00    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2009    only    -    Sep     4    1:00    0    -
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2010    only    -    Mar    26    0:00    1:00    S
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2010    only    -    Aug    11    0:00    0    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2011    only    -    Apr     1    0:01    1:00    S
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2011    only    -    Aug     1    0:00    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2011    only    -    Aug    30    0:00    1:00    S
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2011    only    -    Sep    30    0:00    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2012    2014    -    Mar    lastThu    24:00    1:00    S
  {
    2012 /*fromYear*/,
    2014 /*toYear*/,
    3 /*inMonth*/,
    4 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2012    only    -    Sep    21    1:00    0    -
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2013    only    -    Sep    27    0:00    0    -
  {
    2013 /*fromYear*/,
    2013 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2014    only    -    Oct    24    0:00    0    -
  {
    2014 /*fromYear*/,
    2014 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2015    only    -    Mar    28    0:00    1:00    S
  {
    2015 /*fromYear*/,
    2015 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2015    only    -    Oct    23    1:00    0    -
  {
    2015 /*fromYear*/,
    2015 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2016    2018    -    Mar    Sat<=30    1:00    1:00    S
  {
    2016 /*fromYear*/,
    2018 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2016    2018    -    Oct    Sat<=30    1:00    0    -
  {
    2016 /*fromYear*/,
    2018 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2019    only    -    Mar    29    0:00    1:00    S
  {
    2019 /*fromYear*/,
    2019 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2019    only    -    Oct    Sat<=30    0:00    0    -
  {
    2019 /*fromYear*/,
    2019 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2020    2021    -    Mar    Sat<=30    0:00    1:00    S
  {
    2020 /*fromYear*/,
    2021 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2020    only    -    Oct    24    1:00    0    -
  {
    2020 /*fromYear*/,
    2020 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2021    only    -    Oct    29    1:00    0    -
  {
    2021 /*fromYear*/,
    2021 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2022    only    -    Mar    27    0:00    1:00    S
  {
    2022 /*fromYear*/,
    2022 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2022    2035    -    Oct    Sat<=30    2:00    0    -
  {
    2022 /*fromYear*/,
    2035 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2023    only    -    Apr    29    2:00    1:00    S
  {
    2023 /*fromYear*/,
    2023 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2024    only    -    Apr    20    2:00    1:00    S
  {
    2024 /*fromYear*/,
    2024 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2025    only    -    Apr    12    2:00    1:00    S
  {
    2025 /*fromYear*/,
    2025 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2026    2054    -    Mar    Sat<=30    2:00    1:00    S
  {
    2026 /*fromYear*/,
    2054 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2036    only    -    Oct    18    2:00    0    -
  {
    2036 /*fromYear*/,
    2036 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2037    only    -    Oct    10    2:00    0    -
  {
    2037 /*fromYear*/,
    2037 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2038    only    -    Sep    25    2:00    0    -
  {
    2038 /*fromYear*/,
    2038 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2039    only    -    Sep    17    2:00    0    -
  {
    2039 /*fromYear*/,
    2039 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2040    only    -    Sep     1    2:00    0    -
  {
    2040 /*fromYear*/,
    2040 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2040    only    -    Oct    20    2:00    1:00    S
  {
    2040 /*fromYear*/,
    2040 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2040    2067    -    Oct    Sat<=30    2:00    0    -
  {
    2040 /*fromYear*/,
    2067 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2041    only    -    Aug    24    2:00    0    -
  {
    2041 /*fromYear*/,
    2041 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2041    only    -    Oct     5    2:00    1:00    S
  {
    2041 /*fromYear*/,
    2041 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2042    only    -    Aug    16    2:00    0    -
  {
    2042 /*fromYear*/,
    2042 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2042    only    -    Sep    27    2:00    1:00    S
  {
    2042 /*fromYear*/,
    2042 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2043    only    -    Aug     1    2:00    0    -
  {
    2043 /*fromYear*/,
    2043 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2043    only    -    Sep    19    2:00    1:00    S
  {
    2043 /*fromYear*/,
    2043 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2044    only    -    Jul    23    2:00    0    -
  {
    2044 /*fromYear*/,
    2044 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2044    only    -    Sep     3    2:00    1:00    S
  {
    2044 /*fromYear*/,
    2044 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2045    only    -    Jul    15    2:00    0    -
  {
    2045 /*fromYear*/,
    2045 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2045    only    -    Aug    26    2:00    1:00    S
  {
    2045 /*fromYear*/,
    2045 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2046    only    -    Jun    30    2:00    0    -
  {
    2046 /*fromYear*/,
    2046 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2046    only    -    Aug    18    2:00    1:00    S
  {
    2046 /*fromYear*/,
    2046 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2047    only    -    Jun    22    2:00    0    -
  {
    2047 /*fromYear*/,
    2047 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2047    only    -    Aug     3    2:00    1:00    S
  {
    2047 /*fromYear*/,
    2047 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2048    only    -    Jun     6    2:00    0    -
  {
    2048 /*fromYear*/,
    2048 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2048    only    -    Jul    25    2:00    1:00    S
  {
    2048 /*fromYear*/,
    2048 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2049    only    -    May    29    2:00    0    -
  {
    2049 /*fromYear*/,
    2049 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2049    only    -    Jul    10    2:00    1:00    S
  {
    2049 /*fromYear*/,
    2049 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2050    only    -    May    21    2:00    0    -
  {
    2050 /*fromYear*/,
    2050 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2050    only    -    Jul     2    2:00    1:00    S
  {
    2050 /*fromYear*/,
    2050 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2051    only    -    May     6    2:00    0    -
  {
    2051 /*fromYear*/,
    2051 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2051    only    -    Jun    24    2:00    1:00    S
  {
    2051 /*fromYear*/,
    2051 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2052    only    -    Apr    27    2:00    0    -
  {
    2052 /*fromYear*/,
    2052 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2052    only    -    Jun     8    2:00    1:00    S
  {
    2052 /*fromYear*/,
    2052 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2053    only    -    Apr    12    2:00    0    -
  {
    2053 /*fromYear*/,
    2053 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2053    only    -    May    31    2:00    1:00    S
  {
    2053 /*fromYear*/,
    2053 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2054    only    -    Apr     4    2:00    0    -
  {
    2054 /*fromYear*/,
    2054 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2054    only    -    May    23    2:00    1:00    S
  {
    2054 /*fromYear*/,
    2054 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2055    only    -    May     8    2:00    1:00    S
  {
    2055 /*fromYear*/,
    2055 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2056    only    -    Apr    29    2:00    1:00    S
  {
    2056 /*fromYear*/,
    2056 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2057    only    -    Apr    14    2:00    1:00    S
  {
    2057 /*fromYear*/,
    2057 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2058    only    -    Apr     6    2:00    1:00    S
  {
    2058 /*fromYear*/,
    2058 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2059    max    -    Mar    Sat<=30    2:00    1:00    S
  {
    2059 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2068    only    -    Oct    20    2:00    0    -
  {
    2068 /*fromYear*/,
    2068 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2069    only    -    Oct    12    2:00    0    -
  {
    2069 /*fromYear*/,
    2069 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2070    only    -    Oct     4    2:00    0    -
  {
    2070 /*fromYear*/,
    2070 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2071    only    -    Sep    19    2:00    0    -
  {
    2071 /*fromYear*/,
    2071 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2072    only    -    Sep    10    2:00    0    -
  {
    2072 /*fromYear*/,
    2072 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2072    only    -    Oct    22    2:00    1:00    S
  {
    2072 /*fromYear*/,
    2072 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2072    max    -    Oct    Sat<=30    2:00    0    -
  {
    2072 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    -30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2073    only    -    Sep     2    2:00    0    -
  {
    2073 /*fromYear*/,
    2073 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2073    only    -    Oct    14    2:00    1:00    S
  {
    2073 /*fromYear*/,
    2073 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2074    only    -    Aug    18    2:00    0    -
  {
    2074 /*fromYear*/,
    2074 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2074    only    -    Oct     6    2:00    1:00    S
  {
    2074 /*fromYear*/,
    2074 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2075    only    -    Aug    10    2:00    0    -
  {
    2075 /*fromYear*/,
    2075 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2075    only    -    Sep    21    2:00    1:00    S
  {
    2075 /*fromYear*/,
    2075 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2076    only    -    Jul    25    2:00    0    -
  {
    2076 /*fromYear*/,
    2076 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2076    only    -    Sep    12    2:00    1:00    S
  {
    2076 /*fromYear*/,
    2076 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2077    only    -    Jul    17    2:00    0    -
  {
    2077 /*fromYear*/,
    2077 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2077    only    -    Sep     4    2:00    1:00    S
  {
    2077 /*fromYear*/,
    2077 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2078    only    -    Jul     9    2:00    0    -
  {
    2078 /*fromYear*/,
    2078 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2078    only    -    Aug    20    2:00    1:00    S
  {
    2078 /*fromYear*/,
    2078 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2079    only    -    Jun    24    2:00    0    -
  {
    2079 /*fromYear*/,
    2079 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2079    only    -    Aug    12    2:00    1:00    S
  {
    2079 /*fromYear*/,
    2079 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2080    only    -    Jun    15    2:00    0    -
  {
    2080 /*fromYear*/,
    2080 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2080    only    -    Jul    27    2:00    1:00    S
  {
    2080 /*fromYear*/,
    2080 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2081    only    -    Jun     7    2:00    0    -
  {
    2081 /*fromYear*/,
    2081 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2081    only    -    Jul    19    2:00    1:00    S
  {
    2081 /*fromYear*/,
    2081 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2082    only    -    May    23    2:00    0    -
  {
    2082 /*fromYear*/,
    2082 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2082    only    -    Jul    11    2:00    1:00    S
  {
    2082 /*fromYear*/,
    2082 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2083    only    -    May    15    2:00    0    -
  {
    2083 /*fromYear*/,
    2083 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2083    only    -    Jun    26    2:00    1:00    S
  {
    2083 /*fromYear*/,
    2083 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2084    only    -    Apr    29    2:00    0    -
  {
    2084 /*fromYear*/,
    2084 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2084    only    -    Jun    17    2:00    1:00    S
  {
    2084 /*fromYear*/,
    2084 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2085    only    -    Apr    21    2:00    0    -
  {
    2085 /*fromYear*/,
    2085 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2085    only    -    Jun     9    2:00    1:00    S
  {
    2085 /*fromYear*/,
    2085 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Palestine    2086    only    -    Apr    13    2:00    0    -
  {
    2086 /*fromYear*/,
    2086 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule Palestine    2086    only    -    May    25    2:00    1:00    S
  {
    2086 /*fromYear*/,
    2086 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPalestine ACE_TIME_PROGMEM = {
  kZoneRulesPalestine /*rules*/,
  111 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Para
// Rules: 23
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPara[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Para    1975    1978    -    Mar     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1975    1988    -    Oct     1    0:00    1:00    -
  {
    1975 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1975    1978    -    Mar     1    0:00    0    -
  {
    1975 /*fromYear*/,
    1978 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1979    1991    -    Apr     1    0:00    0    -
  {
    1979 /*fromYear*/,
    1991 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1989    only    -    Oct    22    0:00    1:00    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1990    only    -    Oct     1    0:00    1:00    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1991    only    -    Oct     6    0:00    1:00    -
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1992    only    -    Mar     1    0:00    0    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1992    only    -    Oct     5    0:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1993    only    -    Mar    31    0:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1993    1995    -    Oct     1    0:00    1:00    -
  {
    1993 /*fromYear*/,
    1995 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1994    1995    -    Feb    lastSun    0:00    0    -
  {
    1994 /*fromYear*/,
    1995 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1996    only    -    Mar     1    0:00    0    -
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1996    2001    -    Oct    Sun>=1    0:00    1:00    -
  {
    1996 /*fromYear*/,
    2001 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1997    only    -    Feb    lastSun    0:00    0    -
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    1998    2001    -    Mar    Sun>=1    0:00    0    -
  {
    1998 /*fromYear*/,
    2001 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2002    2004    -    Apr    Sun>=1    0:00    0    -
  {
    2002 /*fromYear*/,
    2004 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2002    2003    -    Sep    Sun>=1    0:00    1:00    -
  {
    2002 /*fromYear*/,
    2003 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2004    2009    -    Oct    Sun>=15    0:00    1:00    -
  {
    2004 /*fromYear*/,
    2009 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2005    2009    -    Mar    Sun>=8    0:00    0    -
  {
    2005 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2010    2024    -    Oct    Sun>=1    0:00    1:00    -
  {
    2010 /*fromYear*/,
    2024 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2010    2012    -    Apr    Sun>=8    0:00    0    -
  {
    2010 /*fromYear*/,
    2012 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Para    2013    2024    -    Mar    Sun>=22    0:00    0    -
  {
    2013 /*fromYear*/,
    2024 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPara ACE_TIME_PROGMEM = {
  kZoneRulesPara /*rules*/,
  23 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Perry
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPerry[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Perry    1955    1960    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Perry    1955    only    -    May     1    0:00    1:00    D
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Perry    1955    1960    -    Sep    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Perry    1956    1963    -    Apr    lastSun    2:00    1:00    D
  {
    1956 /*fromYear*/,
    1963 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Perry    1961    1963    -    Oct    lastSun    2:00    0    S
  {
    1961 /*fromYear*/,
    1963 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPerry ACE_TIME_PROGMEM = {
  kZoneRulesPerry /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Peru
// Rules: 11
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPeru[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Peru    1938    only    -    Apr     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1938    only    -    Jan     1    0:00    1:00    -
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1938    only    -    Apr     1    0:00    0    -
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1938    1939    -    Sep    lastSun    0:00    1:00    -
  {
    1938 /*fromYear*/,
    1939 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1939    1940    -    Mar    Sun>=24    0:00    0    -
  {
    1939 /*fromYear*/,
    1940 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1986    1987    -    Jan     1    0:00    1:00    -
  {
    1986 /*fromYear*/,
    1987 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1986    1987    -    Apr     1    0:00    0    -
  {
    1986 /*fromYear*/,
    1987 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1990    only    -    Jan     1    0:00    1:00    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1990    only    -    Apr     1    0:00    0    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1994    only    -    Jan     1    0:00    1:00    -
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Peru    1994    only    -    Apr     1    0:00    0    -
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPeru ACE_TIME_PROGMEM = {
  kZoneRulesPeru /*rules*/,
  11 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Phil
// Rules: 11
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPhil[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Phil    1937    only    -    Jan    15    24:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Phil    1936    only    -    Oct    31    24:00    1:00    D
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Phil    1937    only    -    Jan    15    24:00    0    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Phil    1941    only    -    Dec    15    24:00    1:00    D
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Phil    1945    only    -    Nov    30    24:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Phil    1954    only    -    Apr    11    24:00    1:00    D
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Phil    1954    only    -    Jun     4    24:00    0    S
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Phil    1977    only    -    Mar    27    24:00    1:00    D
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Phil    1977    only    -    Sep    21    24:00    0    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Phil    1990    only    -    May    21     0:00    1:00    D
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Phil    1990    only    -    Jul    28    24:00    0    S
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPhil ACE_TIME_PROGMEM = {
  kZoneRulesPhil /*rules*/,
  11 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Pike
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPike[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Pike    1955    1960    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Pike    1955    only    -    May     1    0:00    1:00    D
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Pike    1955    1960    -    Sep    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Pike    1956    1964    -    Apr    lastSun    2:00    1:00    D
  {
    1956 /*fromYear*/,
    1964 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Pike    1961    1964    -    Oct    lastSun    2:00    0    S
  {
    1961 /*fromYear*/,
    1964 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPike ACE_TIME_PROGMEM = {
  kZoneRulesPike /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Poland
// Rules: 21
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPoland[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Poland    1918    1919    -    Sep    16    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1918    1919    -    Sep    16    2:00s    0    -
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1919    only    -    Apr    15    2:00s    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1944    only    -    Apr     3    2:00s    1:00    S
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1944    only    -    Oct     4    2:00    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1945    only    -    Apr    29    0:00    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1945    only    -    Nov     1    0:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1946    only    -    Apr    14    0:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1946    only    -    Oct     7    2:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1947    only    -    May     4    2:00s    1:00    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1947    1949    -    Oct    Sun>=1    2:00s    0    -
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1948    only    -    Apr    18    2:00s    1:00    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1949    only    -    Apr    10    2:00s    1:00    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1957    only    -    Jun     2    1:00s    1:00    S
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1957    1958    -    Sep    lastSun    1:00s    0    -
  {
    1957 /*fromYear*/,
    1958 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1958    only    -    Mar    30    1:00s    1:00    S
  {
    1958 /*fromYear*/,
    1958 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1959    only    -    May    31    1:00s    1:00    S
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1959    1961    -    Oct    Sun>=1    1:00s    0    -
  {
    1959 /*fromYear*/,
    1961 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Poland    1960    only    -    Apr     3    1:00s    1:00    S
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1961    1964    -    May    lastSun    1:00s    1:00    S
  {
    1961 /*fromYear*/,
    1964 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Poland    1962    1964    -    Sep    lastSun    1:00s    0    -
  {
    1962 /*fromYear*/,
    1964 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPoland ACE_TIME_PROGMEM = {
  kZoneRulesPoland /*rules*/,
  21 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Port
// Rules: 46
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Port    1916    only    -    Nov     1     1:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1916    only    -    Jun    17    23:00    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1916    only    -    Nov     1     1:00    0    -
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1917    1921    -    Mar     1     0:00    1:00    S
  {
    1917 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1917    1921    -    Oct    14    24:00    0    -
  {
    1917 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1924    only    -    Apr    16    23:00s    1:00    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1924    only    -    Oct     4    23:00s    0    -
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1926    only    -    Apr    17    23:00s    1:00    S
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1926    1929    -    Oct    Sat>=1    23:00s    0    -
  {
    1926 /*fromYear*/,
    1929 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1927    only    -    Apr     9    23:00s    1:00    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1928    only    -    Apr    14    23:00s    1:00    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1929    only    -    Apr    20    23:00s    1:00    S
  {
    1929 /*fromYear*/,
    1929 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1931    only    -    Apr    18    23:00s    1:00    S
  {
    1931 /*fromYear*/,
    1931 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1931    1932    -    Oct    Sat>=1    23:00s    0    -
  {
    1931 /*fromYear*/,
    1932 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1932    only    -    Apr     2    23:00s    1:00    S
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1934    only    -    Apr     7    23:00s    1:00    S
  {
    1934 /*fromYear*/,
    1934 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1934    1938    -    Oct    Sat>=1    23:00s    0    -
  {
    1934 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1935    only    -    Mar    30    23:00s    1:00    S
  {
    1935 /*fromYear*/,
    1935 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1936    only    -    Apr    18    23:00s    1:00    S
  {
    1936 /*fromYear*/,
    1936 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1937    only    -    Apr     3    23:00s    1:00    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1938    only    -    Mar    26    23:00s    1:00    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1939    only    -    Apr    15    23:00s    1:00    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1939    only    -    Nov    18    23:00s    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1940    only    -    Feb    24    23:00s    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1940    only    -    Oct     7    23:00s    0    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1941    only    -    Apr     5    23:00s    1:00    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1941    only    -    Oct     5    23:00s    0    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1942    1945    -    Mar    Sat>=8    23:00s    1:00    S
  {
    1942 /*fromYear*/,
    1945 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1942    only    -    Apr    25    22:00s    2:00    M
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    Port    1942    only    -    Aug    15    22:00s    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1942    1945    -    Oct    Sat>=24    23:00s    0    -
  {
    1942 /*fromYear*/,
    1945 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1943    only    -    Apr    17    22:00s    2:00    M
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    Port    1943    1945    -    Aug    Sat>=25    22:00s    1:00    S
  {
    1943 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    6 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1944    1945    -    Apr    Sat>=21    22:00s    2:00    M
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    Port    1946    only    -    Apr    Sat>=1    23:00s    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1946    only    -    Oct    Sat>=1    23:00s    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1947    1966    -    Apr    Sun>=1     2:00s    1:00    S
  {
    1947 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1947    1965    -    Oct    Sun>=1     2:00s    0    -
  {
    1947 /*fromYear*/,
    1965 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1976    only    -    Sep    lastSun     1:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1977    only    -    Mar    lastSun     0:00s    1:00    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1977    only    -    Sep    lastSun     0:00s    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1978    1980    -    Apr    Sun>=1     1:00s    1:00    S
  {
    1978 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1978    only    -    Oct     1     1:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1979    1980    -    Sep    lastSun     1:00s    0    -
  {
    1979 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Port    1981    1986    -    Mar    lastSun     0:00s    1:00    S
  {
    1981 /*fromYear*/,
    1986 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Port    1981    1985    -    Sep    lastSun     0:00s    0    -
  {
    1981 /*fromYear*/,
    1985 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPort ACE_TIME_PROGMEM = {
  kZoneRulesPort /*rules*/,
  46 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Pulaski
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesPulaski[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Pulaski    1946    1954    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Pulaski    1946    1960    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1960 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Pulaski    1946    1954    -    Sep    lastSun    2:00    0    S
  {
    1946 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Pulaski    1955    1956    -    Oct    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1956 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Pulaski    1957    1960    -    Sep    lastSun    2:00    0    S
  {
    1957 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyPulaski ACE_TIME_PROGMEM = {
  kZoneRulesPulaski /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: ROK
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesROK[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    ROK    1948    only    -    Sep    12    24:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1948    only    -    Jun     1     0:00    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1948    only    -    Sep    12    24:00    0    S
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1949    only    -    Apr     3     0:00    1:00    D
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1949    1951    -    Sep    Sat>=7    24:00    0    S
  {
    1949 /*fromYear*/,
    1951 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1950    only    -    Apr     1     0:00    1:00    D
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1951    only    -    May     6     0:00    1:00    D
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1955    only    -    May     5     0:00    1:00    D
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1955    only    -    Sep     8    24:00    0    S
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1956    only    -    May    20     0:00    1:00    D
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1956    only    -    Sep    29    24:00    0    S
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1957    1960    -    May    Sun>=1     0:00    1:00    D
  {
    1957 /*fromYear*/,
    1960 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1957    1960    -    Sep    Sat>=17    24:00    0    S
  {
    1957 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    ROK    1987    1988    -    May    Sun>=8     2:00    1:00    D
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    ROK    1987    1988    -    Oct    Sun>=8     3:00    0    S
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyROK ACE_TIME_PROGMEM = {
  kZoneRulesROK /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Regina
// Rules: 18
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesRegina[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Regina    1918    only    -    Oct    27    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1918    only    -    Apr    14    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1930    1934    -    May    Sun>=1    0:00    1:00    D
  {
    1930 /*fromYear*/,
    1934 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1930    1934    -    Oct    Sun>=1    0:00    0    S
  {
    1930 /*fromYear*/,
    1934 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1937    1941    -    Apr    Sun>=8    0:00    1:00    D
  {
    1937 /*fromYear*/,
    1941 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1937    only    -    Oct    Sun>=8    0:00    0    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1938    only    -    Oct    Sun>=1    0:00    0    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1939    1941    -    Oct    Sun>=8    0:00    0    S
  {
    1939 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Regina    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    Regina    1945    only    -    Sep    lastSun    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1946    only    -    Apr    Sun>=8    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1946    only    -    Oct    Sun>=8    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1947    1957    -    Apr    lastSun    2:00    1:00    D
  {
    1947 /*fromYear*/,
    1957 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1947    1957    -    Sep    lastSun    2:00    0    S
  {
    1947 /*fromYear*/,
    1957 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Regina    1959    only    -    Apr    lastSun    2:00    1:00    D
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Regina    1959    only    -    Oct    lastSun    2:00    0    S
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyRegina ACE_TIME_PROGMEM = {
  kZoneRulesRegina /*rules*/,
  18 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Romania
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesRomania[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Romania    1932    1939    -    Oct    Sun>=1     0:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Romania    1932    only    -    May    21     0:00s    1:00    S
  {
    1932 /*fromYear*/,
    1932 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Romania    1932    1939    -    Oct    Sun>=1     0:00s    0    -
  {
    1932 /*fromYear*/,
    1939 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Romania    1933    1939    -    Apr    Sun>=2     0:00s    1:00    S
  {
    1933 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Romania    1979    only    -    May    27     0:00    1:00    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Romania    1979    only    -    Sep    lastSun     0:00    0    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Romania    1980    only    -    Apr     5    23:00    1:00    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Romania    1980    only    -    Sep    lastSun     1:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Romania    1991    1993    -    Mar    lastSun     0:00s    1:00    S
  {
    1991 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Romania    1991    1993    -    Sep    lastSun     0:00s    0    -
  {
    1991 /*fromYear*/,
    1993 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyRomania ACE_TIME_PROGMEM = {
  kZoneRulesRomania /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Russia
// Rules: 17
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesRussia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Russia    1917    only    -    Dec    28     0:00    0    MMT
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    20 /*letterIndex ("MMT")*/,
  },
  // Rule    Russia    1917    only    -    Jul     1    23:00    1:00    MST
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    23 /*letterIndex ("MST")*/,
  },
  // Rule    Russia    1917    only    -    Dec    28     0:00    0    MMT
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    20 /*letterIndex ("MMT")*/,
  },
  // Rule    Russia    1918    only    -    May    31    22:00    2:00    MDST
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5280 /*atTimeCode (79200/15)*/,
    120 /*deltaMinutes*/,
    19 /*letterIndex ("MDST")*/,
  },
  // Rule    Russia    1918    only    -    Sep    16     1:00    1:00    MST
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    23 /*letterIndex ("MST")*/,
  },
  // Rule    Russia    1919    only    -    May    31    23:00    2:00    MDST
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    120 /*deltaMinutes*/,
    19 /*letterIndex ("MDST")*/,
  },
  // Rule    Russia    1919    only    -    Jul     1     0:00u    1:00    MSD
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    21 /*letterIndex ("MSD")*/,
  },
  // Rule    Russia    1919    only    -    Aug    16     0:00    0    MSK
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    22 /*letterIndex ("MSK")*/,
  },
  // Rule    Russia    1921    only    -    Feb    14    23:00    1:00    MSD
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    21 /*letterIndex ("MSD")*/,
  },
  // Rule    Russia    1921    only    -    Mar    20    23:00    2:00    +05
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    120 /*deltaMinutes*/,
    3 /*letterIndex ("+05")*/,
  },
  // Rule    Russia    1921    only    -    Sep     1     0:00    1:00    MSD
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    21 /*letterIndex ("MSD")*/,
  },
  // Rule    Russia    1921    only    -    Oct     1     0:00    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Russia    1981    1984    -    Apr     1     0:00    1:00    S
  {
    1981 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Russia    1981    1983    -    Oct     1     0:00    0    -
  {
    1981 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Russia    1984    1995    -    Sep    lastSun     2:00s    0    -
  {
    1984 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Russia    1985    2010    -    Mar    lastSun     2:00s    1:00    S
  {
    1985 /*fromYear*/,
    2010 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Russia    1996    2010    -    Oct    lastSun     2:00s    0    -
  {
    1996 /*fromYear*/,
    2010 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyRussia ACE_TIME_PROGMEM = {
  kZoneRulesRussia /*rules*/,
  17 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: RussiaAsia
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesRussiaAsia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule RussiaAsia    1981    1983    -    Oct    1     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule RussiaAsia    1981    1984    -    Apr    1     0:00    1:00    -
  {
    1981 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule RussiaAsia    1981    1983    -    Oct    1     0:00    0    -
  {
    1981 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule RussiaAsia    1984    1995    -    Sep    lastSun     2:00s    0    -
  {
    1984 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule RussiaAsia    1985    2010    -    Mar    lastSun     2:00s    1:00    -
  {
    1985 /*fromYear*/,
    2010 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule RussiaAsia    1996    2010    -    Oct    lastSun     2:00s    0    -
  {
    1996 /*fromYear*/,
    2010 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyRussiaAsia ACE_TIME_PROGMEM = {
  kZoneRulesRussiaAsia /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: SA
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSA[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    SA    1943    1944    -    Mar    Sun>=15    2:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    SA    1942    1943    -    Sep    Sun>=15    2:00    1:00    -
  {
    1942 /*fromYear*/,
    1943 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    SA    1943    1944    -    Mar    Sun>=15    2:00    0    -
  {
    1943 /*fromYear*/,
    1944 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySA ACE_TIME_PROGMEM = {
  kZoneRulesSA /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Salv
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSalv[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Salv    1987    1988    -    Sep    lastSun    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Salv    1987    1988    -    May    Sun>=1    0:00    1:00    D
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Salv    1987    1988    -    Sep    lastSun    0:00    0    S
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySalv ACE_TIME_PROGMEM = {
  kZoneRulesSalv /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: SanLuis
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSanLuis[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    SanLuis    2008    2009    -    Mar    Sun>=8    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    SanLuis    2008    2009    -    Mar    Sun>=8    0:00    0    -
  {
    2008 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    SanLuis    2007    2008    -    Oct    Sun>=8    0:00    1:00    -
  {
    2007 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySanLuis ACE_TIME_PROGMEM = {
  kZoneRulesSanLuis /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Shang
// Rules: 15
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesShang[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Shang    1919    only    -    Sep    30    24:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1919    only    -    Apr    12    24:00    1:00    D
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1919    only    -    Sep    30    24:00    0    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1940    only    -    Jun     1     0:00    1:00    D
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1940    only    -    Oct    12    24:00    0    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1941    only    -    Mar    15     0:00    1:00    D
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1941    only    -    Nov     1    24:00    0    S
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1942    only    -    Jan    31     0:00    1:00    D
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1945    only    -    Sep     1    24:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1946    only    -    May    15     0:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1946    only    -    Sep    30    24:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1947    only    -    Apr    15     0:00    1:00    D
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1947    only    -    Oct    31    24:00    0    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Shang    1948    1949    -    May     1     0:00    1:00    D
  {
    1948 /*fromYear*/,
    1949 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Shang    1948    1949    -    Sep    30    24:00    0    S
  {
    1948 /*fromYear*/,
    1949 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyShang ACE_TIME_PROGMEM = {
  kZoneRulesShang /*rules*/,
  15 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: SovietZone
// Rules: 4
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSovietZone[] ACE_TIME_PROGMEM = {
  // Anchor: Rule SovietZone    1945    only    -    Nov    18    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SovietZone    1945    only    -    May    24    2:00    2:00    M
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule SovietZone    1945    only    -    Sep    24    3:00    1:00    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule SovietZone    1945    only    -    Nov    18    2:00s    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySovietZone ACE_TIME_PROGMEM = {
  kZoneRulesSovietZone /*rules*/,
  4 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Spain
// Rules: 31
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSpain[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Spain    1918    1919    -    Oct     6    24:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1918    only    -    Apr    15    23:00    1:00    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1918    1919    -    Oct     6    24:00s    0    -
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1919    only    -    Apr     6    23:00    1:00    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1924    only    -    Apr    16    23:00    1:00    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1924    only    -    Oct     4    24:00s    0    -
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1926    only    -    Apr    17    23:00    1:00    S
  {
    1926 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1926    1929    -    Oct    Sat>=1    24:00s    0    -
  {
    1926 /*fromYear*/,
    1929 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1927    only    -    Apr     9    23:00    1:00    S
  {
    1927 /*fromYear*/,
    1927 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1928    only    -    Apr    15     0:00    1:00    S
  {
    1928 /*fromYear*/,
    1928 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1929    only    -    Apr    20    23:00    1:00    S
  {
    1929 /*fromYear*/,
    1929 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1937    only    -    Jun    16    23:00    1:00    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1937    only    -    Oct     2    24:00s    0    -
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1938    only    -    Apr     2    23:00    1:00    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1938    only    -    Apr    30    23:00    2:00    M
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    120 /*deltaMinutes*/,
    18 /*letterIndex ("M")*/,
  },
  // Rule    Spain    1938    only    -    Oct     2    24:00    1:00    S
  {
    1938 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1939    only    -    Oct     7    24:00s    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1942    only    -    May     2    23:00    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1942    only    -    Sep     1     1:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1943    1946    -    Apr    Sat>=13    23:00    1:00    S
  {
    1943 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1943    1944    -    Oct    Sun>=1     1:00    0    -
  {
    1943 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1945    1946    -    Sep    lastSun     1:00    0    -
  {
    1945 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1949    only    -    Apr    30    23:00    1:00    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1949    only    -    Oct     2     1:00    0    -
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1974    1975    -    Apr    Sat>=12    23:00    1:00    S
  {
    1974 /*fromYear*/,
    1975 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1974    1975    -    Oct    Sun>=1     1:00    0    -
  {
    1974 /*fromYear*/,
    1975 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1976    only    -    Mar    27    23:00    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1976    1977    -    Sep    lastSun     1:00    0    -
  {
    1976 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Spain    1977    only    -    Apr     2    23:00    1:00    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1978    only    -    Apr     2     2:00s    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Spain    1978    only    -    Oct     1     2:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySpain ACE_TIME_PROGMEM = {
  kZoneRulesSpain /*rules*/,
  31 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: SpainAfrica
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSpainAfrica[] ACE_TIME_PROGMEM = {
  // Anchor: Rule SpainAfrica 1967    only    -    Oct     1     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SpainAfrica 1967    only    -    Jun     3    12:00    1:00    S
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    2880 /*atTimeCode (43200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule SpainAfrica 1967    only    -    Oct     1     0:00    0    -
  {
    1967 /*fromYear*/,
    1967 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SpainAfrica 1974    only    -    Jun    24     0:00    1:00    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule SpainAfrica 1974    only    -    Sep     1     0:00    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SpainAfrica 1976    1977    -    May     1     0:00    1:00    S
  {
    1976 /*fromYear*/,
    1977 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule SpainAfrica 1976    only    -    Aug     1     0:00    0    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SpainAfrica 1977    only    -    Sep    28     0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule SpainAfrica 1978    only    -    Jun     1     0:00    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule SpainAfrica 1978    only    -    Aug     4     0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySpainAfrica ACE_TIME_PROGMEM = {
  kZoneRulesSpainAfrica /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: StJohns
// Rules: 20
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesStJohns[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    StJohns    1917    only    -    Sep    17    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1917    only    -    Apr     8    2:00    1:00    D
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1917    only    -    Sep    17    2:00    0    S
  {
    1917 /*fromYear*/,
    1917 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1919    only    -    May     5    23:00    1:00    D
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1919    only    -    Aug    12    23:00    0    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1920    1935    -    May    Sun>=1    23:00    1:00    D
  {
    1920 /*fromYear*/,
    1935 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1920    1935    -    Oct    lastSun    23:00    0    S
  {
    1920 /*fromYear*/,
    1935 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1936    1941    -    May    Mon>=9    0:00    1:00    D
  {
    1936 /*fromYear*/,
    1941 /*toYear*/,
    5 /*inMonth*/,
    1 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1936    1941    -    Oct    Mon>=2    0:00    0    S
  {
    1936 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    1 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1946    1950    -    May    Sun>=8    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1950 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1946    1950    -    Oct    Sun>=2    2:00    0    S
  {
    1946 /*fromYear*/,
    1950 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1951    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1951 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1951    1959    -    Sep    lastSun    2:00    0    S
  {
    1951 /*fromYear*/,
    1959 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1960    1986    -    Oct    lastSun    2:00    0    S
  {
    1960 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1987    only    -    Apr    Sun>=1    0:01    1:00    D
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    1987    2006    -    Oct    lastSun    0:01    0    S
  {
    1987 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    StJohns    1988    only    -    Apr    Sun>=1    0:01    2:00    DD
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    120 /*deltaMinutes*/,
    14 /*letterIndex ("DD")*/,
  },
  // Rule    StJohns    1989    2006    -    Apr    Sun>=1    0:01    1:00    D
  {
    1989 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    2007    2011    -    Mar    Sun>=8    0:01    1:00    D
  {
    2007 /*fromYear*/,
    2011 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    StJohns    2007    2010    -    Nov    Sun>=1    0:01    0    S
  {
    2007 /*fromYear*/,
    2010 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    4 /*atTimeCode (60/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyStJohns ACE_TIME_PROGMEM = {
  kZoneRulesStJohns /*rules*/,
  20 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Starke
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesStarke[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Starke    1947    1954    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Starke    1947    1961    -    Apr    lastSun    2:00    1:00    D
  {
    1947 /*fromYear*/,
    1961 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Starke    1947    1954    -    Sep    lastSun    2:00    0    S
  {
    1947 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Starke    1955    1956    -    Oct    lastSun    2:00    0    S
  {
    1955 /*fromYear*/,
    1956 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Starke    1957    1958    -    Sep    lastSun    2:00    0    S
  {
    1957 /*fromYear*/,
    1958 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Starke    1959    1961    -    Oct    lastSun    2:00    0    S
  {
    1959 /*fromYear*/,
    1961 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyStarke ACE_TIME_PROGMEM = {
  kZoneRulesStarke /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Sudan
// Rules: 5
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSudan[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Sudan    1970    1985    -    Oct    15    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Sudan    1970    only    -    May     1    0:00    1:00    S
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Sudan    1970    1985    -    Oct    15    0:00    0    -
  {
    1970 /*fromYear*/,
    1985 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Sudan    1971    only    -    Apr    30    0:00    1:00    S
  {
    1971 /*fromYear*/,
    1971 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Sudan    1972    1985    -    Apr    lastSun    0:00    1:00    S
  {
    1972 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySudan ACE_TIME_PROGMEM = {
  kZoneRulesSudan /*rules*/,
  5 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Swift
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSwift[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Swift    1957    only    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Swift    1957    only    -    Apr    lastSun    2:00    1:00    D
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Swift    1957    only    -    Oct    lastSun    2:00    0    S
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Swift    1959    1961    -    Apr    lastSun    2:00    1:00    D
  {
    1959 /*fromYear*/,
    1961 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Swift    1959    only    -    Oct    lastSun    2:00    0    S
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Swift    1960    1961    -    Sep    lastSun    2:00    0    S
  {
    1960 /*fromYear*/,
    1961 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySwift ACE_TIME_PROGMEM = {
  kZoneRulesSwift /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Swiss
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSwiss[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Swiss    1941    1942    -    Oct    Mon>=1    2:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Swiss    1941    1942    -    May    Mon>=1    1:00    1:00    S
  {
    1941 /*fromYear*/,
    1942 /*toYear*/,
    5 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Swiss    1941    1942    -    Oct    Mon>=1    2:00    0    -
  {
    1941 /*fromYear*/,
    1942 /*toYear*/,
    10 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySwiss ACE_TIME_PROGMEM = {
  kZoneRulesSwiss /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Syria
// Rules: 42
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesSyria[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Syria    1920    1923    -    Oct    Sun>=1    2:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1920    1923    -    Apr    Sun>=15    2:00    1:00    S
  {
    1920 /*fromYear*/,
    1923 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1920    1923    -    Oct    Sun>=1    2:00    0    -
  {
    1920 /*fromYear*/,
    1923 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1962    only    -    Apr    29    2:00    1:00    S
  {
    1962 /*fromYear*/,
    1962 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1962    only    -    Oct    1    2:00    0    -
  {
    1962 /*fromYear*/,
    1962 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1963    1965    -    May    1    2:00    1:00    S
  {
    1963 /*fromYear*/,
    1965 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1963    only    -    Sep    30    2:00    0    -
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1964    only    -    Oct    1    2:00    0    -
  {
    1964 /*fromYear*/,
    1964 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1965    only    -    Sep    30    2:00    0    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1966    only    -    Apr    24    2:00    1:00    S
  {
    1966 /*fromYear*/,
    1966 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1966    1976    -    Oct    1    2:00    0    -
  {
    1966 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1967    1978    -    May    1    2:00    1:00    S
  {
    1967 /*fromYear*/,
    1978 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1977    1978    -    Sep    1    2:00    0    -
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1983    1984    -    Apr    9    2:00    1:00    S
  {
    1983 /*fromYear*/,
    1984 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1983    1984    -    Oct    1    2:00    0    -
  {
    1983 /*fromYear*/,
    1984 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1986    only    -    Feb    16    2:00    1:00    S
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1986    only    -    Oct    9    2:00    0    -
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1987    only    -    Mar    1    2:00    1:00    S
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1987    1988    -    Oct    31    2:00    0    -
  {
    1987 /*fromYear*/,
    1988 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1988    only    -    Mar    15    2:00    1:00    S
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1989    only    -    Mar    31    2:00    1:00    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1989    only    -    Oct    1    2:00    0    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1990    only    -    Apr    1    2:00    1:00    S
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1990    only    -    Sep    30    2:00    0    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1991    only    -    Apr     1    0:00    1:00    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1991    1992    -    Oct     1    0:00    0    -
  {
    1991 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1992    only    -    Apr     8    0:00    1:00    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1993    only    -    Mar    26    0:00    1:00    S
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1993    only    -    Sep    25    0:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1994    1996    -    Apr     1    0:00    1:00    S
  {
    1994 /*fromYear*/,
    1996 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1994    2005    -    Oct     1    0:00    0    -
  {
    1994 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    1997    1998    -    Mar    lastMon    0:00    1:00    S
  {
    1997 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    1 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    1999    2006    -    Apr     1    0:00    1:00    S
  {
    1999 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2006    only    -    Sep    22    0:00    0    -
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    2007    only    -    Mar    lastFri    0:00    1:00    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2007    only    -    Nov     Fri>=1    0:00    0    -
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    11 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    2008    only    -    Apr    Fri>=1    0:00    1:00    S
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2008    only    -    Nov    1    0:00    0    -
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Syria    2009    only    -    Mar    lastFri    0:00    1:00    S
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2010    2011    -    Apr    Fri>=1    0:00    1:00    S
  {
    2010 /*fromYear*/,
    2011 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2012    2022    -    Mar    lastFri    0:00    1:00    S
  {
    2012 /*fromYear*/,
    2022 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Syria    2009    2022    -    Oct    lastFri    0:00    0    -
  {
    2009 /*fromYear*/,
    2022 /*toYear*/,
    10 /*inMonth*/,
    5 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicySyria ACE_TIME_PROGMEM = {
  kZoneRulesSyria /*rules*/,
  42 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Taiwan
// Rules: 16
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesTaiwan[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Taiwan    1946    only    -    Oct    1    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1946    only    -    May    15    0:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1946    only    -    Oct    1    0:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1947    only    -    Apr    15    0:00    1:00    D
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1947    only    -    Nov    1    0:00    0    S
  {
    1947 /*fromYear*/,
    1947 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1948    1951    -    May    1    0:00    1:00    D
  {
    1948 /*fromYear*/,
    1951 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1948    1951    -    Oct    1    0:00    0    S
  {
    1948 /*fromYear*/,
    1951 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1952    only    -    Mar    1    0:00    1:00    D
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1952    1954    -    Nov    1    0:00    0    S
  {
    1952 /*fromYear*/,
    1954 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1953    1959    -    Apr    1    0:00    1:00    D
  {
    1953 /*fromYear*/,
    1959 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1955    1961    -    Oct    1    0:00    0    S
  {
    1955 /*fromYear*/,
    1961 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1960    1961    -    Jun    1    0:00    1:00    D
  {
    1960 /*fromYear*/,
    1961 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1974    1975    -    Apr    1    0:00    1:00    D
  {
    1974 /*fromYear*/,
    1975 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1974    1975    -    Oct    1    0:00    0    S
  {
    1974 /*fromYear*/,
    1975 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Taiwan    1979    only    -    Jul    1    0:00    1:00    D
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Taiwan    1979    only    -    Oct    1    0:00    0    S
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyTaiwan ACE_TIME_PROGMEM = {
  kZoneRulesTaiwan /*rules*/,
  16 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Thule
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesThule[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Thule    1991    1992    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Thule    1991    1992    -    Mar    lastSun    2:00    1:00    D
  {
    1991 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Thule    1991    1992    -    Sep    lastSun    2:00    0    S
  {
    1991 /*fromYear*/,
    1992 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Thule    1993    2006    -    Apr    Sun>=1    2:00    1:00    D
  {
    1993 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Thule    1993    2006    -    Oct    lastSun    2:00    0    S
  {
    1993 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Thule    2007    max    -    Mar    Sun>=8    2:00    1:00    D
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Thule    2007    max    -    Nov    Sun>=1    2:00    0    S
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyThule ACE_TIME_PROGMEM = {
  kZoneRulesThule /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Tonga
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesTonga[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Tonga    2000    only    -    Mar    19    2:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    1999    only    -    Oct     7    2:00s    1:00    -
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    2000    only    -    Mar    19    2:00s    0    -
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    2000    2001    -    Nov    Sun>=1    2:00    1:00    -
  {
    2000 /*fromYear*/,
    2001 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    2001    2002    -    Jan    lastSun    2:00    0    -
  {
    2001 /*fromYear*/,
    2002 /*toYear*/,
    1 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    2016    only    -    Nov    Sun>=1    2:00    1:00    -
  {
    2016 /*fromYear*/,
    2016 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tonga    2017    only    -    Jan    Sun>=15    3:00    0    -
  {
    2017 /*fromYear*/,
    2017 /*toYear*/,
    1 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyTonga ACE_TIME_PROGMEM = {
  kZoneRulesTonga /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Toronto
// Rules: 19
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesToronto[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Toronto    1919    only    -    Oct    26    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1919    only    -    Mar    30    23:30    1:00    D
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5640 /*atTimeCode (84600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1919    only    -    Oct    26    0:00    0    S
  {
    1919 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1920    only    -    May     2    2:00    1:00    D
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1920    only    -    Sep    26    0:00    0    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1921    only    -    May    15    2:00    1:00    D
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1921    only    -    Sep    15    2:00    0    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1922    1923    -    May    Sun>=8    2:00    1:00    D
  {
    1922 /*fromYear*/,
    1923 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1922    1926    -    Sep    Sun>=15    2:00    0    S
  {
    1922 /*fromYear*/,
    1926 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1924    1927    -    May    Sun>=1    2:00    1:00    D
  {
    1924 /*fromYear*/,
    1927 /*toYear*/,
    5 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1927    1937    -    Sep    Sun>=25    2:00    0    S
  {
    1927 /*fromYear*/,
    1937 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1928    1937    -    Apr    Sun>=25    2:00    1:00    D
  {
    1928 /*fromYear*/,
    1937 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1938    1940    -    Apr    lastSun    2:00    1:00    D
  {
    1938 /*fromYear*/,
    1940 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1938    1939    -    Sep    lastSun    2:00    0    S
  {
    1938 /*fromYear*/,
    1939 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1945    1948    -    Sep    lastSun    2:00    0    S
  {
    1945 /*fromYear*/,
    1948 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1946    1973    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1973 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Toronto    1949    1950    -    Nov    lastSun    2:00    0    S
  {
    1949 /*fromYear*/,
    1950 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1951    1956    -    Sep    lastSun    2:00    0    S
  {
    1951 /*fromYear*/,
    1956 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Toronto    1957    1973    -    Oct    lastSun    2:00    0    S
  {
    1957 /*fromYear*/,
    1973 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyToronto ACE_TIME_PROGMEM = {
  kZoneRulesToronto /*rules*/,
  19 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Troll
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesTroll[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Troll    2004    max    -    Oct    lastSun    1:00u    0:00    +00
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    1 /*letterIndex ("+00")*/,
  },
  // Rule    Troll    2005    max    -    Mar    lastSun    1:00u    2:00    +02
  {
    2005 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    120 /*deltaMinutes*/,
    2 /*letterIndex ("+02")*/,
  },
  // Rule    Troll    2004    max    -    Oct    lastSun    1:00u    0:00    +00
  {
    2004 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    1 /*letterIndex ("+00")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyTroll ACE_TIME_PROGMEM = {
  kZoneRulesTroll /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Tunisia
// Rules: 26
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesTunisia[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Tunisia    1939    only    -    Nov    18    23:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1939    only    -    Apr    15    23:00s    1:00    S
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1939    only    -    Nov    18    23:00s    0    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1940    only    -    Feb    25    23:00s    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1941    only    -    Oct     6     0:00    0    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1942    only    -    Mar     9     0:00    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1942    only    -    Nov     2     3:00    0    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1943    only    -    Mar    29     2:00    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1943    only    -    Apr    17     2:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1943    only    -    Apr    25     2:00    1:00    S
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1943    only    -    Oct     4     2:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1944    1945    -    Apr    Mon>=1     2:00    1:00    S
  {
    1944 /*fromYear*/,
    1945 /*toYear*/,
    4 /*inMonth*/,
    1 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1944    only    -    Oct     8     0:00    0    -
  {
    1944 /*fromYear*/,
    1944 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1945    only    -    Sep    16     0:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1977    only    -    Apr    30     0:00s    1:00    S
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1977    only    -    Sep    24     0:00s    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1978    only    -    May     1     0:00s    1:00    S
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1978    only    -    Oct     1     0:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1988    only    -    Jun     1     0:00s    1:00    S
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1988    1990    -    Sep    lastSun     0:00s    0    -
  {
    1988 /*fromYear*/,
    1990 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    1989    only    -    Mar    26     0:00s    1:00    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    1990    only    -    May     1     0:00s    1:00    S
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    2005    only    -    May     1     0:00s    1:00    S
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    2005    only    -    Sep    30     1:00s    0    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Tunisia    2006    2008    -    Mar    lastSun     2:00s    1:00    S
  {
    2006 /*fromYear*/,
    2008 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Tunisia    2006    2008    -    Oct    lastSun     2:00s    0    -
  {
    2006 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyTunisia ACE_TIME_PROGMEM = {
  kZoneRulesTunisia /*rules*/,
  26 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Turkey
// Rules: 46
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesTurkey[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Turkey    1916    only    -    Oct     1    0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1916    only    -    May     1    0:00    1:00    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1916    only    -    Oct     1    0:00    0    -
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1920    only    -    Mar    28    0:00    1:00    S
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1920    only    -    Oct    25    0:00    0    -
  {
    1920 /*fromYear*/,
    1920 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1921    only    -    Apr     3    0:00    1:00    S
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1921    only    -    Oct     3    0:00    0    -
  {
    1921 /*fromYear*/,
    1921 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1922    only    -    Mar    26    0:00    1:00    S
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1922    only    -    Oct     8    0:00    0    -
  {
    1922 /*fromYear*/,
    1922 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1924    only    -    May    13    0:00    1:00    S
  {
    1924 /*fromYear*/,
    1924 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1924    1925    -    Oct     1    0:00    0    -
  {
    1924 /*fromYear*/,
    1925 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1925    only    -    May     1    0:00    1:00    S
  {
    1925 /*fromYear*/,
    1925 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1940    only    -    Jul     1    0:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1940    only    -    Oct     6    0:00    0    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1940    only    -    Dec     1    0:00    1:00    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1941    only    -    Sep    21    0:00    0    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1942    only    -    Apr     1    0:00    1:00    S
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1945    only    -    Oct     8    0:00    0    -
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1946    only    -    Jun     1    0:00    1:00    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1946    only    -    Oct     1    0:00    0    -
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1947    1948    -    Apr    Sun>=16    0:00    1:00    S
  {
    1947 /*fromYear*/,
    1948 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1947    1951    -    Oct    Sun>=2    0:00    0    -
  {
    1947 /*fromYear*/,
    1951 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1949    only    -    Apr    10    0:00    1:00    S
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1950    only    -    Apr    16    0:00    1:00    S
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1951    only    -    Apr    22    0:00    1:00    S
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1962    only    -    Jul    15    0:00    1:00    S
  {
    1962 /*fromYear*/,
    1962 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1963    only    -    Oct    30    0:00    0    -
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1964    only    -    May    15    0:00    1:00    S
  {
    1964 /*fromYear*/,
    1964 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1964    only    -    Oct     1    0:00    0    -
  {
    1964 /*fromYear*/,
    1964 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1973    only    -    Jun     3    1:00    1:00    S
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1973    1976    -    Oct    Sun>=31    2:00    0    -
  {
    1973 /*fromYear*/,
    1976 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1974    only    -    Mar    31    2:00    1:00    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1975    only    -    Mar    22    2:00    1:00    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1976    only    -    Mar    21    2:00    1:00    S
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1977    1978    -    Apr    Sun>=1    2:00    1:00    S
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1977    1978    -    Oct    Sun>=15    2:00    0    -
  {
    1977 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1978    only    -    Jun    29    0:00    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1983    only    -    Jul    31    2:00    1:00    S
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1983    only    -    Oct     2    2:00    0    -
  {
    1983 /*fromYear*/,
    1983 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1985    only    -    Apr    20    1:00s    1:00    S
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1985    only    -    Sep    28    1:00s    0    -
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1986    1993    -    Mar    lastSun    1:00s    1:00    S
  {
    1986 /*fromYear*/,
    1993 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1986    1995    -    Sep    lastSun    1:00s    0    -
  {
    1986 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Turkey    1994    only    -    Mar    20    1:00s    1:00    S
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1995    2006    -    Mar    lastSun    1:00s    1:00    S
  {
    1995 /*fromYear*/,
    2006 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Turkey    1996    2006    -    Oct    lastSun    1:00s    0    -
  {
    1996 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyTurkey ACE_TIME_PROGMEM = {
  kZoneRulesTurkey /*rules*/,
  46 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: US
// Rules: 14
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesUS[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    US    1918    1919    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    US    1918    1919    -    Mar    lastSun    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    1918    1919    -    Oct    lastSun    2:00    0    S
  {
    1918 /*fromYear*/,
    1919 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    US    1942    only    -    Feb    9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    US    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    US    1945    only    -    Sep    30    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    US    1967    2006    -    Oct    lastSun    2:00    0    S
  {
    1967 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    US    1967    1973    -    Apr    lastSun    2:00    1:00    D
  {
    1967 /*fromYear*/,
    1973 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    1974    only    -    Jan    6    2:00    1:00    D
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    1975    only    -    Feb    lastSun    2:00    1:00    D
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    2 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    1976    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1976 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    1987    2006    -    Apr    Sun>=1    2:00    1:00    D
  {
    1987 /*fromYear*/,
    2006 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    2007    max    -    Mar    Sun>=8    2:00    1:00    D
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    US    2007    max    -    Nov    Sun>=1    2:00    0    S
  {
    2007 /*fromYear*/,
    32766 /*toYear*/,
    11 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyUS ACE_TIME_PROGMEM = {
  kZoneRulesUS /*rules*/,
  14 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Uruguay
// Rules: 49
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesUruguay[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Uruguay    1924    1926    -    Apr     1     0:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1923    1925    -    Oct     1     0:00    0:30    -
  {
    1923 /*fromYear*/,
    1925 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1924    1926    -    Apr     1     0:00    0    -
  {
    1924 /*fromYear*/,
    1926 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1933    1938    -    Oct    lastSun     0:00    0:30    -
  {
    1933 /*fromYear*/,
    1938 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1934    1941    -    Mar    lastSat    24:00    0    -
  {
    1934 /*fromYear*/,
    1941 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1939    only    -    Oct     1     0:00    0:30    -
  {
    1939 /*fromYear*/,
    1939 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1940    only    -    Oct    27     0:00    0:30    -
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1941    only    -    Aug     1     0:00    0:30    -
  {
    1941 /*fromYear*/,
    1941 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1942    only    -    Dec    14     0:00    0:30    -
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1943    only    -    Mar    14     0:00    0    -
  {
    1943 /*fromYear*/,
    1943 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1959    only    -    May    24     0:00    0:30    -
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1959    only    -    Nov    15     0:00    0    -
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1960    only    -    Jan    17     0:00    1:00    -
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1960    only    -    Mar     6     0:00    0    -
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1965    only    -    Apr     4     0:00    1:00    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1965    only    -    Sep    26     0:00    0    -
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1968    only    -    May    27     0:00    0:30    -
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1968    only    -    Dec     1     0:00    0    -
  {
    1968 /*fromYear*/,
    1968 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1970    only    -    Apr    25     0:00    1:00    -
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1970    only    -    Jun    14     0:00    0    -
  {
    1970 /*fromYear*/,
    1970 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1972    only    -    Apr    23     0:00    1:00    -
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1972    only    -    Jul    16     0:00    0    -
  {
    1972 /*fromYear*/,
    1972 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1974    only    -    Jan    13     0:00    1:30    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    90 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1974    only    -    Mar    10     0:00    0:30    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    30 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1974    only    -    Sep     1     0:00    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1974    only    -    Dec    22     0:00    1:00    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1975    only    -    Mar    30     0:00    0    -
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1976    only    -    Dec    19     0:00    1:00    -
  {
    1976 /*fromYear*/,
    1976 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1977    only    -    Mar     6     0:00    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1977    only    -    Dec     4     0:00    1:00    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    4 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1978    1979    -    Mar    Sun>=1     0:00    0    -
  {
    1978 /*fromYear*/,
    1979 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1978    only    -    Dec    17     0:00    1:00    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1979    only    -    Apr    29     0:00    1:00    -
  {
    1979 /*fromYear*/,
    1979 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1980    only    -    Mar    16     0:00    0    -
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1987    only    -    Dec    14     0:00    1:00    -
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1988    only    -    Feb    28     0:00    0    -
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1988    only    -    Dec    11     0:00    1:00    -
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1989    only    -    Mar     5     0:00    0    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1989    only    -    Oct    29     0:00    1:00    -
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1990    only    -    Feb    25     0:00    0    -
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1990    1991    -    Oct    Sun>=21     0:00    1:00    -
  {
    1990 /*fromYear*/,
    1991 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1991    1992    -    Mar    Sun>=1     0:00    0    -
  {
    1991 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1992    only    -    Oct    18     0:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    1993    only    -    Feb    28     0:00    0    -
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    2004    only    -    Sep    19     0:00    1:00    -
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    2005    only    -    Mar    27     2:00    0    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    2005    only    -    Oct     9     2:00    1:00    -
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    2006    2015    -    Mar    Sun>=8     2:00    0    -
  {
    2006 /*fromYear*/,
    2015 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    8 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Uruguay    2006    2014    -    Oct    Sun>=1     2:00    1:00    -
  {
    2006 /*fromYear*/,
    2014 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyUruguay ACE_TIME_PROGMEM = {
  kZoneRulesUruguay /*rules*/,
  49 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Vanc
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesVanc[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Vanc    1918    only    -    Oct    27    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Vanc    1918    only    -    Apr    14    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Vanc    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Vanc    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Vanc    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    Vanc    1945    only    -    Sep    30    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Vanc    1946    1986    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Vanc    1946    only    -    Sep    29    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Vanc    1947    1961    -    Sep    lastSun    2:00    0    S
  {
    1947 /*fromYear*/,
    1961 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Vanc    1962    2006    -    Oct    lastSun    2:00    0    S
  {
    1962 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyVanc ACE_TIME_PROGMEM = {
  kZoneRulesVanc /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Vanuatu
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesVanuatu[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Vanuatu    1974    only    -    Mar    30    12:00u    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1973    only    -    Dec    22    12:00u    1:00    -
  {
    1973 /*fromYear*/,
    1973 /*toYear*/,
    12 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    2880 /*atTimeCode (43200/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1974    only    -    Mar    30    12:00u    0    -
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    2880 /*atTimeCode (43200/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1983    1991    -    Sep    Sat>=22    24:00    1:00    -
  {
    1983 /*fromYear*/,
    1991 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1984    1991    -    Mar    Sat>=22    24:00    0    -
  {
    1984 /*fromYear*/,
    1991 /*toYear*/,
    3 /*inMonth*/,
    6 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1992    1993    -    Jan    Sat>=22    24:00    0    -
  {
    1992 /*fromYear*/,
    1993 /*toYear*/,
    1 /*inMonth*/,
    6 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    Vanuatu    1992    only    -    Oct    Sat>=22    24:00    1:00    -
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    10 /*inMonth*/,
    6 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyVanuatu ACE_TIME_PROGMEM = {
  kZoneRulesVanuatu /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Vincennes
// Rules: 10
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesVincennes[] ACE_TIME_PROGMEM = {
  // Anchor: Rule Vincennes    1946    only    -    Sep    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Vincennes    1946    only    -    Apr    lastSun    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Vincennes    1946    only    -    Sep    lastSun    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Vincennes    1953    1954    -    Apr    lastSun    2:00    1:00    D
  {
    1953 /*fromYear*/,
    1954 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Vincennes    1953    1959    -    Sep    lastSun    2:00    0    S
  {
    1953 /*fromYear*/,
    1959 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Vincennes    1955    only    -    May     1    0:00    1:00    D
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Vincennes    1956    1963    -    Apr    lastSun    2:00    1:00    D
  {
    1956 /*fromYear*/,
    1963 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule Vincennes    1960    only    -    Oct    lastSun    2:00    0    S
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Vincennes    1961    only    -    Sep    lastSun    2:00    0    S
  {
    1961 /*fromYear*/,
    1961 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule Vincennes    1962    1963    -    Oct    lastSun    2:00    0    S
  {
    1962 /*fromYear*/,
    1963 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyVincennes ACE_TIME_PROGMEM = {
  kZoneRulesVincennes /*rules*/,
  10 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: W-Eur
// Rules: 7
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesW_Eur[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    W-Eur    1977    only    -    Sep    lastSun     1:00s    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    W-Eur    1977    1980    -    Apr    Sun>=1     1:00s    1:00    S
  {
    1977 /*fromYear*/,
    1980 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    W-Eur    1977    only    -    Sep    lastSun     1:00s    0    -
  {
    1977 /*fromYear*/,
    1977 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    W-Eur    1978    only    -    Oct     1     1:00s    0    -
  {
    1978 /*fromYear*/,
    1978 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    W-Eur    1979    1995    -    Sep    lastSun     1:00s    0    -
  {
    1979 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    W-Eur    1981    max    -    Mar    lastSun     1:00s    1:00    S
  {
    1981 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    W-Eur    1996    max    -    Oct    lastSun     1:00s    0    -
  {
    1996 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyW_Eur ACE_TIME_PROGMEM = {
  kZoneRulesW_Eur /*rules*/,
  7 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: WS
// Rules: 6
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesWS[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    WS    2011    only    -    Apr    Sat>=1    4:00    0    -
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    WS    2010    only    -    Sep    lastSun    0:00    1    -
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    WS    2011    only    -    Apr    Sat>=1    4:00    0    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    4 /*inMonth*/,
    6 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    WS    2011    only    -    Sep    lastSat    3:00    1    -
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    9 /*inMonth*/,
    6 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    WS    2012    2021    -    Apr    Sun>=1    4:00    0    -
  {
    2012 /*fromYear*/,
    2021 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    960 /*atTimeCode (14400/15)*/,
    0 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },
  // Rule    WS    2012    2020    -    Sep    lastSun    3:00    1    -
  {
    2012 /*fromYear*/,
    2020 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    720 /*atTimeCode (10800/15)*/,
    60 /*deltaMinutes*/,
    0 /*letterIndex ("")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyWS ACE_TIME_PROGMEM = {
  kZoneRulesWS /*rules*/,
  6 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Winn
// Rules: 25
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesWinn[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Winn    1916    only    -    Sep    17    0:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1916    only    -    Apr    23    0:00    1:00    D
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1916    only    -    Sep    17    0:00    0    S
  {
    1916 /*fromYear*/,
    1916 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1918    only    -    Apr    14    2:00    1:00    D
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1918    only    -    Oct    27    2:00    0    S
  {
    1918 /*fromYear*/,
    1918 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1937    only    -    May    16    2:00    1:00    D
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1937    only    -    Sep    26    2:00    0    S
  {
    1937 /*fromYear*/,
    1937 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    26 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1942    only    -    Feb     9    2:00    1:00    W
  {
    1942 /*fromYear*/,
    1942 /*toYear*/,
    2 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    26 /*letterIndex ("W")*/,
  },
  // Rule    Winn    1945    only    -    Aug    14    23:00u    1:00    P
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5520 /*atTimeCode (82800/15)*/,
    60 /*deltaMinutes*/,
    24 /*letterIndex ("P")*/,
  },
  // Rule    Winn    1945    only    -    Sep    lastSun    2:00    0    S
  {
    1945 /*fromYear*/,
    1945 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1946    only    -    May    12    2:00    1:00    D
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1946    only    -    Oct    13    2:00    0    S
  {
    1946 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1947    1949    -    Apr    lastSun    2:00    1:00    D
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1947    1949    -    Sep    lastSun    2:00    0    S
  {
    1947 /*fromYear*/,
    1949 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1950    only    -    May     1    2:00    1:00    D
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1950    only    -    Sep    30    2:00    0    S
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1951    1960    -    Apr    lastSun    2:00    1:00    D
  {
    1951 /*fromYear*/,
    1960 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1951    1958    -    Sep    lastSun    2:00    0    S
  {
    1951 /*fromYear*/,
    1958 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1959    only    -    Oct    lastSun    2:00    0    S
  {
    1959 /*fromYear*/,
    1959 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1960    only    -    Sep    lastSun    2:00    0    S
  {
    1960 /*fromYear*/,
    1960 /*toYear*/,
    9 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1963    only    -    Apr    lastSun    2:00    1:00    D
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1963    only    -    Sep    22    2:00    0    S
  {
    1963 /*fromYear*/,
    1963 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1966    1986    -    Apr    lastSun    2:00s    1:00    D
  {
    1966 /*fromYear*/,
    1986 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Winn    1966    2005    -    Oct    lastSun    2:00s    0    S
  {
    1966 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Winn    1987    2005    -    Apr    Sun>=1    2:00s    1:00    D
  {
    1987 /*fromYear*/,
    2005 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyWinn ACE_TIME_PROGMEM = {
  kZoneRulesWinn /*rules*/,
  25 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Yukon
// Rules: 3
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesYukon[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Yukon    1965    only    -    Oct    lastSun    2:00    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Yukon    1965    only    -    Apr    lastSun    0:00    2:00    DD
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    4 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    120 /*deltaMinutes*/,
    14 /*letterIndex ("DD")*/,
  },
  // Rule    Yukon    1965    only    -    Oct    lastSun    2:00    0    S
  {
    1965 /*fromYear*/,
    1965 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyYukon ACE_TIME_PROGMEM = {
  kZoneRulesYukon /*rules*/,
  3 /*numRules*/,
};

//---------------------------------------------------------------------------
// Policy name: Zion
// Rules: 86
//---------------------------------------------------------------------------

static const complete::Info::ZoneRule kZoneRulesZion[] ACE_TIME_PROGMEM = {
  // Anchor: Rule    Zion    1940    only    -    Sep    30    24:00u    0    S
  {
    -32767 /*fromYear*/,
    -32767 /*toYear*/,
    1 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1940    only    -    May    31    24:00u    1:00    D
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1940    only    -    Sep    30    24:00u    0    S
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1940    only    -    Nov    16    24:00u    1:00    D
  {
    1940 /*fromYear*/,
    1940 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1942    1946    -    Oct    31    24:00u    0    S
  {
    1942 /*fromYear*/,
    1946 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1943    1944    -    Mar    31    24:00u    1:00    D
  {
    1943 /*fromYear*/,
    1944 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1945    1946    -    Apr    15    24:00u    1:00    D
  {
    1945 /*fromYear*/,
    1946 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1948    only    -    May    22    24:00u    2:00    DD
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    120 /*deltaMinutes*/,
    14 /*letterIndex ("DD")*/,
  },
  // Rule    Zion    1948    only    -    Aug    31    24:00u    1:00    D
  {
    1948 /*fromYear*/,
    1948 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1948    1949    -    Oct    31    24:00u    0    S
  {
    1948 /*fromYear*/,
    1949 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1949    only    -    Apr    30    24:00u    1:00    D
  {
    1949 /*fromYear*/,
    1949 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1950    only    -    Apr    15    24:00u    1:00    D
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1950    only    -    Sep    14    24:00u    0    S
  {
    1950 /*fromYear*/,
    1950 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1951    only    -    Mar    31    24:00u    1:00    D
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1951    only    -    Nov    10    24:00u    0    S
  {
    1951 /*fromYear*/,
    1951 /*toYear*/,
    11 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1952    only    -    Apr    19    24:00u    1:00    D
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1952    only    -    Oct    18    24:00u    0    S
  {
    1952 /*fromYear*/,
    1952 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    18 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1953    only    -    Apr    11    24:00u    1:00    D
  {
    1953 /*fromYear*/,
    1953 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1953    only    -    Sep    12    24:00u    0    S
  {
    1953 /*fromYear*/,
    1953 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1954    only    -    Jun    12    24:00u    1:00    D
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1954    only    -    Sep    11    24:00u    0    S
  {
    1954 /*fromYear*/,
    1954 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1955    only    -    Jun    11    24:00u    1:00    D
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    11 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1955    only    -    Sep    10    24:00u    0    S
  {
    1955 /*fromYear*/,
    1955 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    10 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1956    only    -    Jun     2    24:00u    1:00    D
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    6 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1956    only    -    Sep    29    24:00u    0    S
  {
    1956 /*fromYear*/,
    1956 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1957    only    -    Apr    27    24:00u    1:00    D
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1957    only    -    Sep    21    24:00u    0    S
  {
    1957 /*fromYear*/,
    1957 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    21 /*onDayOfMonth*/,
    32 /*atTimeModifier (kAtcSuffixU + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1974    only    -    Jul     6    24:00    1:00    D
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    7 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1974    only    -    Oct    12    24:00    0    S
  {
    1974 /*fromYear*/,
    1974 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1975    only    -    Apr    19    24:00    1:00    D
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    19 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1975    only    -    Aug    30    24:00    0    S
  {
    1975 /*fromYear*/,
    1975 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    30 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1980    only    -    Aug     2    24:00s    1:00    D
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1980    only    -    Sep    13    24:00s    0    S
  {
    1980 /*fromYear*/,
    1980 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1984    only    -    May     5    24:00s    1:00    D
  {
    1984 /*fromYear*/,
    1984 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1984    only    -    Aug    25    24:00s    0    S
  {
    1984 /*fromYear*/,
    1984 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1985    only    -    Apr    13    24:00    1:00    D
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1985    only    -    Aug    31    24:00    0    S
  {
    1985 /*fromYear*/,
    1985 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1986    only    -    May    17    24:00    1:00    D
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    5 /*inMonth*/,
    0 /*onDayOfWeek*/,
    17 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1986    only    -    Sep     6    24:00    0    S
  {
    1986 /*fromYear*/,
    1986 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1987    only    -    Apr    14    24:00    1:00    D
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1987    only    -    Sep    12    24:00    0    S
  {
    1987 /*fromYear*/,
    1987 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1988    only    -    Apr     9    24:00    1:00    D
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1988    only    -    Sep     3    24:00    0    S
  {
    1988 /*fromYear*/,
    1988 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1989    only    -    Apr    29    24:00    1:00    D
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1989    only    -    Sep     2    24:00    0    S
  {
    1989 /*fromYear*/,
    1989 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1990    only    -    Mar    24    24:00    1:00    D
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1990    only    -    Aug    25    24:00    0    S
  {
    1990 /*fromYear*/,
    1990 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    25 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1991    only    -    Mar    23    24:00    1:00    D
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1991    only    -    Aug    31    24:00    0    S
  {
    1991 /*fromYear*/,
    1991 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1992    only    -    Mar    28    24:00    1:00    D
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1992    only    -    Sep     5    24:00    0    S
  {
    1992 /*fromYear*/,
    1992 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1993    only    -    Apr     2    0:00    1:00    D
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1993    only    -    Sep     5    0:00    0    S
  {
    1993 /*fromYear*/,
    1993 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1994    only    -    Apr     1    0:00    1:00    D
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1994    only    -    Aug    28    0:00    0    S
  {
    1994 /*fromYear*/,
    1994 /*toYear*/,
    8 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1995    only    -    Mar    31    0:00    1:00    D
  {
    1995 /*fromYear*/,
    1995 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    31 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1995    only    -    Sep     3    0:00    0    S
  {
    1995 /*fromYear*/,
    1995 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1996    only    -    Mar    14    24:00    1:00    D
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1996    only    -    Sep    15    24:00    0    S
  {
    1996 /*fromYear*/,
    1996 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    15 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1997    only    -    Mar    20    24:00    1:00    D
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1997    only    -    Sep    13    24:00    0    S
  {
    1997 /*fromYear*/,
    1997 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    13 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    5760 /*atTimeCode (86400/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1998    only    -    Mar    20    0:00    1:00    D
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    20 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1998    only    -    Sep     6    0:00    0    S
  {
    1998 /*fromYear*/,
    1998 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    0 /*atTimeCode (0/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    1999    only    -    Apr     2    2:00    1:00    D
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    1999    only    -    Sep     3    2:00    0    S
  {
    1999 /*fromYear*/,
    1999 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2000    only    -    Apr    14    2:00    1:00    D
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    14 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2000    only    -    Oct     6    1:00    0    S
  {
    2000 /*fromYear*/,
    2000 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    6 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2001    only    -    Apr     9    1:00    1:00    D
  {
    2001 /*fromYear*/,
    2001 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2001    only    -    Sep    24    1:00    0    S
  {
    2001 /*fromYear*/,
    2001 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    24 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2002    only    -    Mar    29    1:00    1:00    D
  {
    2002 /*fromYear*/,
    2002 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    29 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2002    only    -    Oct     7    1:00    0    S
  {
    2002 /*fromYear*/,
    2002 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2003    only    -    Mar    28    1:00    1:00    D
  {
    2003 /*fromYear*/,
    2003 /*toYear*/,
    3 /*inMonth*/,
    0 /*onDayOfWeek*/,
    28 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2003    only    -    Oct     3    1:00    0    S
  {
    2003 /*fromYear*/,
    2003 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    3 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2004    only    -    Apr     7    1:00    1:00    D
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    4 /*inMonth*/,
    0 /*onDayOfWeek*/,
    7 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2004    only    -    Sep    22    1:00    0    S
  {
    2004 /*fromYear*/,
    2004 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    22 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    240 /*atTimeCode (3600/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2005    2012    -    Apr    Fri<=1    2:00    1:00    D
  {
    2005 /*fromYear*/,
    2012 /*toYear*/,
    4 /*inMonth*/,
    5 /*onDayOfWeek*/,
    -1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2005    only    -    Oct     9    2:00    0    S
  {
    2005 /*fromYear*/,
    2005 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    9 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2006    only    -    Oct     1    2:00    0    S
  {
    2006 /*fromYear*/,
    2006 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    1 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2007    only    -    Sep    16    2:00    0    S
  {
    2007 /*fromYear*/,
    2007 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    16 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2008    only    -    Oct     5    2:00    0    S
  {
    2008 /*fromYear*/,
    2008 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    5 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2009    only    -    Sep    27    2:00    0    S
  {
    2009 /*fromYear*/,
    2009 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    27 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2010    only    -    Sep    12    2:00    0    S
  {
    2010 /*fromYear*/,
    2010 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    12 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2011    only    -    Oct     2    2:00    0    S
  {
    2011 /*fromYear*/,
    2011 /*toYear*/,
    10 /*inMonth*/,
    0 /*onDayOfWeek*/,
    2 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2012    only    -    Sep    23    2:00    0    S
  {
    2012 /*fromYear*/,
    2012 /*toYear*/,
    9 /*inMonth*/,
    0 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },
  // Rule    Zion    2013    max    -    Mar    Fri>=23    2:00    1:00    D
  {
    2013 /*fromYear*/,
    32766 /*toYear*/,
    3 /*inMonth*/,
    5 /*onDayOfWeek*/,
    23 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    60 /*deltaMinutes*/,
    13 /*letterIndex ("D")*/,
  },
  // Rule    Zion    2013    max    -    Oct    lastSun    2:00    0    S
  {
    2013 /*fromYear*/,
    32766 /*toYear*/,
    10 /*inMonth*/,
    7 /*onDayOfWeek*/,
    0 /*onDayOfMonth*/,
    0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/,
    480 /*atTimeCode (7200/15)*/,
    0 /*deltaMinutes*/,
    25 /*letterIndex ("S")*/,
  },

};

const complete::Info::ZonePolicy kZonePolicyZion ACE_TIME_PROGMEM = {
  kZoneRulesZion /*rules*/,
  86 /*numRules*/,
};



}
}
