= 4.1.1 */ function event_requirements($phase) { // Ensure translations don't break at install time $t = get_t(); global $db_type; $requirements = array(); if ($db_type == 'mysql' || $db_type == 'mysqli') { $version = db_version(); $requirements['mysql_event'] = array( 'title' => $t('MySQL database for event module'), 'value' => ($phase == 'runtime') ? l($version, 'admin/reports/status/sql') : $version, ); if (version_compare($version, '4.1.1') < 0) { $requirements['mysql_event']['severity'] = REQUIREMENT_ERROR; $requirements['mysql_event']['description'] = $t('Your MySQL Server is too old. Event module 6.2 requires at least MySQL %version.', array('%version' => '4.1.1')); } } return $requirements; } /** * Implementation of hook_schema(). */ function event_schema() { $schema['event'] = array( 'fields' => array( 'nid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0), 'event_start' => array( 'type' => 'datetime', 'not null' => TRUE), 'event_end' => array( 'type' => 'datetime', 'not null' => TRUE), 'timezone' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 0), 'start_in_dst' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 0), 'end_in_dst' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 0), 'has_time' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 1), 'has_end_date' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 1) ), 'indexes' => array( 'event_start' => array('event_start'), 'event_end' => array('event_end'), 'timezone' => array('timezone') ), 'primary key' => array('nid'), ); return $schema; } /** * Implementation of hook_install(). */ function event_install() { drupal_install_schema('event'); $ret = array(); db_add_field($ret, 'users', 'timezone_id', array('type' => 'int', 'not null' => TRUE, 'default' => 0)); // Schema API doesn't have a TIME field reverting to old method. switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_query("CREATE TABLE {event_timezones} ( timezone int NOT NULL default '0', name varchar(255) NOT NULL default '', offset TIME NOT NULL default '0', offset_dst TIME NOT NULL default '0', dst_region int NOT NULL default '0', is_dst int NOT NULL default '0', PRIMARY KEY (timezone) ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; case 'pgsql': db_query("CREATE TABLE {event_timezones} ( timezone integer NOT NULL default '0', name varchar(255) NOT NULL default '', \"offset\" interval NOT NULL default '0 seconds', offset_dst interval NOT NULL default '0 seconds', dst_region integer NOT NULL default '0', is_dst integer NOT NULL default '0', PRIMARY KEY (timezone) ) "); break; } $zones = event_install_timezones(); foreach ($zones as $zone => $value) { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_query("INSERT INTO {event_timezones} (timezone, name, offset, offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); break; case 'pgsql': db_query("INSERT INTO {event_timezones} (timezone, name, \"offset\", offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); break; } } variable_del('event_range_prev'); variable_del('event_range_next'); // Create default event type $type = array( 'type' => 'event', 'name' => t('Event'), 'module' => 'node', 'description' => t('Events have a start date and an optional end date as well as a teaser and a body. They can be extended by other modules, too.'), 'custom' => TRUE, 'modified' => TRUE, 'locked' => FALSE, ); $type = (object) _node_type_set_defaults($type); node_type_save($type); variable_set('event_nodeapi_event', 'all'); // Notify of changes drupal_set_message(t('Event module was successfully installed with default options. To customize event and/or location settings for events, please view the event content type settings page. Make sure to select the default timezone for your website before creating events.', array('!settings' => url('admin/content/node-type/event'), '!url' => url('admin/settings/date-time')))); drupal_set_message('A content type "event" was created.'); } /** * Implementation of hook_uninstall(). */ function event_uninstall() { $ret = array(); drupal_uninstall_schema('event'); db_drop_field($ret, 'users', 'timezone_id'); db_query('DROP TABLE {event_timezones}'); variable_del('event_timezone_input'); variable_del('event_timezone_display'); variable_del('event_ampm'); variable_del('event_upcoming_limit'); variable_del('event_overview'); variable_del('event_table_duration'); variable_del('event_taxonomy_control'); variable_del('event_type_control'); variable_del('event_range_prev'); variable_del('event_range_next'); foreach (node_get_types() as $type => $info) { variable_del('event_nodeapi_'. $type); } drupal_set_message(t('Event module successfully uninstalled')); } /** * Update 4.7 or 5.1 to 5.2 */ function event_update_3() { $ret = array(); variable_del('event_range_prev'); variable_del('event_range_next'); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $ret[] = update_sql("RENAME TABLE {event} TO {event_backup}"); $ret[] = update_sql("CREATE TABLE {event_timezones} ( timezone int NOT NULL default '0', name varchar(255) NOT NULL default '', offset TIME NOT NULL default '0', offset_dst TIME NOT NULL default '0', dst_region int NOT NULL default '0', PRIMARY KEY (timezone) ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); $zones = event_install_timezones(); foreach ($zones as $zone => $value) { db_query("INSERT INTO {event_timezones} (timezone, name, offset, offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); } $ret[] = update_sql("CREATE TABLE {event} ( nid int(10) unsigned NOT NULL default '0', event_start datetime NOT NULL, event_end datetime NOT NULL, timezone int NOT NULL default '0', start_in_dst int NOT NULL default '0', end_in_dst int NOT NULL default '0' ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); $ret[] = update_sql("SET time_zone = '+00:00'"); $sql = "INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF(%cond_start, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset_dst HOUR_SECOND, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset HOUR_SECOND) AS event_start, IF(%cond_end, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset_dst HOUR_SECOND, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset HOUR_SECOND) AS event_end, e.timezone, IF(%cond_start, 1, 0), IF(%cond_end, 1, 0) FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = %d"; // Loop over the 21 supported DST regions. for ($i = 0; $i <= 20; $i++) { if ($i == 0) { $ret[] = update_sql("INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset HOUR_SECOND AS event_start, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset HOUR_SECOND AS event_end, e.timezone, 0, 0 FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = 0"); } else { $start = str_replace('%date', 'e.event_start', _event_install_get_dst_dates($i)); $end = str_replace('%date', 'e.event_end', _event_install_get_dst_dates($i)); $ret[] = update_sql(str_replace(array('%cond_start', '%cond_end', '%d'), array($start, $end, $i), $sql)); } } $ret[] = update_sql('ALTER TABLE {event} ADD PRIMARY KEY nid (nid)'); $ret[] = update_sql('ALTER TABLE {event} ADD KEY timezone (timezone)'); $ret[] = update_sql("ALTER TABLE {users} ADD timezone_id int NOT NULL default '0'"); break; case 'pgsql': $ret[] = update_sql("ALTER TABLE {event} RENAME TO {event_backup}"); $ret[] = update_sql("CREATE TABLE {event_timezones} ( timezone integer NOT NULL default '0', name varchar(255) NOT NULL default '', \"offset\" interval NOT NULL default '0 seconds', offset_dst interval NOT NULL default '0 seconds', dst_region integer NOT NULL default '0', PRIMARY KEY (timezone) ) "); $zones = event_install_timezones(); foreach ($zones as $zone => $value) { db_query("INSERT INTO {event_timezones} (timezone, name, \"offset\", offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); } db_query("CREATE TABLE {event} ( nid integer NOT NULL default '0', event_start timestamp NOT NULL, event_end timestamp NOT NULL, timezone integer NOT NULL default '0', start_in_dst integer NOT NULL default '0', end_in_dst integer NOT NULL default '0' ) "); // needs work? $sql = "INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF(%cond_start, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset_dst, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset) AS event_start, IF(%cond_end, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset_dst, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset) AS event_end, e.timezone, IF(%cond_start, 1, 0), IF(%cond_end, 1, 0) FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = %d"; // Loop over the 21 supported DST regions. for ($i = 0; $i <= 20; $i++) { if ($i == 0) { // needs work? $ret[] = update_sql("INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset AS event_start, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset AS event_end, e.timezone, 0, 0 FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = 0"); } else { $start = str_replace('%date', 'e.event_start', _event_install_get_dst_dates($i)); $end = str_replace('%date', 'e.event_end', _event_install_get_dst_dates($i)); $ret[] = update_sql(str_replace(array('%cond_start', '%cond_end', '%d'), array($start, $end, $i), $sql)); } } $ret[] = update_sql('ALTER TABLE {event} ADD PRIMARY KEY (nid)'); $ret[] = update_sql('CREATE INDEX {event}_timezone_idx ON {event} (timezone)'); $ret[] = update_sql("ALTER TABLE {users} ADD timezone_id integer NOT NULL default '0'"); break; } return $ret; } /** * Replace basicevent module if installed */ function event_update_4() { $is_existing = db_result(db_query("SELECT * FROM {node_type} WHERE type = '%s'", 'event')); if ($is_existing != 1) { // Create default event type $type = array( 'type' => 'event', 'name' => t('Event'), 'module' => 'node', 'description' => t('Events have a start date and an optional end date as well as a teaser and a body. They can be extended by other modules, too.'), 'custom' => TRUE, 'modified' => TRUE, 'locked' => FALSE, ); $type = (object) _node_type_set_defaults($type); node_type_save($type); variable_set('event_nodeapi_event', 'all'); drupal_set_message('A content type "event" was created.'); } $basicevent = db_result(db_query("SELECT * FROM {system} WHERE name = '%s' AND status = 1", 'basicevent')); if ($basicevent) { db_query("UPDATE {system} SET status = 0 WHERE name = '%s'", 'basicevent'); drupal_set_message(t('The basicevent module is no longer supported, it was disabled during the upgrade process.')); } $basicevent = db_result(db_query("SELECT * FROM {node_type} WHERE module = '%s'", 'basicevent')); if ($basicevent) { db_query("UPDATE {node_type} SET module = 'node' WHERE module = '%s'", 'basicevent'); } return array(); } /** * Set DST */ function event_update_5() { $ret = array(); switch ($GLOBALS['db_type']) { case 'pgsql': db_add_column($ret, 'event_timezones', 'is_dst', 'integer', array('default' => 0, 'not null' => TRUE)); break; case 'mysql': case 'mysqli': $ret[] = update_sql("ALTER TABLE {event_timezones} ADD is_dst int NOT NULL default 0"); break; } // There's a bug in core that will runn this update funcvtion even // if the module is not enabled. if (!function_exists('_event_user_time')) { include_once(drupal_get_path('module', 'event') .'/event.module'); } $time = _event_user_time(); // Loop over the 21 supported DST regions. for ($i = 0; $i <= 20; $i++) { $is_dst = event_is_dst($i, $time); $ret[] = update_sql("UPDATE {event_timezones} SET is_dst = $is_dst WHERE dst_region = $i"); } return $ret; } /** * Add keys */ function event_update_6() { $ret = array(); switch ($GLOBALS['db_type']) { case 'pgsql': $ret[] = update_sql('CREATE INDEX {event}_event_start_idx ON {event} (event_start)'); $ret[] = update_sql('CREATE INDEX {event}_event_end_idx ON {event} (event_end)'); break; case 'mysql': case 'mysqli': $ret[] = update_sql("ALTER TABLE {event} ADD KEY event_start (event_start)"); $ret[] = update_sql("ALTER TABLE {event} ADD KEY event_end (event_end)"); break; } return $ret; } /** * Add all_day/end_date columns */ function event_update_7() { $ret = array(); switch ($GLOBALS['db_type']) { case 'pgsql': db_add_column($ret, 'event', 'has_time', 'integer', array('default' => 1, 'not null' => TRUE)); db_add_column($ret, 'event', 'has_end_date', 'integer', array('default' => 1, 'not null' => TRUE)); break; case 'mysql': case 'mysqli': $ret[] = update_sql("ALTER TABLE {event} ADD has_time int NOT NULL default 1"); $ret[] = update_sql("ALTER TABLE {event} ADD has_end_date int NOT NULL default 1"); break; } return $ret; } /** * Update all_day/end_date columns */ function event_update_8() { $ret = array(); switch ($GLOBALS['db_type']) { case 'pgsql': $ret[] = update_sql('UPDATE {event} SET has_end_date = 0 WHERE event_start = event_end'); // TODO: Check $ret[] = update_sql("UPDATE {event} SET has_time = 0 WHERE EXTRACT(HOUR_SECOND FROM event_start) = 0 AND EXTRACT(HOUR_SECOND FROM event_end) = 235900"); break; case 'mysql': case 'mysqli': $ret[] = update_sql('UPDATE {event} SET has_end_date = 0 WHERE event_start = event_end'); $ret[] = update_sql("UPDATE {event} SET has_time = 0 WHERE EXTRACT(HOUR_SECOND FROM event_start) = 0 AND EXTRACT(HOUR_SECOND FROM event_end) = 235900"); break; } return $ret; } /** * Fix broken event_timezones table */ function event_update_6000() { db_query('DROP TABLE {event_timezones}'); // Schema API doesn't have a TIME field reverting to old method. switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_query("CREATE TABLE {event_timezones} ( timezone int NOT NULL default '0', name varchar(255) NOT NULL default '', offset TIME NOT NULL default '0', offset_dst TIME NOT NULL default '0', dst_region int NOT NULL default '0', is_dst int NOT NULL default '0', PRIMARY KEY (timezone) ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; case 'pgsql': db_query("CREATE TABLE {event_timezones} ( timezone integer NOT NULL default '0', name varchar(255) NOT NULL default '', \"offset\" interval NOT NULL default '0 seconds', offset_dst interval NOT NULL default '0 seconds', dst_region integer NOT NULL default '0', is_dst integer NOT NULL default '0', PRIMARY KEY (timezone) ) "); break; } $zones = event_install_timezones(); foreach ($zones as $zone => $value) { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_query("INSERT INTO {event_timezones} (timezone, name, offset, offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); break; case 'pgsql': db_query("INSERT INTO {event_timezones} (timezone, name, \"offset\", offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']); break; } } return array(); } /** * Truncate cache because of new theme functions. */ function event_update_6001() { db_query('TRUNCATE {cache}'); return array(); } /** * Truncate cache because of new theme functions. */ function event_update_6002() { db_query('TRUNCATE {cache}'); return array(); } /** * Truncate cache because of new theme functions. */ function event_update_6003() { db_query('TRUNCATE {cache}'); return array(); } /** * Update DST in timezones, might be screwed up. */ function event_update_6004() { include_once(drupal_get_path('module', 'event') .'/event.module'); $timezones = event_install_timezones(); foreach ($timezones as $id => $timezone) { $timezone = event_zonelist_by_id($id); $status = event_is_dst($timezone['dst_region'], gmdate('Y-m-d H:i', time())); db_query('UPDATE {event_timezones} SET is_dst = %d WHERE timezone = %d', $status, $id); } return array(); } /** * Update DST in events, might be screwed up. */ function event_update_6005() { include_once(drupal_get_path('module', 'event') .'/event.module'); // get all events $result = db_query('SELECT e.* FROM {event} e'); while ($event = db_fetch_object($result)) { $timezone = event_zonelist_by_id($event->timezone); $status_start = event_is_dst($timezone['dst_region'], $event->event_start); $status_end = event_is_dst($timezone['dst_region'], $event->event_end); if ($event->start_in_dst != $status_start || $event->end_in_dst != $status_end) { db_query('UPDATE {event} SET start_in_dst = %d, end_in_dst = %d WHERE nid = %d', $status_start, $status_end, $event->nid); } } return array(); } /** * Timezones table used only during installation. */ function event_install_timezones() { return array(1 => array('timezone' => 'Africa/Addis Ababa', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 2 => array('timezone' => 'Africa/Algiers', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 3 => array('timezone' => 'Africa/Asmera', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 4 => array('timezone' => 'Africa/Bangui', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 5 => array('timezone' => 'Africa/Blantyre', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 6 => array('timezone' => 'Africa/Brazzaville', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 7 => array('timezone' => 'Africa/Bujumbura', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 8 => array('timezone' => 'Africa/Cairo', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '1'), 9 => array('timezone' => 'Africa/Ceuta', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '1'), 10 => array('timezone' => 'Africa/Dar es Salaam', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 11 => array('timezone' => 'Africa/Djibouti', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 12 => array('timezone' => 'Africa/Douala', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 13 => array('timezone' => 'Africa/Gaborone', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 14 => array('timezone' => 'Africa/Harare', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 15 => array('timezone' => 'Africa/Johannesburg', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 16 => array('timezone' => 'Africa/Kampala', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 17 => array('timezone' => 'Africa/Khartoum', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 18 => array('timezone' => 'Africa/Kigali', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 19 => array('timezone' => 'Africa/Kinshasa', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 20 => array('timezone' => 'Africa/Lagos', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 21 => array('timezone' => 'Africa/Libreville', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 22 => array('timezone' => 'Africa/Luanda', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 23 => array('timezone' => 'Africa/Lubumbashi', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 24 => array('timezone' => 'Africa/Lusaka', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 25 => array('timezone' => 'Africa/Malabo', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 26 => array('timezone' => 'Africa/Maputo', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 27 => array('timezone' => 'Africa/Maseru', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 28 => array('timezone' => 'Africa/Mbabane', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 29 => array('timezone' => 'Africa/Mogadishu', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 30 => array('timezone' => 'Africa/Nairobi', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 31 => array('timezone' => 'Africa/Ndjamena', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 32 => array('timezone' => 'Africa/Niamey', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 33 => array('timezone' => 'Africa/Porto-Novo', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 34 => array('timezone' => 'Africa/Tripoli', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 35 => array('timezone' => 'Africa/Tunis', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 36 => array('timezone' => 'Africa/Windhoek', 'offset' => '2:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '2'), 37 => array('timezone' => 'America/Adak', 'offset' => '-10:00:00', 'offset_dst' => '-9:00:00', 'dst_region' => '15'), 38 => array('timezone' => 'America/Anchorage', 'offset' => '-9:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '15'), 39 => array('timezone' => 'America/Anguilla', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 40 => array('timezone' => 'America/Antigua', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 41 => array('timezone' => 'America/Araguaina', 'offset' => '-2:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '17'), 42 => array('timezone' => 'America/Aruba', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 43 => array('timezone' => 'America/Asuncion', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '20'), 44 => array('timezone' => 'America/Atka', 'offset' => '-10:00:00', 'offset_dst' => '-9:00:00', 'dst_region' => '15'), 45 => array('timezone' => 'America/Barbados', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 46 => array('timezone' => 'America/Belem', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 47 => array('timezone' => 'America/Belize', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 48 => array('timezone' => 'America/Boa Vista', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 49 => array('timezone' => 'America/Bogota', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 50 => array('timezone' => 'America/Boise', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 51 => array('timezone' => 'America/Buenos Aires', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 52 => array('timezone' => 'America/Cambridge Bay', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 53 => array('timezone' => 'America/Cancun', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 54 => array('timezone' => 'America/Caracas', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 55 => array('timezone' => 'America/Catamarca', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 56 => array('timezone' => 'America/Cayenne', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 57 => array('timezone' => 'America/Cayman', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 58 => array('timezone' => 'America/Chicago', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 59 => array('timezone' => 'America/Chihuahua', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 60 => array('timezone' => 'America/Cordoba', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 61 => array('timezone' => 'America/Costa Rica', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 62 => array('timezone' => 'America/Cuiaba', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '17'), 63 => array('timezone' => 'America/Curacao', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 64 => array('timezone' => 'America/Dawson', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 65 => array('timezone' => 'America/Dawson Creek', 'offset' => '-7:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '0'), 66 => array('timezone' => 'America/Denver', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 67 => array('timezone' => 'America/Detroit', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 68 => array('timezone' => 'America/Dominica', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 69 => array('timezone' => 'America/Edmonton', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 70 => array('timezone' => 'America/Eirunepe', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 71 => array('timezone' => 'America/El Salvador', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 72 => array('timezone' => 'America/Ensenada', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 73 => array('timezone' => 'America/Fort Wayne', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 74 => array('timezone' => 'America/Fortaleza', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 75 => array('timezone' => 'America/Glace Bay', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 76 => array('timezone' => 'America/Godthab', 'offset' => '-3:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '15'), 77 => array('timezone' => 'America/Goose Bay', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 78 => array('timezone' => 'America/Grand Turk', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '16'), 79 => array('timezone' => 'America/Grenada', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 80 => array('timezone' => 'America/Guadeloupe', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 81 => array('timezone' => 'America/Guatemala', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 82 => array('timezone' => 'America/Guayaquil', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 83 => array('timezone' => 'America/Guyana', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 84 => array('timezone' => 'America/Halifax', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 85 => array('timezone' => 'America/Havana', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '16'), 86 => array('timezone' => 'America/Hermosillo', 'offset' => '-7:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '0'), 87 => array('timezone' => 'America/Indiana/Indianapolis', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 88 => array('timezone' => 'America/Indiana/Knox', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 89 => array('timezone' => 'America/Indiana/Marengo', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 90 => array('timezone' => 'America/Indiana/Vevay', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 91 => array('timezone' => 'America/Indianapolis', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 92 => array('timezone' => 'America/Inuvik', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 93 => array('timezone' => 'America/Iqaluit', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 94 => array('timezone' => 'America/Jamaica', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 95 => array('timezone' => 'America/Jujuy', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 96 => array('timezone' => 'America/Juneau', 'offset' => '-9:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '15'), 97 => array('timezone' => 'America/Kentucky/Louisville', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 98 => array('timezone' => 'America/Kentucky/Monticello', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 99 => array('timezone' => 'America/Knox IN', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 100 => array('timezone' => 'America/La Paz', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 101 => array('timezone' => 'America/Lima', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 102 => array('timezone' => 'America/Los Angeles', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 103 => array('timezone' => 'America/Louisville', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 104 => array('timezone' => 'America/Maceio', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 105 => array('timezone' => 'America/Managua', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 106 => array('timezone' => 'America/Manaus', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 107 => array('timezone' => 'America/Martinique', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 108 => array('timezone' => 'America/Mazatlan', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 109 => array('timezone' => 'America/Mendoza', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 110 => array('timezone' => 'America/Menominee', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 111 => array('timezone' => 'America/Merida', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 112 => array('timezone' => 'America/Mexico City', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 113 => array('timezone' => 'America/Miquelon', 'offset' => '-3:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '15'), 114 => array('timezone' => 'America/Monterrey', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 115 => array('timezone' => 'America/Montevideo', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 116 => array('timezone' => 'America/Montreal', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 117 => array('timezone' => 'America/Montserrat', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 118 => array('timezone' => 'America/Nassau', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 119 => array('timezone' => 'America/New York', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 120 => array('timezone' => 'America/Nipigon', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 121 => array('timezone' => 'America/Nome', 'offset' => '-9:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '15'), 122 => array('timezone' => 'America/Noronha', 'offset' => '-2:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '0'), 123 => array('timezone' => 'America/Panama', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 124 => array('timezone' => 'America/Pangnirtung', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 125 => array('timezone' => 'America/Paramaribo', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 126 => array('timezone' => 'America/Phoenix', 'offset' => '-7:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '0'), 127 => array('timezone' => 'America/Port-au-Prince', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 128 => array('timezone' => 'America/Port of Spain', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 129 => array('timezone' => 'America/Porto Acre', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 130 => array('timezone' => 'America/Porto Velho', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 131 => array('timezone' => 'America/Puerto Rico', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 132 => array('timezone' => 'America/Rainy River', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 133 => array('timezone' => 'America/Rankin Inlet', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 134 => array('timezone' => 'America/Recife', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 135 => array('timezone' => 'America/Regina', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 136 => array('timezone' => 'America/Rio Branco', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 137 => array('timezone' => 'America/Rosario', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 138 => array('timezone' => 'America/Santiago', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 139 => array('timezone' => 'America/Santo Domingo', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 140 => array('timezone' => 'America/Sao Paulo', 'offset' => '-2:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 141 => array('timezone' => 'America/Scoresbysund', 'offset' => '-1:00:00', 'offset_dst' => '00:00:00', 'dst_region' => '15'), 142 => array('timezone' => 'America/Shiprock', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 143 => array('timezone' => 'America/St Johns', 'offset' => '-3:30:00', 'offset_dst' => '-2:30:00', 'dst_region' => '15'), 144 => array('timezone' => 'America/St Kitts', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 145 => array('timezone' => 'America/St Lucia', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 146 => array('timezone' => 'America/St Thomas', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 147 => array('timezone' => 'America/St Vincent', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 148 => array('timezone' => 'America/Swift Current', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 149 => array('timezone' => 'America/Tegucigalpa', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 150 => array('timezone' => 'America/Thule', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 151 => array('timezone' => 'America/Thunder Bay', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 152 => array('timezone' => 'America/Tijuana', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 153 => array('timezone' => 'America/Tortola', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 154 => array('timezone' => 'America/Vancouver', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 155 => array('timezone' => 'America/Virgin', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 156 => array('timezone' => 'America/Whitehorse', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 157 => array('timezone' => 'America/Winnipeg', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 158 => array('timezone' => 'America/Yakutat', 'offset' => '-9:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '15'), 159 => array('timezone' => 'America/Yellowknife', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 160 => array('timezone' => 'Antarctica/Casey', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 161 => array('timezone' => 'Antarctica/Davis', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 162 => array('timezone' => 'Antarctica/DumontDUrville', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 163 => array('timezone' => 'Antarctica/Mawson', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 164 => array('timezone' => 'Antarctica/McMurdo', 'offset' => '13:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '11'), 165 => array('timezone' => 'Antarctica/Palmer', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '18'), 166 => array('timezone' => 'Antarctica/South Pole', 'offset' => '13:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '11'), 167 => array('timezone' => 'Antarctica/Syowa', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 168 => array('timezone' => 'Antarctica/Vostok', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 169 => array('timezone' => 'Arctic/Longyearbyen', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '14'), 170 => array('timezone' => 'Asia/Aden', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 171 => array('timezone' => 'Asia/Almaty', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 172 => array('timezone' => 'Asia/Amman', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '8'), 173 => array('timezone' => 'Asia/Anadyr', 'offset' => '12:00:00', 'offset_dst' => '13:00:00', 'dst_region' => '3'), 174 => array('timezone' => 'Asia/Aqtau', 'offset' => '4:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '3'), 175 => array('timezone' => 'Asia/Aqtobe', 'offset' => '5:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '3'), 176 => array('timezone' => 'Asia/Ashgabat', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 177 => array('timezone' => 'Asia/Ashkhabad', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 178 => array('timezone' => 'Asia/Baghdad', 'offset' => '3:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '4'), 179 => array('timezone' => 'Asia/Bahrain', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 180 => array('timezone' => 'Asia/Baku', 'offset' => '4:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '3'), 181 => array('timezone' => 'Asia/Bangkok', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 182 => array('timezone' => 'Asia/Beirut', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '6'), 183 => array('timezone' => 'Asia/Bishkek', 'offset' => '5:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '6'), 184 => array('timezone' => 'Asia/Brunei', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 185 => array('timezone' => 'Asia/Calcutta', 'offset' => '5:30:00', 'offset_dst' => '5:30:30', 'dst_region' => '0'), 186 => array('timezone' => 'Asia/Chungking', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 187 => array('timezone' => 'Asia/Colombo', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 188 => array('timezone' => 'Asia/Dacca', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 189 => array('timezone' => 'Asia/Damascus', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '4'), 190 => array('timezone' => 'Asia/Dhaka', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 191 => array('timezone' => 'Asia/Dili', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 192 => array('timezone' => 'Asia/Dubai', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 193 => array('timezone' => 'Asia/Dushanbe', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 194 => array('timezone' => 'Asia/Gaza', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '7'), 195 => array('timezone' => 'Asia/Harbin', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 196 => array('timezone' => 'Asia/Hong Kong', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 197 => array('timezone' => 'Asia/Hovd', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 198 => array('timezone' => 'Asia/Irkutsk', 'offset' => '8:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '3'), 199 => array('timezone' => 'Asia/Istanbul', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '3'), 200 => array('timezone' => 'Asia/Jakarta', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 201 => array('timezone' => 'Asia/Jayapura', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 202 => array('timezone' => 'Asia/Jerusalem', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '5'), 203 => array('timezone' => 'Asia/Kabul', 'offset' => '4:30:00', 'offset_dst' => '4:30:00', 'dst_region' => '0'), 204 => array('timezone' => 'Asia/Kamchatka', 'offset' => '12:00:00', 'offset_dst' => '13:00:00', 'dst_region' => '3'), 205 => array('timezone' => 'Asia/Karachi', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 206 => array('timezone' => 'Asia/Kashgar', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 207 => array('timezone' => 'Asia/Katmandu', 'offset' => '5:45:00', 'offset_dst' => '5:45:00', 'dst_region' => '0'), 208 => array('timezone' => 'Asia/Krasnoyarsk', 'offset' => '7:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '3'), 209 => array('timezone' => 'Asia/Kuala Lumpur', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 210 => array('timezone' => 'Asia/Kuching', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 211 => array('timezone' => 'Asia/Kuwait', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 212 => array('timezone' => 'Asia/Macao', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 213 => array('timezone' => 'Asia/Magadan', 'offset' => '11:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '3'), 214 => array('timezone' => 'Asia/Manila', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 215 => array('timezone' => 'Asia/Muscat', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 216 => array('timezone' => 'Asia/Nicosia', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '3'), 217 => array('timezone' => 'Asia/Novosibirsk', 'offset' => '6:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '3'), 218 => array('timezone' => 'Asia/Omsk', 'offset' => '6:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '3'), 219 => array('timezone' => 'Asia/Phnom Penh', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 220 => array('timezone' => 'Asia/Pyongyang', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 221 => array('timezone' => 'Asia/Qatar', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 222 => array('timezone' => 'Asia/Rangoon', 'offset' => '6:30:00', 'offset_dst' => '6:30:00', 'dst_region' => '0'), 223 => array('timezone' => 'Asia/Riyadh', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 224 => array('timezone' => 'Asia/Riyadh87', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 225 => array('timezone' => 'Asia/Riyadh88', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 226 => array('timezone' => 'Asia/Riyadh89', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 227 => array('timezone' => 'Asia/Saigon', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 228 => array('timezone' => 'Asia/Samarkand', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 229 => array('timezone' => 'Asia/Seoul', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 230 => array('timezone' => 'Asia/Shanghai', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 231 => array('timezone' => 'Asia/Singapore', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 232 => array('timezone' => 'Asia/Taipei', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 233 => array('timezone' => 'Asia/Tashkent', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 234 => array('timezone' => 'Asia/Tbilisi', 'offset' => '4:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '3'), 235 => array('timezone' => 'Asia/Tehran', 'offset' => '3:30:00', 'offset_dst' => '4:30:00', 'dst_region' => '8'), 236 => array('timezone' => 'Asia/Tel Aviv', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '5'), 237 => array('timezone' => 'Asia/Thimbu', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 238 => array('timezone' => 'Asia/Thimphu', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 239 => array('timezone' => 'Asia/Tokyo', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 240 => array('timezone' => 'Asia/Ujung Pandang', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 241 => array('timezone' => 'Asia/Ulaanbaatar', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 242 => array('timezone' => 'Asia/Ulan Bator', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 243 => array('timezone' => 'Asia/Urumqi', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 244 => array('timezone' => 'Asia/Vientiane', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 245 => array('timezone' => 'Asia/Vladivostok', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '3'), 246 => array('timezone' => 'Asia/Yakutsk', 'offset' => '9:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '3'), 247 => array('timezone' => 'Asia/Yekaterinburg', 'offset' => '5:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '3'), 248 => array('timezone' => 'Asia/Yerevan', 'offset' => '4:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '3'), 249 => array('timezone' => 'Atlantic/Azores', 'offset' => '-1:00:00', 'offset_dst' => '00:00:00', 'dst_region' => '13'), 250 => array('timezone' => 'Atlantic/Bermuda', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 251 => array('timezone' => 'Atlantic/Canary', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '15'), 252 => array('timezone' => 'Atlantic/Cape Verde', 'offset' => '-1:00:00', 'offset_dst' => '-1:00:00', 'dst_region' => '0'), 253 => array('timezone' => 'Atlantic/Faeroe', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 254 => array('timezone' => 'Atlantic/Jan Mayen', 'offset' => '-1:00:00', 'offset_dst' => '-1:00:00', 'dst_region' => '0'), 255 => array('timezone' => 'Atlantic/Madeira', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 256 => array('timezone' => 'Atlantic/South Georgia', 'offset' => '-2:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '0'), 257 => array('timezone' => 'Atlantic/Stanley', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '19'), 258 => array('timezone' => 'Australia/ACT', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '9'), 259 => array('timezone' => 'Australia/Adelaide', 'offset' => '10:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '9'), 260 => array('timezone' => 'Australia/Brisbane', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 261 => array('timezone' => 'Australia/Broken Hill', 'offset' => '10:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '9'), 262 => array('timezone' => 'Australia/Canberra', 'offset' => '11:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '9'), 263 => array('timezone' => 'Australia/Darwin', 'offset' => '9:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '0'), 264 => array('timezone' => 'Australia/Hobart', 'offset' => '11:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '10'), 265 => array('timezone' => 'Australia/LHI', 'offset' => '11:00:00', 'offset_dst' => '10:30:00', 'dst_region' => '9'), 266 => array('timezone' => 'Australia/Lindeman', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 267 => array('timezone' => 'Australia/Lord Howe', 'offset' => '11:00:00', 'offset_dst' => '10:30:00', 'dst_region' => '9'), 268 => array('timezone' => 'Australia/Melbourne', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '10'), 269 => array('timezone' => 'Australia/NSW', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '9'), 270 => array('timezone' => 'Australia/North', 'offset' => '9:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '0'), 271 => array('timezone' => 'Australia/Perth', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 272 => array('timezone' => 'Australia/Queensland', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 273 => array('timezone' => 'Australia/South', 'offset' => '10:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '9'), 274 => array('timezone' => 'Australia/Sydney', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '10'), 275 => array('timezone' => 'Australia/Tasmania', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '9'), 276 => array('timezone' => 'Australia/Victoria', 'offset' => '10:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '9'), 277 => array('timezone' => 'Australia/West', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 278 => array('timezone' => 'Australia/Yancowinna', 'offset' => '10:30:00', 'offset_dst' => '9:30:00', 'dst_region' => '10'), 279 => array('timezone' => 'Brazil/Acre', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 280 => array('timezone' => 'Brazil/DeNoronha', 'offset' => '-2:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '0'), 281 => array('timezone' => 'Brazil/East', 'offset' => '-2:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '17'), 282 => array('timezone' => 'Brazil/West', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 285 => array('timezone' => 'Canada/Atlantic', 'offset' => '-4:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '15'), 286 => array('timezone' => 'Canada/Central', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 287 => array('timezone' => 'Canada/Central-Saskatchewan', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 288 => array('timezone' => 'Canada/Eastern', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 289 => array('timezone' => 'Canada/Mountain', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 290 => array('timezone' => 'Canada/Newfoundland', 'offset' => '-3:30:00', 'offset_dst' => '-2:30:00', 'dst_region' => '15'), 291 => array('timezone' => 'Canada/Pacific', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 292 => array('timezone' => 'Canada/Saskatchewan', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 293 => array('timezone' => 'Canada/Yukon', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 294 => array('timezone' => 'Chile/Continental', 'offset' => '-3:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '18'), 295 => array('timezone' => 'Chile/EasterIsland', 'offset' => '-5:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '18'), 296 => array('timezone' => 'Cuba', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '16'), 298 => array('timezone' => 'EST', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 300 => array('timezone' => 'Egypt', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '1'), 301 => array('timezone' => 'Eire', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 302 => array('timezone' => 'Etc/GMT-1', 'offset' => '-1:00:00', 'offset_dst' => '-1:00:00', 'dst_region' => '0'), 303 => array('timezone' => 'Etc/GMT-10', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 304 => array('timezone' => 'Etc/GMT-11', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 305 => array('timezone' => 'Etc/GMT-12', 'offset' => '-12:00:00', 'offset_dst' => '-12:00:00', 'dst_region' => '0'), 306 => array('timezone' => 'Etc/GMT-2', 'offset' => '-2:00:00', 'offset_dst' => '-2:00:00', 'dst_region' => '0'), 307 => array('timezone' => 'Etc/GMT-3', 'offset' => '-3:00:00', 'offset_dst' => '-3:00:00', 'dst_region' => '0'), 308 => array('timezone' => 'Etc/GMT-4', 'offset' => '-4:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '0'), 309 => array('timezone' => 'Etc/GMT-5', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 310 => array('timezone' => 'Etc/GMT-6', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 311 => array('timezone' => 'Etc/GMT-7', 'offset' => '-7:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '0'), 312 => array('timezone' => 'Etc/GMT-8', 'offset' => '-8:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '0'), 313 => array('timezone' => 'Etc/GMT-9', 'offset' => '-9:00:00', 'offset_dst' => '-9:00:00', 'dst_region' => '0'), 487 => array('timezone' => 'Etc/GMT', 'offset' => '00:00:00', 'offset_dst' => '00:00:00', 'dst_region' => '0'), 314 => array('timezone' => 'Etc/GMT+1', 'offset' => '1:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '0'), 315 => array('timezone' => 'Etc/GMT+10', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 316 => array('timezone' => 'Etc/GMT+11', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 317 => array('timezone' => 'Etc/GMT+12', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 318 => array('timezone' => 'Etc/GMT+13', 'offset' => '13:00:00', 'offset_dst' => '13:00:00', 'dst_region' => '0'), 319 => array('timezone' => 'Etc/GMT+14', 'offset' => '14:00:00', 'offset_dst' => '14:00:00', 'dst_region' => '0'), 320 => array('timezone' => 'Etc/GMT+2', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 321 => array('timezone' => 'Etc/GMT+3', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 322 => array('timezone' => 'Etc/GMT+4', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 323 => array('timezone' => 'Etc/GMT+5', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 324 => array('timezone' => 'Etc/GMT+6', 'offset' => '6:00:00', 'offset_dst' => '6:00:00', 'dst_region' => '0'), 325 => array('timezone' => 'Etc/GMT+7', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 326 => array('timezone' => 'Etc/GMT+8', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 327 => array('timezone' => 'Etc/GMT+9', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 328 => array('timezone' => 'Europe/Amsterdam', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 329 => array('timezone' => 'Europe/Andorra', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 330 => array('timezone' => 'Europe/Athens', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 331 => array('timezone' => 'Europe/Belfast', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 332 => array('timezone' => 'Europe/Belgrade', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 333 => array('timezone' => 'Europe/Berlin', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 334 => array('timezone' => 'Europe/Bratislava', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 335 => array('timezone' => 'Europe/Brussels', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 336 => array('timezone' => 'Europe/Bucharest', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 337 => array('timezone' => 'Europe/Budapest', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 338 => array('timezone' => 'Europe/Chisinau', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 339 => array('timezone' => 'Europe/Copenhagen', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 340 => array('timezone' => 'Europe/Dublin', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 341 => array('timezone' => 'Europe/Gibraltar', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 342 => array('timezone' => 'Europe/Helsinki', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 343 => array('timezone' => 'Europe/Istanbul', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 344 => array('timezone' => 'Europe/Kaliningrad', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 345 => array('timezone' => 'Europe/Kiev', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 346 => array('timezone' => 'Europe/Lisbon', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 347 => array('timezone' => 'Europe/Ljubljana', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 348 => array('timezone' => 'Europe/London', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 349 => array('timezone' => 'Europe/Luxembourg', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 350 => array('timezone' => 'Europe/Madrid', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 351 => array('timezone' => 'Europe/Malta', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 352 => array('timezone' => 'Europe/Minsk', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 353 => array('timezone' => 'Europe/Monaco', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 354 => array('timezone' => 'Europe/Moscow', 'offset' => '3:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '14'), 355 => array('timezone' => 'Europe/Nicosia', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 356 => array('timezone' => 'Europe/Oslo', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 357 => array('timezone' => 'Europe/Paris', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 358 => array('timezone' => 'Europe/Prague', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 359 => array('timezone' => 'Europe/Riga', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 360 => array('timezone' => 'Europe/Rome', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 361 => array('timezone' => 'Europe/Samara', 'offset' => '4:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '13'), 362 => array('timezone' => 'Europe/San Marino', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 363 => array('timezone' => 'Europe/Sarajevo', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 364 => array('timezone' => 'Europe/Simferopol', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 365 => array('timezone' => 'Europe/Skopje', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 366 => array('timezone' => 'Europe/Sofia', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 367 => array('timezone' => 'Europe/Stockholm', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 368 => array('timezone' => 'Europe/Tallinn', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 369 => array('timezone' => 'Europe/Tirane', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 370 => array('timezone' => 'Europe/Tiraspol', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 371 => array('timezone' => 'Europe/Uzhgorod', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 372 => array('timezone' => 'Europe/Vaduz', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 373 => array('timezone' => 'Europe/Vatican', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 374 => array('timezone' => 'Europe/Vienna', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 375 => array('timezone' => 'Europe/Vilnius', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 376 => array('timezone' => 'Europe/Warsaw', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 377 => array('timezone' => 'Europe/Zagreb', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 378 => array('timezone' => 'Europe/Zaporozhye', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 379 => array('timezone' => 'Europe/Zurich', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 380 => array('timezone' => 'GB', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 381 => array('timezone' => 'GB-Eire', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 383 => array('timezone' => 'Hongkong', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 384 => array('timezone' => 'Indian/Antananarivo', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 385 => array('timezone' => 'Indian/Chagos', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 386 => array('timezone' => 'Indian/Christmas', 'offset' => '7:00:00', 'offset_dst' => '7:00:00', 'dst_region' => '0'), 387 => array('timezone' => 'Indian/Cocos', 'offset' => '6:30:00', 'offset_dst' => '6:30:00', 'dst_region' => '0'), 388 => array('timezone' => 'Indian/Comoro', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 389 => array('timezone' => 'Indian/Kerguelen', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 390 => array('timezone' => 'Indian/Mahe', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 391 => array('timezone' => 'Indian/Maldives', 'offset' => '5:00:00', 'offset_dst' => '5:00:00', 'dst_region' => '0'), 392 => array('timezone' => 'Indian/Mauritius', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 393 => array('timezone' => 'Indian/Mayotte', 'offset' => '3:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '0'), 394 => array('timezone' => 'Indian/Reunion', 'offset' => '4:00:00', 'offset_dst' => '4:00:00', 'dst_region' => '0'), 395 => array('timezone' => 'Iran', 'offset' => '3:30:00', 'offset_dst' => '4:30:00', 'dst_region' => '8'), 396 => array('timezone' => 'Israel', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '5'), 397 => array('timezone' => 'Jamaica', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 398 => array('timezone' => 'Japan', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 399 => array('timezone' => 'Kwajalein', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 400 => array('timezone' => 'Libya', 'offset' => '2:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '0'), 404 => array('timezone' => 'Mexico/BajaNorte', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 405 => array('timezone' => 'Mexico/BajaSur', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 406 => array('timezone' => 'Mexico/General', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 407 => array('timezone' => 'Mideast/Riyadh87', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 408 => array('timezone' => 'Mideast/Riyadh88', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 409 => array('timezone' => 'Mideast/Riyadh89', 'offset' => '3:07:04', 'offset_dst' => '3:07:04', 'dst_region' => '0'), 410 => array('timezone' => 'NZ', 'offset' => '13:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '11'), 412 => array('timezone' => 'Navajo', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 415 => array('timezone' => 'Pacific/Apia', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 416 => array('timezone' => 'Pacific/Auckland', 'offset' => '13:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '15'), 417 => array('timezone' => 'Pacific/Chatham', 'offset' => '13:45:00', 'offset_dst' => '12:45:00', 'dst_region' => '15'), 418 => array('timezone' => 'Pacific/Easter', 'offset' => '-5:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 419 => array('timezone' => 'Pacific/Efate', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 420 => array('timezone' => 'Pacific/Enderbury', 'offset' => '13:00:00', 'offset_dst' => '13:00:00', 'dst_region' => '0'), 421 => array('timezone' => 'Pacific/Fakaofo', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 422 => array('timezone' => 'Pacific/Fiji', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 423 => array('timezone' => 'Pacific/Funafuti', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 424 => array('timezone' => 'Pacific/Galapagos', 'offset' => '-6:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '0'), 425 => array('timezone' => 'Pacific/Gambier', 'offset' => '-9:00:00', 'offset_dst' => '-9:00:00', 'dst_region' => '0'), 426 => array('timezone' => 'Pacific/Guadalcanal', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 427 => array('timezone' => 'Pacific/Guam', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 428 => array('timezone' => 'Pacific/Honolulu', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 429 => array('timezone' => 'Pacific/Johnston', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 430 => array('timezone' => 'Pacific/Kiritimati', 'offset' => '14:00:00', 'offset_dst' => '14:00:00', 'dst_region' => '0'), 431 => array('timezone' => 'Pacific/Kosrae', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 432 => array('timezone' => 'Pacific/Kwajalein', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 433 => array('timezone' => 'Pacific/Majuro', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 434 => array('timezone' => 'Pacific/Marquesas', 'offset' => '-9:30:00', 'offset_dst' => '-9:30:00', 'dst_region' => '0'), 435 => array('timezone' => 'Pacific/Midway', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 436 => array('timezone' => 'Pacific/Nauru', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 437 => array('timezone' => 'Pacific/Niue', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 438 => array('timezone' => 'Pacific/Norfolk', 'offset' => '11:30:00', 'offset_dst' => '11:30:00', 'dst_region' => '0'), 439 => array('timezone' => 'Pacific/Noumea', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 440 => array('timezone' => 'Pacific/Pago Pago', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 441 => array('timezone' => 'Pacific/Palau', 'offset' => '9:00:00', 'offset_dst' => '9:00:00', 'dst_region' => '0'), 442 => array('timezone' => 'Pacific/Pitcairn', 'offset' => '-8:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '0'), 443 => array('timezone' => 'Pacific/Ponape', 'offset' => '11:00:00', 'offset_dst' => '11:00:00', 'dst_region' => '0'), 444 => array('timezone' => 'Pacific/Port Moresby', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 445 => array('timezone' => 'Pacific/Rarotonga', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 446 => array('timezone' => 'Pacific/Saipan', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 447 => array('timezone' => 'Pacific/Samoa', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 448 => array('timezone' => 'Pacific/Tahiti', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 449 => array('timezone' => 'Pacific/Tarawa', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 450 => array('timezone' => 'Pacific/Tongatapu', 'offset' => '13:00:00', 'offset_dst' => '13:00:00', 'dst_region' => '0'), 451 => array('timezone' => 'Pacific/Truk', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 452 => array('timezone' => 'Pacific/Wake', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 453 => array('timezone' => 'Pacific/Wallis', 'offset' => '12:00:00', 'offset_dst' => '12:00:00', 'dst_region' => '0'), 454 => array('timezone' => 'Pacific/Yap', 'offset' => '10:00:00', 'offset_dst' => '10:00:00', 'dst_region' => '0'), 455 => array('timezone' => 'Poland', 'offset' => '1:00:00', 'offset_dst' => '2:00:00', 'dst_region' => '13'), 456 => array('timezone' => 'Portugal', 'offset' => '00:00:00', 'offset_dst' => '1:00:00', 'dst_region' => '13'), 459 => array('timezone' => 'Singapore', 'offset' => '8:00:00', 'offset_dst' => '8:00:00', 'dst_region' => '0'), 473 => array('timezone' => 'Turkey', 'offset' => '2:00:00', 'offset_dst' => '3:00:00', 'dst_region' => '13'), 474 => array('timezone' => 'US/Alaska', 'offset' => '-9:00:00', 'offset_dst' => '-8:00:00', 'dst_region' => '15'), 475 => array('timezone' => 'US/Aleutian', 'offset' => '-10:00:00', 'offset_dst' => '-9:00:00', 'dst_region' => '15'), 476 => array('timezone' => 'US/Arizona', 'offset' => '-7:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '0'), 477 => array('timezone' => 'US/Central', 'offset' => '-6:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '15'), 478 => array('timezone' => 'US/East-Indiana', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 479 => array('timezone' => 'US/Eastern', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 480 => array('timezone' => 'US/Hawaii', 'offset' => '-10:00:00', 'offset_dst' => '-10:00:00', 'dst_region' => '0'), 481 => array('timezone' => 'US/Indiana-Starke', 'offset' => '-5:00:00', 'offset_dst' => '-5:00:00', 'dst_region' => '0'), 482 => array('timezone' => 'US/Michigan', 'offset' => '-5:00:00', 'offset_dst' => '-4:00:00', 'dst_region' => '15'), 483 => array('timezone' => 'US/Mountain', 'offset' => '-7:00:00', 'offset_dst' => '-6:00:00', 'dst_region' => '15'), 484 => array('timezone' => 'US/Pacific', 'offset' => '-8:00:00', 'offset_dst' => '-7:00:00', 'dst_region' => '15'), 485 => array('timezone' => 'US/Samoa', 'offset' => '-11:00:00', 'offset_dst' => '-11:00:00', 'dst_region' => '0'), 486 => array('timezone' => 'Pacific/French Polynesia-Marquesas Islands', 'offset' => '-9:30:00', 'offset_dst' => '-9:30:00', 'dst_region' => '0')); } /** * Returns the dates when TZ switches happen from 1970 to 2010. */ function _event_install_get_dst_dates($zone) { switch ($zone) { case 1: return '(9763200 <= %date <= 22982400) OR (41817600 <= %date <= 55036800) OR (73267200 <= %date <= 86486400) OR (104716800 <= %date <= 117936000) OR (136166400 <= %date <= 149385600) OR (167616000 <= %date <= 180835200) OR (199670400 <= %date <= 212889600) OR (231120000 <= %date <= 244339200) OR (262569600 <= %date <= 275788800) OR (294019200 <= %date <= 307238400) OR (325468800 <= %date <= 338688000) OR (356918400 <= %date <= 370137600) OR (388972800 <= %date <= 402192000) OR (420422400 <= %date <= 433641600) OR (451872000 <= %date <= 465091200) OR (483321600 <= %date <= 496540800) OR (514771200 <= %date <= 527990400) OR (546220800 <= %date <= 559440000) OR (578275200 <= %date <= 591494400) OR (609724800 <= %date <= 622944000) OR (641174400 <= %date <= 654393600) OR (672624000 <= %date <= 685843200) OR (704073600 <= %date <= 717292800) OR (736128000 <= %date <= 749347200) OR (767577600 <= %date <= 780796800) OR (799027200 <= %date <= 812246400) OR (830476800 <= %date <= 843696000) OR (861926400 <= %date <= 875145600) OR (893376000 <= %date <= 906595200) OR (925430400 <= %date <= 938649600) OR (956880000 <= %date <= 970099200) OR (988329600 <= %date <= 1001548800) OR (1019779200 <= %date <= 1032998400) OR (1051228800 <= %date <= 1064448000) OR (1083283200 <= %date <= 1096502400) OR (1114732800 <= %date <= 1127952000) OR (1146182400 <= %date <= 1159401600) OR (1177632000 <= %date <= 1190851200) OR (1209081600 <= %date <= 1222300800) OR (1240531200 <= %date <= 1253750400) OR (1272585600 <= %date <= 1285804800)'; case 2: return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 135129600) OR (179884800 <= %date <= 166579200) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 324432000) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 482284800) OR (527040000 <= %date <= 513734400) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 671587200) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 829440000) OR (874195200 <= %date <= 860889600) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018742400) OR (1063497600 <= %date <= 1050192000) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1208044800) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)'; case 3: return '(7516800 <= %date <= 25660800) OR (38966400 <= %date <= 57715200) OR (70416000 <= %date <= 89164800) OR (101865600 <= %date <= 120614400) OR (133920000 <= %date <= 152064000) OR (165369600 <= %date <= 183513600) OR (196819200 <= %date <= 215568000) OR (228268800 <= %date <= 247017600) OR (259718400 <= %date <= 278467200) OR (291168000 <= %date <= 309916800) OR (323222400 <= %date <= 341366400) OR (354672000 <= %date <= 372816000) OR (386121600 <= %date <= 404870400) OR (417571200 <= %date <= 436320000) OR (449020800 <= %date <= 467769600) OR (481075200 <= %date <= 499219200) OR (512524800 <= %date <= 530668800) OR (543974400 <= %date <= 562118400) OR (575424000 <= %date <= 594172800) OR (606873600 <= %date <= 625622400) OR (638323200 <= %date <= 657072000) OR (670377600 <= %date <= 688521600) OR (701827200 <= %date <= 719971200) OR (733276800 <= %date <= 752025600) OR (764726400 <= %date <= 783475200) OR (796176000 <= %date <= 814924800) OR (828230400 <= %date <= 846374400) OR (859680000 <= %date <= 877824000) OR (891129600 <= %date <= 909273600) OR (922579200 <= %date <= 941328000) OR (954028800 <= %date <= 972777600) OR (985478400 <= %date <= 1004227200) OR (1017532800 <= %date <= 1035676800) OR (1048982400 <= %date <= 1067126400) OR (1080432000 <= %date <= 1099180800) OR (1111881600 <= %date <= 1130630400) OR (1143331200 <= %date <= 1162080000) OR (1174780800 <= %date <= 1193529600) OR (1206835200 <= %date <= 1224979200) OR (1238284800 <= %date <= 1256428800) OR (1269734400 <= %date <= 1288483200)'; case 4: return '(7776000 <= %date <= 23587200) OR (39312000 <= %date <= 55123200) OR (70934400 <= %date <= 86745600) OR (102470400 <= %date <= 118281600) OR (134006400 <= %date <= 149817600) OR (165542400 <= %date <= 181353600) OR (197164800 <= %date <= 212976000) OR (228700800 <= %date <= 244512000) OR (260236800 <= %date <= 276048000) OR (291772800 <= %date <= 307584000) OR (323395200 <= %date <= 339206400) OR (354931200 <= %date <= 370742400) OR (386467200 <= %date <= 402278400) OR (418003200 <= %date <= 433814400) OR (449625600 <= %date <= 465436800) OR (481161600 <= %date <= 496972800) OR (512697600 <= %date <= 528508800) OR (544233600 <= %date <= 560044800) OR (575856000 <= %date <= 591667200) OR (607392000 <= %date <= 623203200) OR (638928000 <= %date <= 654739200) OR (670464000 <= %date <= 686275200) OR (702086400 <= %date <= 717897600) OR (733622400 <= %date <= 749433600) OR (765158400 <= %date <= 780969600) OR (796694400 <= %date <= 812505600) OR (828316800 <= %date <= 844128000) OR (859852800 <= %date <= 875664000) OR (891388800 <= %date <= 907200000) OR (922924800 <= %date <= 938736000) OR (954547200 <= %date <= 970358400) OR (986083200 <= %date <= 1001894400) OR (1017619200 <= %date <= 1033430400) OR (1049155200 <= %date <= 1064966400) OR (1080777600 <= %date <= 1096588800) OR (1112313600 <= %date <= 1128124800) OR (1143849600 <= %date <= 1159660800) OR (1175385600 <= %date <= 1191196800) OR (1207008000 <= %date <= 1222819200) OR (1238544000 <= %date <= 1254355200) OR (1270080000 <= %date <= 1285891200)'; case 5: return '(7344000 <= %date <= 24364800) OR (38793600 <= %date <= 55814400) OR (70848000 <= %date <= 87264000) OR (102297600 <= %date <= 118713600) OR (133747200 <= %date <= 150768000) OR (165196800 <= %date <= 182217600) OR (196646400 <= %date <= 213667200) OR (228700800 <= %date <= 245116800) OR (260150400 <= %date <= 276566400) OR (291600000 <= %date <= 308016000) OR (323049600 <= %date <= 340070400) OR (354499200 <= %date <= 371520000) OR (385948800 <= %date <= 402969600) OR (418003200 <= %date <= 434419200) OR (449452800 <= %date <= 465868800) OR (480902400 <= %date <= 497923200) OR (512352000 <= %date <= 529372800) OR (543801600 <= %date <= 560822400) OR (575856000 <= %date <= 592272000) OR (607305600 <= %date <= 623721600) OR (638755200 <= %date <= 655171200) OR (670204800 <= %date <= 687225600) OR (701654400 <= %date <= 718675200) OR (733104000 <= %date <= 750124800) OR (765158400 <= %date <= 781574400) OR (796608000 <= %date <= 813024000) OR (828057600 <= %date <= 845078400) OR (859507200 <= %date <= 876528000) OR (890956800 <= %date <= 907977600) OR (922406400 <= %date <= 939427200) OR (954460800 <= %date <= 970948800) OR (985910400 <= %date <= 1002398460) OR (1017360000 <= %date <= 1034452920) OR (1048809600 <= %date <= 1065902580) OR (1080259200 <= %date <= 1097352240) OR (1112313600 <= %date <= 1128801900) OR (1143763200 <= %date <= 1160251560) OR (1175212800 <= %date <= 1189886820) OR (1206662400 <= %date <= 1223150880) OR (1238112000 <= %date <= 1253995740) OR (1269561600 <= %date <= 1284235800)'; case 6: return '(7516800 <= %date <= 25660800) OR (38966400 <= %date <= 57715200) OR (70416000 <= %date <= 89164800) OR (101865600 <= %date <= 120614400) OR (133920000 <= %date <= 152064000) OR (165369600 <= %date <= 183513600) OR (196819200 <= %date <= 215568000) OR (228268800 <= %date <= 247017600) OR (259718400 <= %date <= 278467200) OR (291168000 <= %date <= 309916800) OR (323222400 <= %date <= 341366400) OR (354672000 <= %date <= 372816000) OR (386121600 <= %date <= 404870400) OR (417571200 <= %date <= 436320000) OR (449020800 <= %date <= 467769600) OR (481075200 <= %date <= 499219200) OR (512524800 <= %date <= 530668800) OR (543974400 <= %date <= 562118400) OR (575424000 <= %date <= 594172800) OR (606873600 <= %date <= 625622400) OR (638323200 <= %date <= 657072000) OR (670377600 <= %date <= 688521600) OR (701827200 <= %date <= 719971200) OR (733276800 <= %date <= 752025600) OR (764726400 <= %date <= 783475200) OR (796176000 <= %date <= 814924800) OR (828230400 <= %date <= 846374400) OR (859680000 <= %date <= 877824000) OR (891129600 <= %date <= 909273600) OR (922579200 <= %date <= 941328000) OR (954028800 <= %date <= 972777600) OR (985478400 <= %date <= 1004227200) OR (1017532800 <= %date <= 1035676800) OR (1048982400 <= %date <= 1067126400) OR (1080432000 <= %date <= 1099180800) OR (1111881600 <= %date <= 1130630400) OR (1143331200 <= %date <= 1162080000) OR (1174780800 <= %date <= 1193529600) OR (1206835200 <= %date <= 1224979200) OR (1238284800 <= %date <= 1256428800) OR (1269734400 <= %date <= 1288483200)'; case 7: return '(9158400 <= %date <= 24883200) OR (40608000 <= %date <= 56332800) OR (72662400 <= %date <= 88387200) OR (104112000 <= %date <= 119836800) OR (135561600 <= %date <= 151286400) OR (167011200 <= %date <= 182736000) OR (198460800 <= %date <= 214185600) OR (229910400 <= %date <= 246240000) OR (261964800 <= %date <= 277689600) OR (293414400 <= %date <= 309139200) OR (324864000 <= %date <= 340588800) OR (356313600 <= %date <= 372038400) OR (387763200 <= %date <= 403488000) OR (419212800 <= %date <= 435542400) OR (451267200 <= %date <= 466992000) OR (482716800 <= %date <= 498441600) OR (514166400 <= %date <= 529891200) OR (545616000 <= %date <= 561340800) OR (577065600 <= %date <= 593395200) OR (609120000 <= %date <= 624844800) OR (640569600 <= %date <= 656294400) OR (672019200 <= %date <= 687744000) OR (703468800 <= %date <= 719193600) OR (734918400 <= %date <= 750643200) OR (766368000 <= %date <= 782697600) OR (798422400 <= %date <= 814147200) OR (829872000 <= %date <= 845596800) OR (861321600 <= %date <= 877046400) OR (892771200 <= %date <= 908496000) OR (924220800 <= %date <= 939945600) OR (956275200 <= %date <= 972000000) OR (987724800 <= %date <= 1003449600) OR (1019174400 <= %date <= 1034899200) OR (1050624000 <= %date <= 1066348800) OR (1082073600 <= %date <= 1097798400) OR (1113523200 <= %date <= 1129852800) OR (1145577600 <= %date <= 1161302400) OR (1177027200 <= %date <= 1192752000) OR (1208476800 <= %date <= 1224201600) OR (1239926400 <= %date <= 1255651200) OR (1271376000 <= %date <= 1287100800)'; case 8: return '(6825600 <= %date <= 22896000) OR (38361600 <= %date <= 54432000) OR (69984000 <= %date <= 86054400) OR (101520000 <= %date <= 117590400) OR (133056000 <= %date <= 149126400) OR (164592000 <= %date <= 180662400) OR (196214400 <= %date <= 212284800) OR (227750400 <= %date <= 243820800) OR (259286400 <= %date <= 275356800) OR (290822400 <= %date <= 306892800) OR (322444800 <= %date <= 338515200) OR (353980800 <= %date <= 370051200) OR (385516800 <= %date <= 401587200) OR (417052800 <= %date <= 433123200) OR (448675200 <= %date <= 464745600) OR (480211200 <= %date <= 496281600) OR (511747200 <= %date <= 527817600) OR (543283200 <= %date <= 559353600) OR (574905600 <= %date <= 590976000) OR (606441600 <= %date <= 622512000) OR (637977600 <= %date <= 654048000) OR (669513600 <= %date <= 685584000) OR (701136000 <= %date <= 717206400) OR (732672000 <= %date <= 748742400) OR (764208000 <= %date <= 780278400) OR (795744000 <= %date <= 811814400) OR (827366400 <= %date <= 843436800) OR (858902400 <= %date <= 874972800) OR (890438400 <= %date <= 906508800) OR (921974400 <= %date <= 938044800) OR (953596800 <= %date <= 969667200) OR (985132800 <= %date <= 1001203200) OR (1016668800 <= %date <= 1032739200) OR (1048204800 <= %date <= 1064275200) OR (1079827200 <= %date <= 1095897600) OR (1111363200 <= %date <= 1127433600) OR (1142899200 <= %date <= 1158969600) OR (1174435200 <= %date <= 1190505600) OR (1206057600 <= %date <= 1222128000) OR (1237593600 <= %date <= 1253664000) OR (1269129600 <= %date <= 1285200000)'; case 9: return '(25660800 <= %date <= 7516800) OR (57715200 <= %date <= 38966400) OR (89164800 <= %date <= 70416000) OR (120614400 <= %date <= 101865600) OR (152064000 <= %date <= 133920000) OR (183513600 <= %date <= 165369600) OR (215568000 <= %date <= 196819200) OR (247017600 <= %date <= 228268800) OR (278467200 <= %date <= 259718400) OR (309916800 <= %date <= 291168000) OR (341366400 <= %date <= 323222400) OR (372816000 <= %date <= 354672000) OR (404870400 <= %date <= 386121600) OR (436320000 <= %date <= 417571200) OR (467769600 <= %date <= 449020800) OR (499219200 <= %date <= 481075200) OR (530668800 <= %date <= 512524800) OR (562118400 <= %date <= 543974400) OR (594172800 <= %date <= 575424000) OR (625622400 <= %date <= 606873600) OR (657072000 <= %date <= 638323200) OR (688521600 <= %date <= 670377600) OR (719971200 <= %date <= 701827200) OR (752025600 <= %date <= 733276800) OR (783475200 <= %date <= 764726400) OR (814924800 <= %date <= 796176000) OR (846374400 <= %date <= 828230400) OR (877824000 <= %date <= 859680000) OR (909273600 <= %date <= 891129600) OR (941328000 <= %date <= 922579200) OR (972777600 <= %date <= 954028800) OR (1004227200 <= %date <= 985478400) OR (1035676800 <= %date <= 1017532800) OR (1067126400 <= %date <= 1048982400) OR (1099180800 <= %date <= 1080432000) OR (1130630400 <= %date <= 1111881600) OR (1162080000 <= %date <= 1143331200) OR (1193529600 <= %date <= 1174780800) OR (1224979200 <= %date <= 1206835200) OR (1256428800 <= %date <= 1238284800) OR (1288483200 <= %date <= 1269734400)'; case 10: return '(24451200 <= %date <= 7516800) OR (55900800 <= %date <= 38966400) OR (87350400 <= %date <= 70416000) OR (119404800 <= %date <= 101865600) OR (150854400 <= %date <= 133920000) OR (182304000 <= %date <= 165369600) OR (213753600 <= %date <= 196819200) OR (245203200 <= %date <= 228268800) OR (276652800 <= %date <= 259718400) OR (308707200 <= %date <= 291168000) OR (340156800 <= %date <= 323222400) OR (371606400 <= %date <= 354672000) OR (403056000 <= %date <= 386121600) OR (434505600 <= %date <= 417571200) OR (466560000 <= %date <= 449020800) OR (498009600 <= %date <= 481075200) OR (529459200 <= %date <= 512524800) OR (560908800 <= %date <= 543974400) OR (592358400 <= %date <= 575424000) OR (623808000 <= %date <= 606873600) OR (655862400 <= %date <= 638323200) OR (687312000 <= %date <= 670377600) OR (718761600 <= %date <= 701827200) OR (750211200 <= %date <= 733276800) OR (781660800 <= %date <= 764726400) OR (813110400 <= %date <= 796176000) OR (845164800 <= %date <= 828230400) OR (876614400 <= %date <= 859680000) OR (908064000 <= %date <= 891129600) OR (939513600 <= %date <= 922579200) OR (970963200 <= %date <= 954028800) OR (1003017600 <= %date <= 985478400) OR (1034467200 <= %date <= 1017532800) OR (1065916800 <= %date <= 1048982400) OR (1097366400 <= %date <= 1080432000) OR (1128816000 <= %date <= 1111881600) OR (1160265600 <= %date <= 1143331200) OR (1192320000 <= %date <= 1174780800) OR (1223769600 <= %date <= 1206835200) OR (1255219200 <= %date <= 1238284800) OR (1286668800 <= %date <= 1269734400)'; case 11: return '(24451200 <= %date <= 6912000) OR (55900800 <= %date <= 38966400) OR (87350400 <= %date <= 70416000) OR (119404800 <= %date <= 101865600) OR (150854400 <= %date <= 133315200) OR (182304000 <= %date <= 164764800) OR (213753600 <= %date <= 196819200) OR (245203200 <= %date <= 228268800) OR (276652800 <= %date <= 259718400) OR (308707200 <= %date <= 291168000) OR (340156800 <= %date <= 322617600) OR (371606400 <= %date <= 354067200) OR (403056000 <= %date <= 386121600) OR (434505600 <= %date <= 417571200) OR (466560000 <= %date <= 449020800) OR (498009600 <= %date <= 480470400) OR (529459200 <= %date <= 511920000) OR (560908800 <= %date <= 543369600) OR (592358400 <= %date <= 575424000) OR (623808000 <= %date <= 606873600) OR (655862400 <= %date <= 638323200) OR (687312000 <= %date <= 669772800) OR (718761600 <= %date <= 701222400) OR (750211200 <= %date <= 733276800) OR (781660800 <= %date <= 764726400) OR (813110400 <= %date <= 796176000) OR (845164800 <= %date <= 827625600) OR (876614400 <= %date <= 859075200) OR (908064000 <= %date <= 890524800) OR (939513600 <= %date <= 922579200) OR (970963200 <= %date <= 954028800) OR (1003017600 <= %date <= 985478400) OR (1034467200 <= %date <= 1016928000) OR (1065916800 <= %date <= 1048377600) OR (1097366400 <= %date <= 1080432000) OR (1128816000 <= %date <= 1111881600) OR (1160265600 <= %date <= 1143331200) OR (1192320000 <= %date <= 1174780800) OR (1223769600 <= %date <= 1206230400) OR (1255219200 <= %date <= 1237680000) OR (1286668800 <= %date <= 1269734400)'; case 12: return '(26870400 <= %date <= 2073600) OR (58924800 <= %date <= 34128000) OR (90374400 <= %date <= 65577600) OR (121824000 <= %date <= 97027200) OR (153273600 <= %date <= 128476800) OR (184723200 <= %date <= 159926400) OR (216777600 <= %date <= 191376000) OR (248227200 <= %date <= 223430400) OR (279676800 <= %date <= 254880000) OR (311126400 <= %date <= 286329600) OR (342576000 <= %date <= 317779200) OR (374025600 <= %date <= 349228800) OR (406080000 <= %date <= 381283200) OR (437529600 <= %date <= 412732800) OR (468979200 <= %date <= 444182400) OR (500428800 <= %date <= 475632000) OR (531878400 <= %date <= 507081600) OR (563328000 <= %date <= 538531200) OR (595382400 <= %date <= 570585600) OR (626832000 <= %date <= 602035200) OR (658281600 <= %date <= 633484800) OR (689731200 <= %date <= 664934400) OR (721180800 <= %date <= 696384000) OR (753235200 <= %date <= 728438400) OR (784684800 <= %date <= 759888000) OR (816134400 <= %date <= 791337600) OR (847584000 <= %date <= 822787200) OR (879033600 <= %date <= 854236800) OR (910483200 <= %date <= 885686400) OR (942537600 <= %date <= 917740800) OR (973987200 <= %date <= 949190400) OR (1005436800 <= %date <= 980640000) OR (1036886400 <= %date <= 1012089600) OR (1068336000 <= %date <= 1043539200) OR (1100390400 <= %date <= 1074988800) OR (1131840000 <= %date <= 1107043200) OR (1163289600 <= %date <= 1138492800) OR (1194739200 <= %date <= 1169942400) OR (1226188800 <= %date <= 1201392000) OR (1257638400 <= %date <= 1232841600) OR (1289692800 <= %date <= 1264896000)'; case 13: return '(7520400 <= %date <= 25664400) OR (38970000 <= %date <= 57718800) OR (70419600 <= %date <= 89168400) OR (101869200 <= %date <= 120618000) OR (133923600 <= %date <= 152067600) OR (165373200 <= %date <= 183517200) OR (196822800 <= %date <= 215571600) OR (228272400 <= %date <= 247021200) OR (259722000 <= %date <= 278470800) OR (291171600 <= %date <= 309920400) OR (323226000 <= %date <= 341370000) OR (354675600 <= %date <= 372819600) OR (386125200 <= %date <= 404874000) OR (417574800 <= %date <= 436323600) OR (449024400 <= %date <= 467773200) OR (481078800 <= %date <= 499222800) OR (512528400 <= %date <= 530672400) OR (543978000 <= %date <= 562122000) OR (575427600 <= %date <= 594176400) OR (606877200 <= %date <= 625626000) OR (638326800 <= %date <= 657075600) OR (670381200 <= %date <= 688525200) OR (701830800 <= %date <= 719974800) OR (733280400 <= %date <= 752029200) OR (764730000 <= %date <= 783478800) OR (796179600 <= %date <= 814928400) OR (828234000 <= %date <= 846378000) OR (859683600 <= %date <= 877827600) OR (891133200 <= %date <= 909277200) OR (922582800 <= %date <= 941331600) OR (954032400 <= %date <= 972781200) OR (985482000 <= %date <= 1004230800) OR (1017536400 <= %date <= 1035680400) OR (1048986000 <= %date <= 1067130000) OR (1080435600 <= %date <= 1099184400) OR (1111885200 <= %date <= 1130634000) OR (1143334800 <= %date <= 1162083600) OR (1174784400 <= %date <= 1193533200) OR (1206838800 <= %date <= 1224982800) OR (1238288400 <= %date <= 1256432400) OR (1269738000 <= %date <= 1288486800)'; case 14: return '(7524000 <= %date <= 25668000) OR (38973600 <= %date <= 57722400) OR (70423200 <= %date <= 89172000) OR (101872800 <= %date <= 120621600) OR (133927200 <= %date <= 152071200) OR (165376800 <= %date <= 183520800) OR (196826400 <= %date <= 215575200) OR (228276000 <= %date <= 247024800) OR (259725600 <= %date <= 278474400) OR (291175200 <= %date <= 309924000) OR (323229600 <= %date <= 341373600) OR (354679200 <= %date <= 372823200) OR (386128800 <= %date <= 404877600) OR (417578400 <= %date <= 436327200) OR (449028000 <= %date <= 467776800) OR (481082400 <= %date <= 499226400) OR (512532000 <= %date <= 530676000) OR (543981600 <= %date <= 562125600) OR (575431200 <= %date <= 594180000) OR (606880800 <= %date <= 625629600) OR (638330400 <= %date <= 657079200) OR (670384800 <= %date <= 688528800) OR (701834400 <= %date <= 719978400) OR (733284000 <= %date <= 752032800) OR (764733600 <= %date <= 783482400) OR (796183200 <= %date <= 814932000) OR (828237600 <= %date <= 846381600) OR (859687200 <= %date <= 877831200) OR (891136800 <= %date <= 909280800) OR (922586400 <= %date <= 941335200) OR (954036000 <= %date <= 972784800) OR (985485600 <= %date <= 1004234400) OR (1017540000 <= %date <= 1035684000) OR (1048989600 <= %date <= 1067133600) OR (1080439200 <= %date <= 1099188000) OR (1111888800 <= %date <= 1130637600) OR (1143338400 <= %date <= 1162087200) OR (1174788000 <= %date <= 1193536800) OR (1206842400 <= %date <= 1224986400) OR (1238292000 <= %date <= 1256436000) OR (1269741600 <= %date <= 1288490400)'; case 15: return '(8128800 <= %date <= 25668000) OR (39578400 <= %date <= 57722400) OR (71028000 <= %date <= 89172000) OR (102477600 <= %date <= 120621600) OR (134532000 <= %date <= 152071200) OR (165981600 <= %date <= 183520800) OR (197431200 <= %date <= 215575200) OR (228880800 <= %date <= 247024800) OR (260330400 <= %date <= 278474400) OR (291780000 <= %date <= 309924000) OR (323834400 <= %date <= 341373600) OR (355284000 <= %date <= 372823200) OR (386733600 <= %date <= 404877600) OR (418183200 <= %date <= 436327200) OR (449632800 <= %date <= 467776800) OR (481687200 <= %date <= 499226400) OR (513136800 <= %date <= 530676000) OR (544586400 <= %date <= 562125600) OR (576036000 <= %date <= 594180000) OR (607485600 <= %date <= 625629600) OR (638935200 <= %date <= 657079200) OR (670989600 <= %date <= 688528800) OR (702439200 <= %date <= 719978400) OR (733888800 <= %date <= 752032800) OR (765338400 <= %date <= 783482400) OR (796788000 <= %date <= 814932000) OR (828842400 <= %date <= 846381600) OR (860292000 <= %date <= 877831200) OR (891741600 <= %date <= 909280800) OR (923191200 <= %date <= 941335200) OR (954640800 <= %date <= 972784800) OR (986090400 <= %date <= 1004234400) OR (1018144800 <= %date <= 1035684000) OR (1049594400 <= %date <= 1067133600) OR (1081044000 <= %date <= 1099188000) OR (1112493600 <= %date <= 1130637600) OR (1143943200 <= %date <= 1162087200) OR (1173578400 <= %date <= 1193536800) OR (1205028000 <= %date <= 1224986400) OR (1236477600 <= %date <= 1256436000) OR (1268532000 <= %date <= 1288490400)'; case 16: return '(7776000 <= %date <= 25660800) OR (39312000 <= %date <= 57715200) OR (70934400 <= %date <= 89164800) OR (102470400 <= %date <= 120614400) OR (134006400 <= %date <= 152064000) OR (165542400 <= %date <= 183513600) OR (197164800 <= %date <= 215568000) OR (228700800 <= %date <= 247017600) OR (260236800 <= %date <= 278467200) OR (291772800 <= %date <= 309916800) OR (323395200 <= %date <= 341366400) OR (354931200 <= %date <= 372816000) OR (386467200 <= %date <= 404870400) OR (418003200 <= %date <= 436320000) OR (449625600 <= %date <= 467769600) OR (481161600 <= %date <= 499219200) OR (512697600 <= %date <= 530668800) OR (544233600 <= %date <= 562118400) OR (575856000 <= %date <= 594172800) OR (607392000 <= %date <= 625622400) OR (638928000 <= %date <= 657072000) OR (670464000 <= %date <= 688521600) OR (702086400 <= %date <= 719971200) OR (733622400 <= %date <= 752025600) OR (765158400 <= %date <= 783475200) OR (796694400 <= %date <= 814924800) OR (828316800 <= %date <= 846374400) OR (859852800 <= %date <= 877824000) OR (891388800 <= %date <= 909273600) OR (922924800 <= %date <= 941328000) OR (954547200 <= %date <= 972777600) OR (986083200 <= %date <= 1004227200) OR (1017619200 <= %date <= 1035676800) OR (1049155200 <= %date <= 1067126400) OR (1080777600 <= %date <= 1099180800) OR (1112313600 <= %date <= 1130630400) OR (1143849600 <= %date <= 1162080000) OR (1175385600 <= %date <= 1193529600) OR (1207008000 <= %date <= 1224979200) OR (1238544000 <= %date <= 1256428800) OR (1270080000 <= %date <= 1288483200)'; case 17: return '(26870400 <= %date <= 4492800) OR (58924800 <= %date <= 36547200) OR (90374400 <= %date <= 67996800) OR (121824000 <= %date <= 99446400) OR (153273600 <= %date <= 130896000) OR (184723200 <= %date <= 162345600) OR (216777600 <= %date <= 193795200) OR (248227200 <= %date <= 225849600) OR (279676800 <= %date <= 257299200) OR (311126400 <= %date <= 288748800) OR (342576000 <= %date <= 320198400) OR (374025600 <= %date <= 351648000) OR (406080000 <= %date <= 383702400) OR (437529600 <= %date <= 415152000) OR (468979200 <= %date <= 446601600) OR (500428800 <= %date <= 478051200) OR (531878400 <= %date <= 509500800) OR (563328000 <= %date <= 540950400) OR (595382400 <= %date <= 573004800) OR (626832000 <= %date <= 604454400) OR (658281600 <= %date <= 635904000) OR (689731200 <= %date <= 667353600) OR (721180800 <= %date <= 698803200) OR (753235200 <= %date <= 730857600) OR (784684800 <= %date <= 762307200) OR (816134400 <= %date <= 793756800) OR (847584000 <= %date <= 825206400) OR (879033600 <= %date <= 856656000) OR (910483200 <= %date <= 888105600) OR (942537600 <= %date <= 920160000) OR (973987200 <= %date <= 951609600) OR (1005436800 <= %date <= 983059200) OR (1036886400 <= %date <= 1014508800) OR (1068336000 <= %date <= 1045958400) OR (1100390400 <= %date <= 1077408000) OR (1131840000 <= %date <= 1109462400) OR (1163289600 <= %date <= 1140912000) OR (1194739200 <= %date <= 1172361600) OR (1226188800 <= %date <= 1203811200) OR (1257638400 <= %date <= 1235260800) OR (1289692800 <= %date <= 1267315200)'; case 18: return '(24969600 <= %date <= 6307200) OR (56419200 <= %date <= 38361600) OR (88473600 <= %date <= 69811200) OR (119923200 <= %date <= 101260800) OR (151372800 <= %date <= 132710400) OR (182822400 <= %date <= 164160000) OR (214272000 <= %date <= 196214400) OR (245721600 <= %date <= 227664000) OR (277776000 <= %date <= 259113600) OR (309225600 <= %date <= 290563200) OR (340675200 <= %date <= 322012800) OR (372124800 <= %date <= 353462400) OR (403574400 <= %date <= 385516800) OR (435024000 <= %date <= 416966400) OR (467078400 <= %date <= 448416000) OR (498528000 <= %date <= 479865600) OR (529977600 <= %date <= 511315200) OR (561427200 <= %date <= 542764800) OR (592876800 <= %date <= 574819200) OR (624931200 <= %date <= 606268800) OR (656380800 <= %date <= 637718400) OR (687830400 <= %date <= 669168000) OR (719280000 <= %date <= 700617600) OR (750729600 <= %date <= 732672000) OR (782179200 <= %date <= 764121600) OR (814233600 <= %date <= 795571200) OR (845683200 <= %date <= 827020800) OR (877132800 <= %date <= 858470400) OR (908582400 <= %date <= 889920000) OR (940032000 <= %date <= 921974400) OR (972086400 <= %date <= 953424000) OR (1003536000 <= %date <= 984873600) OR (1034985600 <= %date <= 1016323200) OR (1066435200 <= %date <= 1047772800) OR (1097884800 <= %date <= 1079827200) OR (1129334400 <= %date <= 1111276800) OR (1161388800 <= %date <= 1142726400) OR (1192838400 <= %date <= 1174176000) OR (1224288000 <= %date <= 1205625600) OR (1255737600 <= %date <= 1237075200) OR (1287187200 <= %date <= 1269129600)'; case 19: return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 134524800) OR (179884800 <= %date <= 165974400) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 323827200) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 481680000) OR (527040000 <= %date <= 513129600) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 670982400) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 828835200) OR (874195200 <= %date <= 860284800) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018137600) OR (1063497600 <= %date <= 1049587200) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1207440000) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)'; case 20: return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 135129600) OR (179884800 <= %date <= 166579200) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 324432000) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 482284800) OR (527040000 <= %date <= 513734400) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 671587200) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 829440000) OR (874195200 <= %date <= 860889600) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018742400) OR (1063497600 <= %date <= 1050192000) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1208044800) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)'; } } /** * These strings exist only for the extractor to pick them up and make * available for translation. * t('Africa/Algiers') t('Africa/Asmera') t('Africa/Bangui') t('Africa/Blantyre') t('Africa/Brazzaville') t('Africa/Bujumbura') t('Africa/Cairo') t('Africa/Ceuta') t('Africa/Dar es Salaam') t('Africa/Djibouti') t('Africa/Douala') t('Africa/Gaborone') t('Africa/Harare') t('Africa/Johannesburg') t('Africa/Kampala') t('Africa/Khartoum') t('Africa/Kigali') t('Africa/Kinshasa') t('Africa/Lagos') t('Africa/Libreville') t('Africa/Luanda') t('Africa/Lubumbashi') t('Africa/Lusaka') t('Africa/Malabo') t('Africa/Maputo') t('Africa/Maseru') t('Africa/Mbabane') t('Africa/Mogadishu') t('Africa/Nairobi') t('Africa/Ndjamena') t('Africa/Niamey') t('Africa/Porto-Novo') t('Africa/Tripoli') t('Africa/Tunis') t('Africa/Windhoek') t('America/Adak') t('America/Anchorage') t('America/Anguilla') t('America/Antigua') t('America/Araguaina') t('America/Aruba') t('America/Asuncion') t('America/Atka') t('America/Barbados') t('America/Belem') t('America/Belize') t('America/Boa Vista') t('America/Bogota') t('America/Boise') t('America/Buenos Aires') t('America/Cambridge Bay') t('America/Cancun') t('America/Caracas') t('America/Catamarca') t('America/Cayenne') t('America/Cayman') t('America/Chicago') t('America/Chihuahua') t('America/Cordoba') t('America/Costa Rica') t('America/Cuiaba') t('America/Curacao') t('America/Dawson') t('America/Dawson Creek') t('America/Denver') t('America/Detroit') t('America/Dominica') t('America/Edmonton') t('America/Eirunepe') t('America/El Salvador') t('America/Ensenada') t('America/Fort Wayne') t('America/Fortaleza') t('America/Glace Bay') t('America/Godthab') t('America/Goose Bay') t('America/Grand Turk') t('America/Grenada') t('America/Guadeloupe') t('America/Guatemala') t('America/Guayaquil') t('America/Guyana') t('America/Halifax') t('America/Havana') t('America/Hermosillo') t('America/Indiana/Indianapolis') t('America/Indiana/Knox') t('America/Indiana/Marengo') t('America/Indiana/Vevay') t('America/Indianapolis') t('America/Inuvik') t('America/Iqaluit') t('America/Jamaica') t('America/Jujuy') t('America/Juneau') t('America/Kentucky/Louisville') t('America/Kentucky/Monticello') t('America/Knox IN') t('America/La Paz') t('America/Lima') t('America/Los Angeles') t('America/Louisville') t('America/Maceio') t('America/Managua') t('America/Manaus') t('America/Martinique') t('America/Mazatlan') t('America/Mendoza') t('America/Menominee') t('America/Merida') t('America/Mexico City') t('America/Miquelon') t('America/Monterrey') t('America/Montevideo') t('America/Montreal') t('America/Montserrat') t('America/Nassau') t('America/New York') t('America/Nipigon') t('America/Nome') t('America/Noronha') t('America/Panama') t('America/Pangnirtung') t('America/Paramaribo') t('America/Phoenix') t('America/Port-au-Prince') t('America/Port of Spain') t('America/Porto Acre') t('America/Porto Velho') t('America/Puerto Rico') t('America/Rainy River') t('America/Rankin Inlet') t('America/Recife') t('America/Regina') t('America/Rio Branco') t('America/Rosario') t('America/Santiago') t('America/Santo Domingo') t('America/Sao Paulo') t('America/Scoresbysund') t('America/Shiprock') t('America/St Johns') t('America/St Kitts') t('America/St Lucia') t('America/St Thomas') t('America/St Vincent') t('America/Swift Current') t('America/Tegucigalpa') t('America/Thule') t('America/Thunder Bay') t('America/Tijuana') t('America/Tortola') t('America/Vancouver') t('America/Virgin') t('America/Whitehorse') t('America/Winnipeg') t('America/Yakutat') t('America/Yellowknife') t('Antarctica/Casey') t('Antarctica/Davis') t('Antarctica/DumontDUrville') t('Antarctica/Mawson') t('Antarctica/McMurdo') t('Antarctica/Palmer') t('Antarctica/South Pole') t('Antarctica/Syowa') t('Antarctica/Vostok') t('Arctic/Longyearbyen') t('Asia/Aden') t('Asia/Almaty') t('Asia/Amman') t('Asia/Anadyr') t('Asia/Aqtau') t('Asia/Aqtobe') t('Asia/Ashgabat') t('Asia/Ashkhabad') t('Asia/Baghdad') t('Asia/Bahrain') t('Asia/Baku') t('Asia/Bangkok') t('Asia/Beirut') t('Asia/Bishkek') t('Asia/Brunei') t('Asia/Calcutta') t('Asia/Chungking') t('Asia/Colombo') t('Asia/Dacca') t('Asia/Damascus') t('Asia/Dhaka') t('Asia/Dili') t('Asia/Dubai') t('Asia/Dushanbe') t('Asia/Gaza') t('Asia/Harbin') t('Asia/Hong Kong') t('Asia/Hovd') t('Asia/Irkutsk') t('Asia/Istanbul') t('Asia/Jakarta') t('Asia/Jayapura') t('Asia/Jerusalem') t('Asia/Kabul') t('Asia/Kamchatka') t('Asia/Karachi') t('Asia/Kashgar') t('Asia/Katmandu') t('Asia/Krasnoyarsk') t('Asia/Kuala Lumpur') t('Asia/Kuching') t('Asia/Kuwait') t('Asia/Macao') t('Asia/Magadan') t('Asia/Manila') t('Asia/Muscat') t('Asia/Nicosia') t('Asia/Novosibirsk') t('Asia/Omsk') t('Asia/Phnom Penh') t('Asia/Pyongyang') t('Asia/Qatar') t('Asia/Rangoon') t('Asia/Riyadh') t('Asia/Riyadh87') t('Asia/Riyadh88') t('Asia/Riyadh89') t('Asia/Saigon') t('Asia/Samarkand') t('Asia/Seoul') t('Asia/Shanghai') t('Asia/Singapore') t('Asia/Taipei') t('Asia/Tashkent') t('Asia/Tbilisi') t('Asia/Tehran') t('Asia/Tel Aviv') t('Asia/Thimbu') t('Asia/Thimphu') t('Asia/Tokyo') t('Asia/Ujung Pandang') t('Asia/Ulaanbaatar') t('Asia/Ulan Bator') t('Asia/Urumqi') t('Asia/Vientiane') t('Asia/Vladivostok') t('Asia/Yakutsk') t('Asia/Yekaterinburg') t('Asia/Yerevan') t('Atlantic/Azores') t('Atlantic/Bermuda') t('Atlantic/Canary') t('Atlantic/Cape Verde') t('Atlantic/Faeroe') t('Atlantic/Jan Mayen') t('Atlantic/Madeira') t('Atlantic/South Georgia') t('Atlantic/Stanley') t('Australia/ACT') t('Australia/Adelaide') t('Australia/Brisbane') t('Australia/Broken Hill') t('Australia/Canberra') t('Australia/Darwin') t('Australia/Hobart') t('Australia/LHI') t('Australia/Lindeman') t('Australia/Lord Howe') t('Australia/Melbourne') t('Australia/NSW') t('Australia/North') t('Australia/Perth') t('Australia/Queensland') t('Australia/South') t('Australia/Sydney') t('Australia/Tasmania') t('Australia/Victoria') t('Australia/West') t('Australia/Yancowinna') t('Brazil/Acre') t('Brazil/DeNoronha') t('Brazil/East') t('Brazil/West') t('Canada/Atlantic') t('Canada/Central') t('Canada/Central-Saskatchewan') t('Canada/Eastern') t('Canada/Mountain') t('Canada/Newfoundland') t('Canada/Pacific') t('Canada/Saskatchewan') t('Canada/Yukon') t('Chile/Continental') t('Chile/EasterIsland') t('Cuba') t('EST') t('Egypt') t('Eire') t('Etc/GMT-1') t('Etc/GMT-10') t('Etc/GMT-11') t('Etc/GMT-12') t('Etc/GMT-2') t('Etc/GMT-3') t('Etc/GMT-4') t('Etc/GMT-5') t('Etc/GMT-6') t('Etc/GMT-7') t('Etc/GMT-8') t('Etc/GMT-9') t('Etc/GMT') t('Etc/GMT+1') t('Etc/GMT+10') t('Etc/GMT+11') t('Etc/GMT+12') t('Etc/GMT+13') t('Etc/GMT+14') t('Etc/GMT+2') t('Etc/GMT+3') t('Etc/GMT+4') t('Etc/GMT+5') t('Etc/GMT+6') t('Etc/GMT+7') t('Etc/GMT+8') t('Etc/GMT+9') t('Europe/Amsterdam') t('Europe/Andorra') t('Europe/Athens') t('Europe/Belfast') t('Europe/Belgrade') t('Europe/Berlin') t('Europe/Bratislava') t('Europe/Brussels') t('Europe/Bucharest') t('Europe/Budapest') t('Europe/Chisinau') t('Europe/Copenhagen') t('Europe/Dublin') t('Europe/Gibraltar') t('Europe/Helsinki') t('Europe/Istanbul') t('Europe/Kaliningrad') t('Europe/Kiev') t('Europe/Lisbon') t('Europe/Ljubljana') t('Europe/London') t('Europe/Luxembourg') t('Europe/Madrid') t('Europe/Malta') t('Europe/Minsk') t('Europe/Monaco') t('Europe/Moscow') t('Europe/Nicosia') t('Europe/Oslo') t('Europe/Paris') t('Europe/Prague') t('Europe/Riga') t('Europe/Rome') t('Europe/Samara') t('Europe/San Marino') t('Europe/Sarajevo') t('Europe/Simferopol') t('Europe/Skopje') t('Europe/Sofia') t('Europe/Stockholm') t('Europe/Tallinn') t('Europe/Tirane') t('Europe/Tiraspol') t('Europe/Uzhgorod') t('Europe/Vaduz') t('Europe/Vatican') t('Europe/Vienna') t('Europe/Vilnius') t('Europe/Warsaw') t('Europe/Zagreb') t('Europe/Zaporozhye') t('Europe/Zurich') t('GB') t('GB-Eire') t('Hongkong') t('Indian/Antananarivo') t('Indian/Chagos') t('Indian/Christmas') t('Indian/Cocos') t('Indian/Comoro') t('Indian/Kerguelen') t('Indian/Mahe') t('Indian/Maldives') t('Indian/Mauritius') t('Indian/Mayotte') t('Indian/Reunion') t('Iran') t('Israel') t('Jamaica') t('Japan') t('Kwajalein') t('Libya') t('Mexico/BajaNorte') t('Mexico/BajaSur') t('Mexico/General') t('Mideast/Riyadh87') t('Mideast/Riyadh88') t('Mideast/Riyadh89') t('NZ') t('Navajo') t('Pacific/Apia') t('Pacific/Auckland') t('Pacific/Chatham') t('Pacific/Easter') t('Pacific/Efate') t('Pacific/Enderbury') t('Pacific/Fakaofo') t('Pacific/Fiji') t('Pacific/Funafuti') t('Pacific/Galapagos') t('Pacific/Gambier') t('Pacific/Guadalcanal') t('Pacific/Guam') t('Pacific/Honolulu') t('Pacific/Johnston') t('Pacific/Kiritimati') t('Pacific/Kosrae') t('Pacific/Kwajalein') t('Pacific/Majuro') t('Pacific/Marquesas') t('Pacific/Midway') t('Pacific/Nauru') t('Pacific/Niue') t('Pacific/Norfolk') t('Pacific/Noumea') t('Pacific/Pago Pago') t('Pacific/Palau') t('Pacific/Pitcairn') t('Pacific/Ponape') t('Pacific/Port Moresby') t('Pacific/Rarotonga') t('Pacific/Saipan') t('Pacific/Samoa') t('Pacific/Tahiti') t('Pacific/Tarawa') t('Pacific/Tongatapu') t('Pacific/Truk') t('Pacific/Wake') t('Pacific/Wallis') t('Pacific/Yap') t('Poland') t('Portugal') t('Singapore') t('Turkey') t('US/Alaska') t('US/Aleutian') t('US/Arizona') t('US/Central') t('US/East-Indiana') t('US/Eastern') t('US/Hawaii') t('US/Indiana-Starke') t('US/Michigan') t('US/Mountain') t('US/Pacific') t('US/Samoa') t('Pacific/French Polynesia-Marquesas Islands') */