Skip to content

Instantly share code, notes, and snippets.

@benjiwheeler
Created July 12, 2014 19:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benjiwheeler/44cfdab97fe5400203f5 to your computer and use it in GitHub Desktop.
Save benjiwheeler/44cfdab97fe5400203f5 to your computer and use it in GitHub Desktop.
Parse cloud code example
drizzle_parse_cloud / cloud / main.js
// ************************* libraries ***********************************
var _ = require('underscore');
var moment = require('moment');
//var moment = require('moment-timezone');
var MAX_ALERT_LENGTH = 110;
var TARGET_TIME_OF_DAY_SEC = 7 * 3600; // 7 am
var TIME_OF_DAY_ABS_DIFF_LIMIT = 40 * 60; // within 40 mins
// Example of wunderground API
// http://api.wunderground.com/api/828b0934413d2b43/hourly/q/NY/Brooklyn.json
// ************************** fg commands ***************************
Parse.Cloud.define("push_test", function(request, response) {
doPushToChannel("global", "Quit Your Jibba Jabba");
response.success("done");
});
Parse.Cloud.define("fg_fetch_forecasts", function(request, response) {
fetchForecasts({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.error(msg);
}});
});
Parse.Cloud.define("fg_push_forecasts", function(request, response) {
pushForecastToAllZip3s({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.error(msg);
}});
});
Parse.Cloud.define("fg_push_forecasts_to_zips_in_range", function(request, response) {
pushForecastToZip3sInRange({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.error(msg);
}});
});
Parse.Cloud.define("fg_query_test", function(request, response) {
forecastForZip3("112").then(function(forecast_obj) {
console.log("got forecast: " + forecast_obj);
response.success();
}, function(error) {
console.log("got error");
response.error();
});
});
Parse.Cloud.define("fg_fetch_forecast_for_zip", function(request, response) {
var zipStr = request.params.zip;
if (zipStr !== undefined && zipStr.length >= 3 && zipStr.length <= 10) {
var zip3 = zipStr.substr(0,3);
forecastForZip3(zip3).then(function(forecast_obj) {
console.log("fg_fetch_forecast_for_zip: forecastForZip3 is done");
var summary = forecast_obj.get('summary');
var conditions_string = forecast_obj.get('conditions_string');
var retHash = {"summary": summary, "conditions": conditions_string};
response.success(retHash);
}, function(error) {
console.log('fg_fetch_forecast_for_zip: Forecast query failed for zipStr ' + zipStr + ' with error: ' + error.code + ' ' + error.message);
response.error('Forecast query failed with error: ' + error.code + ' ' + error.message);
});
} else {
response.error('Could not fetch forecast for zip: ' + zipStr);
}
});
Parse.Cloud.define("fg_push_forecast_to_user", function(request, response) {
var username = request.params.username;
var query = new Parse.Query(Parse.User);
console.log("in fg_push_forecast_to_user: username is " + username);
query.equalTo("username", username);
query.first({
success: function(object) {
console.log("in fg_push_forecast_to_user: object.zip3 is " + object.get('zip3'));
getWundergroundAPIKey({
success: function(wunderground_api_key) {
fetchForecastForZip3(object.get('zip3'), wunderground_api_key).then(function(forecast) {
pushForecastToUser(forecast, object);
}).then(function() {
// push went through
response.success("pushed");
}, function(error) {
console.log('push send failed with error: ' + error.code + ' ' + error.message);
promise.reject('push send failed with error: ' + error.code + ' ' + error.message);
});
},
error: function(error) {
console.log("failed to fetch api key");
response.error("failed to fetch api key");
}
});
},
error: function(error) {
console.log("could not find user with username " + username);
response.error("could not find user with username " + username);
}
});
});
// **************************** bg jobs ********************************
Parse.Cloud.job("bg_fetch_forecasts", function(request, status) {
fetchForecasts({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.error(msg);
}});
});
Parse.Cloud.job("bg_push_forecasts", function(request, status) {
pushForecastToAllZip3s({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.error(msg);
}});
});
Parse.Cloud.job("bg_push_forecasts_to_zips_in_range", function(request, status) {
pushForecastToZip3sInRange({
success: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.success(msg);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
status.error(msg);
}});
});
// ************************** validations ***************************
Parse.Cloud.beforeSave(Parse.User, function(request, response) {
// if (!request.object.get("zip") || request.object.get("zip").length < 5 || request.object.get("zip").length > 10) {
// response.error("zip is required for signup");
// } else {
response.success();
// }
});
// ************************** post-saving ***************************
Parse.Cloud.afterSave(Parse.User, function(request) {
console.log('afterSave:');
var newuser = request.object;
var zipField = newuser.get("zip");
var zip3Field = newuser.get("zip3");
if (zip3Field === undefined && zipField !== undefined && zipField.length >= 5 && zipField.length <= 10) {
console.log('afterSave, zip is converting to zip3');
var zip3 = zipField.substr(0,3);
newuser.set("zip3", zip3);
newuser.save(null, {
success: function(newuser) {
console.log('afterSave: saved newuser with zip3 ' + zip3);
getWundergroundAPIKey({
success: function(wunderground_api_key) {
fetchForecastForZip3(zip3, wunderground_api_key).then(function(forecast) {
loadAndPushForecastToUser(newuser);
}).then(function() {
// push went through
});
}
});
},
error: function(newuser, error) {
console.log('afterSave: failed to save newuser with zip3 ' + zip3 + '; error: ' + error.message);
}
});
} else {
console.log('afterSave, zip isnt ready to be converted to zip3');
}
});
// ************************** pushes ***************************
function doPushToChannel(channel, text, conditions_string) {
var briefText = excerptForPush(text);
console.log("pushing text: " + briefText + " to channel " + channel);
return Parse.Push.send({
channels: [ channel ],
data: {
alert: briefText,
cond: conditions_string
}
});
}
function doPushToUser(user, text, conditions_string) {
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("username", user.get('username'));
// Find devices associated with these users
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.matchesQuery('user', userQuery);
var briefText = excerptForPush(text);
console.log("pushing text: " + briefText + " to user " + user.get('username'));
return Parse.Push.send({
where: pushQuery,
data: {
alert: briefText,
cond: conditions_string
}
});
}
// ***************************** API *********************************
function getWundergroundAPIKey(callbacks) {
var wunderground_api_key = "";
var query = new Parse.Query("Constant");
query.equalTo("name", "wunderground_api_key");
query.first({
success: function(object) {
// Successfully retrieved the object.
wunderground_api_key = object.get("value_str");
callbacks["success"](wunderground_api_key);
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
callbacks["failure"](msg);
}
});
}
function queryWunderground(wunderground_api_key, dataFeature, zip5, callbacks) {
var wunderground_url = 'https://api.wunderground.com/api/' + wunderground_api_key + '/' + dataFeature + '/q/' + zip5 + '.json';
console.log('querying: ' + wunderground_url);
Parse.Cloud.httpRequest({
url: wunderground_url,
method: 'GET',
headers: {
'Content-Type': 'application/json'
},
success: function(httpResponse) {
callbacks["success"](httpResponse);
},
error: function(httpResponse) {
callbacks["error"](httpResponse);
}
});
}
// *************************** getting zips *****************************
function getAllZip3s(callbacks) {
var zip3Arr = [];
console.log("at start of getAllZip3s, zip3Arr is a " + typeof zip3Arr);
var zip3s = {};
// IMPORTANT NOTE: this query will only return 100 (can be increased to 1000 but that's it) rows. if we want to do this better, we should save distinct zip3s in a separate table.
var query = new Parse.Query(Parse.User);
query.select("zip3");
query.find({
success: function(results) {
for (var i = 0; i < results.length; i++) {
var zip3 = results[i].get('zip3');
if (zip3 !== undefined) {
zip3s[zip3] = 1;
}
}
for (var zip3 in zip3s) {
// use hasOwnProperty to filter out keys from the Object.prototype
if (zip3s.hasOwnProperty(zip3)) {
zip3Arr.push(zip3);
}
}
console.log("at success return of getAllZip3s, zip3Arr is a " + typeof zip3Arr);
callbacks["success"](zip3Arr);
},
error: function(error) {
// do nothing
console.log("at failure return of getAllZip3s, zip3Arr is a " + typeof zip3Arr);
callbacks["failure"]("Error: " + error.code + " " + error.message);
}
});
}
// ********************************************************************
// passes the push send promise up to whoever called us
function pushForecastToUser(forecast, user) {
console.log("beginning pushForecastToUser: " + user.get('username'));
var promise = new Parse.Promise();
var summary = forecast.get('summary');
var conditions_string = forecast.get('conditions_string');
doPushToUser(user, summary, conditions_string).then(function() {
console.log("in pushForecastToUser: looks like push went through");
promise.resolve();
}, function(error) {
console.log('push send failed with error: ' + error.code + ' ' + error.message);
promise.reject('push send failed with error: ' + error.code + ' ' + error.message);
});
}
function loadAndPushForecastToUser(user) {
console.log("beginning loadAndPushForecastToUser: " + user.get('username'));
var promise = new Parse.Promise();
var zip3 = user.get('zip3');
forecastForZip3(zip3).then(function(forecast_obj) {
console.log("in loadAndPushForecastToUser, looks like we got forecast for zip3 " + zip3);
var summary = forecast_obj.get('summary');
var conditions_string = forecast_obj.get('conditions_string');
doPushToUser(user, summary, conditions_string).then(function() {
console.log("in loadAndPushForecastToUser: looks like push went through");
promise.resolve();
}, function(error) {
console.log('push send failed with error: ' + error.code + ' ' + error.message);
promise.reject('push send failed with error: ' + error.code + ' ' + error.message);
});
}, function(error) {
console.log('Forecast for zip3 ' + zip3 + ' query failed with error: ' + error.code + ' ' + error.message);
promise.reject('Forecast for zip3 ' + zip3 + ' query failed with error: ' + error.code + ' ' + error.message);
});
return promise;
}
// passes the push send promise up to whoever called us
function pushForecastToZip3(zip3) {
var promise = new Parse.Promise();
var zipChannel = "channel_zip3_" + zip3;
forecastForZip3(zip3).then(function(forecast_obj) {
var summary = forecast_obj.get('summary');
var conditions_string = forecast_obj.get('conditions_string');
doPushToChannel(zipChannel, summary, conditions_string).then(function() {
promise.resolve();
}, function(error) {
console.log('push send failed with error: ' + error.code + ' ' + error.message);
promise.reject('push send failed with error: ' + error.code + ' ' + error.message);
});
}, function(error) {
console.log('Forecast query failed with error: ' + error.code + ' ' + error.message);
promise.reject('Forecast query failed with error: ' + error.code + ' ' + error.message);
});
return promise;
}
function pushForecastToAllZip3s(callbacks) {
var promises = [];
getAllZip3s({
success: function(allZip3s) {
console.log("allZip3s is a " + typeof allZip3s);
for (var zip3; zip3 = allZip3s.pop();) {
promises.push(pushForecastToZip3(zip3));
}
Parse.Promise.when(promises).then(function() {
callbacks["success"]();
}, function(error) {
callbacks["failure"]("Error: " + error.code + " " + error.message);
});
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
callbacks["failure"](msg);
}});
}
function pushForecastToZip3sInRange(callbacks) {
var promises = [];
getAllZip3s({
success: function(allZip3s) {
console.log("allZip3s is a " + typeof allZip3s);
for (var zip3; zip3 = allZip3s.pop();) {
if (zip3IsNearTarget(zip3)) {
promises.push(pushForecastToZip3(zip3));
}
}
Parse.Promise.when(promises).then(function() {
callbacks["success"]();
}, function(error) {
callbacks["failure"]("Error: " + error.code + " " + error.message);
});
},
failure: function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
callbacks["failure"](msg);
}});
}
function forecastForZip3(zip3) {
console.log("in forecastForZip3: with " + zip3);
var promise = new Parse.Promise();
var query = new Parse.Query("Forecast");
query.equalTo("zip3", zip3);
query.descending('createdAt');
console.log("in forecastForZip3: performing query");
query.first({
success: function(object) {
console.log("in forecastForZip3, done with query:");
if (typeof object == 'undefined') {
console.log("Isnt it sometimes better to be uncertain than certain? The weather, like all of life, is unknowable.");
promise.reject("Isnt it sometimes better to be uncertain than certain? The weather, like all of life, is unknowable.");
} else { // normal situation
console.log("got forecast for " + zip3 + ": " + object);
promise.resolve(object);
}
},
error: function(error) {
// alert("Error: " + error.code + " " + error.message);
console.log("Isnt it sometimes better to be uncertain than certain? The weather, like all of life, is unknowable.");
promise.reject("Isnt it sometimes better to be uncertain than certain? The weather, like all of life, is unknowable.");
}
});
return promise;
}
function getSummary(forecastDetails, yesterdayDetails) {
var summary_temp_rounded = Math.round((5.0*forecastDetails['high_temp'] + forecastDetails['low_temp']) / 6.0);
var summary_temp_phrase = "";
var summary_temp_ones = summary_temp_rounded % 10;
var summary_temp_decade = Math.floor(summary_temp_rounded / 10) * 10;
if (forecastDetails['med_summary_already_includes_temp']) {
// do nothing; we shouldn't add our own temp phrase
} else {
if (summary_temp_ones < 1.5) {
summary_temp_phrase = "Around " + summary_temp_decade + ". ";
} else if (summary_temp_ones < 3.5) {
summary_temp_phrase = "Low " + summary_temp_decade + "s. ";
} else if (summary_temp_ones < 6.5) {
summary_temp_phrase = "Mid " + summary_temp_decade + "s. ";
} else if (summary_temp_ones < 8.5) {
summary_temp_phrase = "High " + summary_temp_decade + "s. ";
} else { // 79 or 89 or whatever
summary_temp_phrase = "Around " + (summary_temp_decade + 10) + ". ";
}
}
var openClose = getOpenCloseFromConditions(forecastDetails['conditions_string']);
var yesterdayStr = getYesterdayStr(Object.keys(forecastDetails.descriptors), Object.keys(yesterdayDetails.descriptors));
var summary = openClose.opening_str + synonymize(yesterdayStr + forecastDetails['med_summary'] + " " + summary_temp_phrase) + openClose.closing_str;
// var summary = common_descriptor_string + forecastDetails['conditions_string'] + "; " + "high of " + forecastDetails['high_temp'] + ", " + (forecastDetails['rain_probability'] * 100.0).toFixed(0) + "\% chance of rain";
return summary;
}
function getYesterdayStr(todayDescriptors, yesterdayDescriptors) {
var descriptors_in_common = _.intersection(todayDescriptors, yesterdayDescriptors);
console.log('descriptors in common: ');
var descriptors_that_matter_for_change_from_yesterday = {
'hot': 'heat',
'snowy': 'snow',
'rainy': 'rain',
'cold': 'freeze'
};
var descriptors_for_change_from_yesterday = _.intersection(descriptors_in_common, _.keys(descriptors_that_matter_for_change_from_yesterday));
var descriptor_change_string = '';
var descriptor_unchange_string = '';
_.each(descriptors_for_change_from_yesterday, function(descriptor){
if ((descriptor in yesterdayDescriptors) && !(descriptor in todayDescriptors)) {
if (descriptor_change_string.length > 0) {
descriptor_change_string += ' and ';
} else {
descriptor_change_string = 'The ';
}
descriptor_change_string += descriptor;
}
if (descriptor_change_string.length > 1) {
descriptor_change_string += ' are over. ';
} else if (descriptor_change_string.length > 0) {
descriptor_change_string += ' is over. ';
}
});
for (var descriptor; descriptor = descriptors_in_common.pop();) {
console.log(' ' + descriptor);
if (descriptor_unchange_string.length > 0) {
descriptor_unchange_string += ', ';
} else {
descriptor_unchange_string = 'Another ';
}
descriptor_unchange_string += descriptor;
}
if (descriptor_unchange_string.length > 0) {
descriptor_unchange_string += ' day. ';
}
return descriptor_change_string + descriptor_unchange_string;
}
function fetchForecastForZip3(zip3, wunderground_api_key) {
var promise = new Parse.Promise();
var forecastDetails;
var yesterdayDetails;
console.log("fetching forecast for zip3 " + zip3 + " from wunderground");
// get forecast and then get yesterday and then produce summary and then save forecast
getDetails(zip3, 'forecast', wunderground_api_key).then(function(details) {
console.log('got details for forecast for zip3 ' + zip3);
forecastDetails = details;
console.log('after getting details for forecast, calling getDetails for yesterday');
return getDetails(zip3, 'yesterday', wunderground_api_key);
}).then(function(details) {
console.log('got details for yesterday');
yesterdayDetails = details;
console.log("fetchForecastForZip3: about to save forecast with zip3 " + zip3);
var summary = getSummary(forecastDetails, yesterdayDetails);
console.log("fetchForecastForZip3: got summary: " + summary);
forecastDetails['summary'] = summary;
forecastDetails['zip3'] = zip3; // NOT parsed to int because who knows, could be zip+4 or some nonsense
var forecastToSave = {};
for (var key in forecastDetails) {
// use hasOwnProperty to filter out keys from the Object.prototype
// we skip things that are numbers or strings, like the hash of descriptors
if (forecastDetails.hasOwnProperty(key) && (typeof forecastDetails[key] == 'string' || typeof forecastDetails[key] == 'number')) {
forecastToSave[key] = forecastDetails[key];
}
}
var Forecast = Parse.Object.extend("Forecast");
var forecast = new Forecast();
console.log("Saving parse forecast object: " + forecastToSave);
forecast.save(forecastToSave, {
success: function(forecast) {
// The object was saved successfully.
console.log("saved new forecast with summary " + summary);
promise.resolve(forecast);
},
error: function(forecast, error) {
// The save failed.
// error is a Parse.Error with an error code and description.
console.log('Forecast save failed with error: ' + error.code + ' ' + error.message);
promise.reject('Forecast save failed with error: ' + error.code + ' ' + error.message);
}
});
}, function(error) {
console.log("Error: " + error.code + " " + error.message);
promise.reject("Error: " + error.code + " " + error.message);
});
return promise;
}
// idea is to get descriptors using whatever method is appropriate for the period and the info via the api. eg yesterday gives you snow == 1; translate that into 1.0. forecast gives you pop; need to use qpf and snowallday to translate that into rain_probability == pop * ((qpf + snowallday) > 0 ? (qpf/(qpf + snowallday)) : 1); forecast doesn't give you mean temp, so use avg of high and low
// other idea is to have a priority on each descriptor, and list them in order of priority up to the first two of them.
function getDescriptors(details) {
var descriptors = {};
if ('rain_probability' in details && 'rain_amount' in details) {
if (details['rain_probability'] > .35 && details['rain_amount'] > .25) {
descriptors['rainy'] = 1;
}
}
if ('snow_probability' in details && 'snow_amount' in details) {
if (details['snow_probability'] > .5 && details['snow_amount'] > .25) {
descriptors['snowy'] = 1;
}
}
if ('high_temp' in details && 'low_temp' in details) {
// 5/6 of the way up from low temp to high temp; more useful than max temp
var practical_temp = (5.0 * details['high_temp'] + details['low_temp']) / 6.0
if ('rain_amount' in details && 'rain_probability' in details) {
if (practical_temp > 50 && details['rain_amount'] < .15 && details['rain_probability'] < .25) {
descriptors['sunny'] = 1;
}
}
if (practical_temp >= 80) {
descriptors['hot'] = 1;
}
if (practical_temp >= 60 && practical_temp < 80) {
descriptors['warm'] = 1;
}
if (practical_temp >= 40 && practical_temp < 60) {
descriptors['cool'] = 1;
}
if (practical_temp < 40) {
descriptors['cold'] = 1;
}
}
return descriptors;
}
// terminology: details = simpledetails (like high temp) + descriptors (like "rainy")
function getDetailsFromJson(json, dataFeature) {
console.log('starting getDetailsFromJson(json, dataFeature: ' + dataFeature + '):');
console.log('in getDetailsFromJson, json is: ' + json);
var details = getSimpleDetails(json, dataFeature);
var descriptors = getDescriptors(details);
details['descriptors'] = descriptors;
return details;
}
function getDetails(zip3, dataFeature, wunderground_api_key) {
var promise = new Parse.Promise();
console.log('starting getDetails(zip3: ' + zip3 + ', dataFeature: ' + dataFeature + ', key: hidden):');
var repZip5 = representativeZip5(zip3);
queryWunderground(wunderground_api_key, dataFeature, repZip5, {
success: function(httpResponse) {
console.log('successfully queried wunderground, got response for ' + dataFeature);
// var retValSimpleDetails = _.union(simpleDetails, getDetailsFromJson(httpResponse.data, dataFeature));
var retValSimpleDetails = getDetailsFromJson(httpResponse.data, dataFeature);
retValSimpleDetails['representative_zip5'] = repZip5;
retValSimpleDetails['zip3'] = zip3;
console.log('getDetails returning successfully; retval is');
console.log(retValSimpleDetails);
promise.resolve(retValSimpleDetails);
},
error: function(httpResponse) {
console.log('Http request for feature ' + dataFeature + ' for repZip5 ' + repZip5 + ' failed with response code ' + httpResponse.status);
promise.reject('Http request failed with response code ' + httpResponse.status);
}
});
return promise;
}
// takes a wunderground response like yesterday or forecast and extracts some common elements from it
function getSimpleDetails(json, dataFeature) {
var simpleDetails = {};
switch (dataFeature) {
case 'yesterday':
{
var summary = json.history.dailysummary[0];
simpleDetails['rain_probability'] = parseFloat(summary.rain);
simpleDetails['snow_probability'] = parseFloat(summary.snow);
simpleDetails['rain_amount'] = parseFloat(summary.precipi);
simpleDetails['snow_amount'] = parseFloat(summary.snowfalli);
simpleDetails['high_temp'] = parseFloat(summary.maxtempi);
simpleDetails['low_temp'] = parseFloat(summary.mintempi);
break;
}
case 'forecast':
{
var simple = json.forecast.simpleforecast;
var today = simple.forecastday[0];
var qpf_amount = parseFloat(today.qpf_allday.in);
var snow_amount = parseFloat(today.snow_allday.in);
var pop = parseFloat(today.pop) * .01; // it comes in percent form
simpleDetails['conditions_string'] = today.conditions;
simpleDetails['date'] = new Date (today.date.year, today.date.month, today.date.day);
simpleDetails['rain_probability'] = parseFloat((pop * ((qpf_amount + snow_amount) > 0 ? (qpf_amount / (qpf_amount + snow_amount)) : 0.0)).toFixed(2));
simpleDetails['snow_probability'] = parseFloat((pop * ((qpf_amount + snow_amount) > 0 ? (snow_amount / (qpf_amount + snow_amount)) : 0.0)).toFixed(2));
simpleDetails['rain_amount'] = qpf_amount;
simpleDetails['snow_amount'] = snow_amount;
simpleDetails['high_temp'] = parseFloat(today.high.fahrenheit);
simpleDetails['low_temp'] = parseFloat(today.low.fahrenheit);
var txt = json.forecast.txt_forecast.forecastday[0].fcttext
console.log("Got medium summary from wu, it is: " + txt);
var med_summary_already_includes_temp = true;
// examples of txt:
// A mix of clouds and sun. High 86F. Winds NW at 5 to 10 mph.
// A mix of clouds and sun. High around 86F. Winds NW at 5 to 10 mph.
// A mix of clouds and sun with high of 86F. Winds NW at 5 to 10 mph.
var med_summary = txt.replace(/^(.*?)(\s+(High|Low)[\s\w]+\d+\s?\w\s?\.)?(\s+Wind.+\.)\s*$/gi, function(str, g1, g2, g3, g4) {
console.log("after regex, g1 is '" + g1 + "; g2 is '" + g2 + "; g3 is '" + g3 + "; g4 is '" + g4 + ";");
if (g2.length > 0) { // there is a SEPARATE "High 70f" part of original wunderground string, which we are discarding
med_summary_already_includes_temp = false;
} else { // there is an INTEGRATED "...with temps in the low 60s" part of original wunderground string, which we are keeping
med_summary_already_includes_temp = true;
}
return g1;
});
simpleDetails['med_summary'] = med_summary;
simpleDetails['med_summary_already_includes_temp'] = med_summary_already_includes_temp;
break;
}
default:
{
}
}
return simpleDetails;
}
function fetchForecasts(callbacks) {
getWundergroundAPIKey({
success: function(wunderground_api_key) {
getAllZip3s({
success: function(allZip3s) {
var promises = [];
// status.log('wunderground_api_key: ' + wunderground_api_key);
for (var zip3; zip3 = allZip3s.pop();) {
console.log("about to fetch forecast for " + zip3);
// queue and begin a fetch for a zip3
promises.push(fetchForecastForZip3(zip3, wunderground_api_key));
}
Parse.Promise.when(promises).then(function() {
console.log("all calls to fetch for a zip were successful!");
callbacks["success"]();
}, function(error) {
console.log("some call to fetch for a zip failed");
callbacks["failure"]("Error: " + error.code + " " + error.message);
});
},
error: function(error) {
callbacks["failure"]("Error: " + error.code + " " + error.message);
}
});
}, // end of successful api key query
failure: function(msg) {
if (msg === undefined) { msg = "" }
callbacks["failure"](msg);
}
});
}
/*
var req = https.request(options, function(res)
{
var output = '';
console.log(options.host + ':' + res.statusCode);
res.setEncoding('utf8');
res.on('data', function (chunk) {
output += chunk;
});
res.on('end', function() {
var obj = JSON.parse(output);
response.success(obj);
});
});
*/
// ******************** dates ************************
function yyyymmdd(dateTimeParam) {
if (dateTimeParam === undefined) {
dateTimeParam = new Date();
}
//dateTimeParam = new Date();
var dd = dateTimeParam.getDate();
var mm = dateTimeParam.getMonth()+1; //January is 0!
var yyyy = dateTimeParam.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date_str = mm+''+dd+''+yyyy;
return date_str;
}
function randSeededByDateInt(dateInt) {
if (dateInt === undefined) {
dateInt = yyyymmdd();
}
return randSeeded(dateInt);
}
// ********************* time zones *****************************
/*
function timeOfDayFromDate(date) {
var hour_num = date.getHours();
var hour_str = hour_num.toString();
var minute_num = date.getMinutes();
var minute_str = timeNumToStrWithPadding(minute_num);
var second_num = date.getSeconds();
var second_str = timeNumToStrWithPadding(second_num);
return {
"hour_num": hour_num,
"hour_str": hour_str,
"minute_num": minute_num,
"minute_str": minute_str,
"second_num": second_num,
"second_str": second_str,
"msec_into_day":
};
}
function timeNumToStrWithPadding(i)
{
if (i<10) {
i="0" + i;
}
return i.toString();
}
*/
// ********************* time zones *****************************
/*
function localTimeOfDayToUTC(utcTimeMsec, utcOffsetHours) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utcMsec = d.getTime() + (d.getTimezoneOffset() * 60000);
}
function utcToLocal(utcTimeMsec, utcOffsetHours) {
var nd = new Date(utcTimeMsec + (3600000*utcOffsetHours));
return nd;
}
*/
function localMomentNow(utcOffsetHours) {
var utcNow = moment.utc();
var localNow = utcNow.add('hours', utcOffsetHours);
return localNow;
}
function localTimeDistanceFromTarget(utcOffsetHours, targetSec)
{
var localMoment = localMomentNow(utcOffsetHours);
var localMomentSec = localMoment.hours() * 3600 + localMoment.minutes() * 60 + localMoment.seconds();
var diff = localMomentSec - targetSec;
// don't be off by more than 12 hours!
if (diff > 12 * 3600) { diff -= 24 * 3600; }
if (diff < -12 * 3600) { diff += 24 * 3600; }
return diff;
}
function timeZoneIsNearTarget(utcOffsetHours, targetSec, absDiffSecsLimit) {
var curDiffSecs = localTimeDistanceFromTarget(utcOffsetHours, targetSec);
if (Math.abs(curDiffSecs) < absDiffSecsLimit) {
return true;
} else {
return false;
}
}
function zip3IsNearTarget(zip3) {
var utcOffsetHours = utcOffsetForZip3(zip3);
return timeZoneIsNearTarget(utcOffsetHours, TARGET_TIME_OF_DAY_SEC, TIME_OF_DAY_ABS_DIFF_LIMIT);
}
// ********************* utility *****************************
function randSeeded(seed) {
var x = Math.sin(seed) * 10000;
var retval = x - Math.floor(x);
console.log("randSeeded: with seed " + seed + ", returning val " + retval);
return retval;
}
function randomItemInArrayForDate(items) {
var rand = randSeededByDateInt();
return randomItemInArray(items, rand);
}
function randomItemInArray(items, rand) {
if (rand === undefined) {
rand = Math.random();
}
var item = items[Math.floor(rand*items.length)];
// console.log("randomItemInArray: with " + items.length + " items, and rand " + rand + ", returning item " + item);
return item;
}
function excerptForPush(origText) {
if (origText.length < MAX_ALERT_LENGTH) {
return origText;
} else {
return origText.substring(0, MAX_ALERT_LENGTH - 3) + "...";
}
}
// ********************* data ********************************
function getOpenCloseFromConditions(conditions_string) {
var opening_type, closing_type;
switch (conditions_string) {
case 'Heavy Drizzle':
case 'Rain':
case 'Heavy Rain':
case 'Snow':
case 'Light Snow':
case 'Heavy Snow':
case 'Snow Grains':
case 'Light Snow Grains':
case 'Heavy Snow Grains':
case 'Ice Crystals':
case 'Light Ice Crystals':
case 'Heavy Ice Crystals':
case 'Ice Pellets':
case 'Light Ice Pellets':
case 'Heavy Ice Pellets':
case 'Hail':
case 'Light Hail':
case 'Heavy Hail':
case 'Heavy Mist':
case 'Heavy Fog':
case 'Heavy Fog Patches':
case 'Smoke':
case 'Light Smoke':
case 'Heavy Smoke':
case 'Volcanic Ash':
case 'Light Volcanic Ash':
case 'Heavy Volcanic Ash':
case 'Widespread Dust':
case 'Light Widespread Dust':
case 'Heavy Widespread Dust':
case 'Sand':
case 'Light Sand':
case 'Heavy Sand':
case 'Heavy Spray':
case 'Dust Whirls':
case 'Light Dust Whirls':
case 'Heavy Dust Whirls':
case 'Sandstorm':
case 'Light Sandstorm':
case 'Heavy Sandstorm':
case 'Low Drifting Snow':
case 'Light Low Drifting Snow':
case 'Heavy Low Drifting Snow':
case 'Low Drifting Widespread Dust':
case 'Light Low Drifting Widespread Dust':
case 'Heavy Low Drifting Widespread Dust':
case 'Low Drifting Sand':
case 'Light Low Drifting Sand':
case 'Heavy Low Drifting Sand':
case 'Blowing Snow':
case 'Light Blowing Snow':
case 'Heavy Blowing Snow':
case 'Blowing Widespread Dust':
case 'Light Blowing Widespread Dust':
case 'Heavy Blowing Widespread Dust':
case 'Blowing Sand':
case 'Light Blowing Sand':
case 'Heavy Blowing Sand':
case 'Heavy Rain Mist':
case 'Rain Showers':
case 'Heavy Rain Showers':
case 'Snow Showers':
case 'Light Snow Showers':
case 'Heavy Snow Showers':
case 'Snow Blowing Snow Mist':
case 'Light Snow Blowing Snow Mist':
case 'Heavy Snow Blowing Snow Mist':
case 'Ice Pellet Showers':
case 'Light Ice Pellet Showers':
case 'Heavy Ice Pellet Showers':
case 'Hail Showers':
case 'Light Hail Showers':
case 'Heavy Hail Showers':
case 'Small Hail Showers':
case 'Light Small Hail Showers':
case 'Heavy Small Hail Showers':
case 'Thunderstorm':
case 'Light Thunderstorm':
case 'Heavy Thunderstorm':
case 'Thunderstorms and Rain':
case 'Light Thunderstorms and Rain':
case 'Heavy Thunderstorms and Rain':
case 'Thunderstorms and Snow':
case 'Light Thunderstorms and Snow':
case 'Heavy Thunderstorms and Snow':
case 'Thunderstorms and Ice Pellets':
case 'Light Thunderstorms and Ice Pellets':
case 'Heavy Thunderstorms and Ice Pellets':
case 'Thunderstorms with Hail':
case 'Light Thunderstorms with Hail':
case 'Heavy Thunderstorms with Hail':
case 'Thunderstorms with Small Hail':
case 'Light Thunderstorms with Small Hail':
case 'Heavy Thunderstorms with Small Hail':
case 'Freezing Drizzle':
case 'Light Freezing Drizzle':
case 'Heavy Freezing Drizzle':
case 'Freezing Rain':
case 'Light Freezing Rain':
case 'Heavy Freezing Rain':
case 'Freezing Fog':
case 'Light Freezing Fog':
case 'Heavy Freezing Fog':
case 'Small Hail':
case 'Squalls':
case 'Funnel Cloud':
opening_type = 'opening_sad';
closing_type = 'closing_sad';
break;
case 'Light Rain Showers':
case 'Rain Mist':
case 'Light Rain Mist':
case 'Spray':
case 'Light Spray':
case 'Haze':
case 'Light Haze':
case 'Heavy Haze':
case 'Fog Patches':
case 'Light Fog Patches':
case 'Fog':
case 'Light Fog':
case 'Mist':
case 'Light Mist':
case 'Light Rain':
case 'Drizzle':
case 'Light Drizzle':
case 'Patches of Fog':
case 'Shallow Fog':
case 'Partial Fog':
case 'Overcast':
case 'Mostly Cloudy':
case 'Unknown Precipitation':
case 'Unknown':
default:
opening_type = 'opening_soso';
closing_type = 'closing_soso';
break;
case 'Clear':
case 'Partly Cloudy':
case 'Scattered Clouds':
opening_type = 'opening_happy';
closing_type = 'closing_happy';
break;
}
console.log("getOpenCloseFromConditions: opening type is " + opening_type + ", closing type is " + closing_type);
var openClose = {
opening_str: randomStringTypeForDate(opening_type),
closing_str: randomStringTypeForDate(closing_type)
};
return openClose;
}
function randomStringTypeForDate(str_type) {
var candidates;
switch (str_type) {
case 'opening_happy':
{
candidates = ["Great news! ", "Wowza! ", "Not bad... ", "AWESOME! "];
break;
}
case 'opening_soso':
{
candidates = ["Mixed bag: ", "So-so out there. ", "Could be worse: ", "Meh... "];
break;
}
case 'opening_sad':
{
candidates = ["Oh no! ", "Ugh. ", "Bleh... ", "Crappy! "];
break;
}
case 'closing_happy':
{
candidates = [""];
break;
}
case 'closing_soso':
{
candidates = [""];
break;
}
case 'closing_sad':
{
candidates = [""];
break;
}
default:
{
candidates = ["I'm stumped. "];
break;
}
}
return randomItemInArrayForDate(candidates);
}
function synonymize(orig) {
return orig.replace(/(^|\s)([\w\d-]+)/g, function(match, whiteSpace, origWord) {
var synWord = synonym(origWord);
// console.log('synonym for ' + origWord + ' is ' + synWord);
return whiteSpace + synWord;
});
}
function capitalize(orig, rule) {
if (rule === undefined) rule = 'just_first_char_in_string';
var retstr = "";
switch (rule) {
case 'just_first_char_in_string':
{
retstr = orig.replace(/^(\s*)(\w)/g, function(match, whiteSpace, origWordStart) {
var capWordStart = origWordStart.toUpperCase();
return whiteSpace + capWordStart;
});
break;
}
case 'first_char_of_each_word':
{
retstr = orig.replace(/(^|\s)(\w)/g, function(match, whiteSpace, origWordStart) {
var capWordStart = origWordStart.toUpperCase();
return whiteSpace + capWordStart;
});
break;
}
default:
break;
}
// console.log('capital for ' + orig + ' is ' + retstr);
return retstr;
}
function synonym(orig) {
var synonyms = {
'humid': ['damp', 'sticky']
,'cold': ['arctic', 'tundraesque']
,'sun': ['el sol']
,'sunny': ['shiny']
,'clouds': ['clouds']
,'overnight': ['after midnight']
,'another': ['yet another']
,'mix': ['brew']
};
if (synonyms[orig] !== undefined) {
return randomItemInArray(synonyms[orig]);
}
if (synonyms[orig.toLowerCase()] !== undefined) {
return capitalize(randomItemInArray(synonyms[orig.toLowerCase()]));
}
return orig;
}
function representativeZip5(zip3) {
return repZip5s[zip3];
}
var repZip5s = {
"005": "00544",
"006": "00698",
"007": "00795",
"008": "00851",
"009": "00988",
"010": "01098",
"011": "01199",
"012": "01270",
"013": "01380",
"014": "01477",
"015": "01590",
"016": "01655",
"017": "01784",
"018": "01899",
"019": "01985",
"020": "02093",
"021": "02199",
"022": "02298",
"023": "02382",
"024": "02495",
"025": "02584",
"026": "02675",
"027": "02791",
"028": "02898",
"029": "02940",
"030": "03087",
"031": "03111",
"032": "03299",
"033": "03307",
"034": "03470",
"035": "03598",
"036": "03609",
"037": "03785",
"038": "03897",
"039": "03911",
"040": "04098",
"041": "04124",
"042": "04294",
"043": "04364",
"044": "04497",
"045": "04579",
"046": "04694",
"047": "04787",
"048": "04865",
"049": "04992",
"050": "05091",
"051": "05161",
"052": "05262",
"053": "05363",
"054": "05495",
"055": "05544",
"056": "05682",
"057": "05778",
"058": "05875",
"059": "05907",
"060": "06098",
"061": "06199",
"062": "06282",
"063": "06390",
"064": "06498",
"065": "06540",
"066": "06699",
"067": "06798",
"068": "06897",
"069": "06928",
"070": "07099",
"071": "07199",
"072": "07208",
"073": "07399",
"074": "07495",
"075": "07544",
"076": "07699",
"077": "07799",
"078": "07890",
"079": "07999",
"080": "08099",
"081": "08110",
"082": "08270",
"083": "08362",
"084": "08406",
"085": "08562",
"086": "08695",
"087": "08759",
"088": "08899",
"089": "08989",
"090": "09099",
"091": "09186",
"092": "09267",
"093": "09399",
"094": "09499",
"095": "09599",
"096": "09649",
"097": "09798",
"098": "09898",
"100": "10099",
"101": "10199",
"102": "10292",
"103": "10314",
"104": "10499",
"105": "10598",
"106": "10610",
"107": "10710",
"108": "10805",
"109": "10998",
"110": "11099",
"111": "11120",
"112": "11256",
"113": "11390",
"114": "11499",
"115": "11599",
"116": "11697",
"117": "11798",
"118": "11855",
"119": "11980",
"120": "12095",
"121": "12198",
"122": "12288",
"123": "12345",
"124": "12498",
"125": "12594",
"126": "12604",
"127": "12792",
"128": "12887",
"129": "12998",
"130": "13093",
"131": "13167",
"132": "13290",
"133": "13368",
"134": "13495",
"135": "13599",
"136": "13699",
"137": "13797",
"138": "13865",
"139": "13905",
"140": "14098",
"141": "14174",
"142": "14280",
"143": "14305",
"144": "14489",
"145": "14592",
"146": "14694",
"147": "14788",
"148": "14898",
"149": "14925",
"150": "15096",
"151": "15148",
"152": "15295",
"153": "15380",
"154": "15492",
"155": "15565",
"156": "15698",
"157": "15784",
"158": "15870",
"159": "15963",
"160": "16066",
"161": "16172",
"162": "16263",
"163": "16388",
"164": "16475",
"165": "16565",
"166": "16699",
"167": "16750",
"168": "16882",
"169": "16950",
"170": "17099",
"171": "17177",
"172": "17272",
"173": "17375",
"174": "17415",
"175": "17585",
"176": "17699",
"177": "17779",
"178": "17889",
"179": "17985",
"180": "18099",
"181": "18195",
"182": "18256",
"183": "18373",
"184": "18473",
"185": "18577",
"186": "18690",
"187": "18773",
"188": "18854",
"189": "18991",
"190": "19099",
"191": "19197",
"192": "19255",
"193": "19399",
"194": "19496",
"195": "19567",
"196": "19640",
"197": "19736",
"198": "19899",
"199": "19980",
"200": "20098",
"201": "20199",
"202": "20299",
"203": "20398",
"204": "20472",
"205": "20599",
"206": "20697",
"207": "20799",
"208": "20899",
"209": "20997",
"210": "21098",
"211": "21163",
"212": "21298",
"214": "21412",
"215": "21562",
"216": "21690",
"217": "21798",
"218": "21890",
"219": "21930",
"220": "22096",
"221": "22199",
"222": "22246",
"223": "22350",
"224": "22488",
"225": "22581",
"226": "22664",
"227": "22749",
"228": "22853",
"229": "22989",
"230": "23093",
"231": "23192",
"232": "23298",
"233": "23399",
"234": "23488",
"235": "23551",
"236": "23696",
"237": "23709",
"238": "23899",
"239": "23976",
"240": "24095",
"241": "24185",
"242": "24293",
"243": "24382",
"244": "24487",
"245": "24599",
"246": "24658",
"247": "24751",
"248": "24898",
"249": "24993",
"250": "25093",
"251": "25193",
"252": "25287",
"253": "25396",
"254": "25446",
"255": "25573",
"256": "25699",
"257": "25779",
"258": "25882",
"259": "25989",
"260": "26075",
"261": "26187",
"262": "26298",
"263": "26386",
"264": "26463",
"265": "26591",
"266": "26691",
"267": "26767",
"268": "26886",
"270": "27099",
"271": "27199",
"272": "27299",
"273": "27395",
"274": "27499",
"275": "27599",
"276": "27699",
"277": "27722",
"278": "27897",
"279": "27986",
"280": "28098",
"281": "28174",
"282": "28299",
"283": "28399",
"284": "28480",
"285": "28594",
"286": "28699",
"287": "28793",
"288": "28816",
"289": "28909",
"290": "29082",
"291": "29180",
"292": "29292",
"293": "29395",
"294": "29493",
"295": "29598",
"296": "29698",
"297": "29745",
"298": "29899",
"299": "29945",
"300": "30099",
"301": "30189",
"302": "30298",
"303": "30399",
"304": "30499",
"305": "30599",
"306": "30683",
"307": "30757",
"308": "30833",
"309": "30999",
"310": "31099",
"311": "31199",
"312": "31297",
"313": "31333",
"314": "31421",
"315": "31599",
"316": "31699",
"317": "31799",
"318": "31836",
"319": "31999",
"320": "32099",
"321": "32198",
"322": "32290",
"323": "32399",
"324": "32466",
"325": "32592",
"326": "32697",
"327": "32799",
"328": "32899",
"329": "32978",
"330": "33097",
"331": "33199",
"332": "33299",
"333": "33394",
"334": "33499",
"335": "33598",
"336": "33694",
"337": "33786",
"338": "33898",
"339": "33994",
"340": "34099",
"341": "34146",
"342": "34295",
"344": "34498",
"346": "34698",
"347": "34797",
"349": "34997",
"350": "35098",
"351": "35188",
"352": "35299",
"354": "35491",
"355": "35594",
"356": "35699",
"357": "35776",
"358": "35899",
"359": "35990",
"360": "36093",
"361": "36191",
"362": "36280",
"363": "36376",
"364": "36483",
"365": "36590",
"366": "36695",
"367": "36793",
"368": "36879",
"369": "36925",
"370": "37098",
"371": "37191",
"372": "37250",
"373": "37398",
"374": "37450",
"375": "37544",
"376": "37699",
"377": "37779",
"378": "37892",
"379": "37998",
"380": "38088",
"381": "38197",
"382": "38281",
"383": "38393",
"384": "38488",
"385": "38589",
"386": "38686",
"387": "38782",
"388": "38880",
"389": "38967",
"390": "39098",
"391": "39194",
"392": "39298",
"393": "39367",
"394": "39483",
"395": "39595",
"396": "39669",
"397": "39776",
"398": "39897",
"399": "39901",
"400": "40078",
"401": "40178",
"402": "40299",
"403": "40392",
"404": "40495",
"405": "40598",
"406": "40622",
"407": "40771",
"408": "40874",
"409": "40999",
"410": "41099",
"411": "41189",
"412": "41274",
"413": "41397",
"414": "41477",
"415": "41572",
"416": "41669",
"417": "41778",
"418": "41862",
"420": "42088",
"421": "42171",
"422": "42288",
"423": "42378",
"424": "42464",
"425": "42567",
"426": "42653",
"427": "42788",
"430": "43098",
"431": "43199",
"432": "43299",
"433": "43360",
"434": "43469",
"435": "43571",
"436": "43699",
"437": "43793",
"438": "43845",
"439": "43988",
"440": "44099",
"441": "44199",
"442": "44288",
"443": "44399",
"444": "44493",
"445": "44555",
"446": "44699",
"447": "44799",
"448": "44890",
"449": "44999",
"450": "45071",
"451": "45177",
"452": "45299",
"453": "45390",
"454": "45490",
"455": "45506",
"456": "45699",
"457": "45789",
"458": "45899",
"459": "45999",
"460": "46085",
"461": "46186",
"462": "46298",
"463": "46394",
"464": "46411",
"465": "46595",
"466": "46699",
"467": "46799",
"468": "46899",
"469": "46998",
"470": "47060",
"471": "47199",
"472": "47283",
"473": "47396",
"474": "47490",
"475": "47598",
"476": "47683",
"477": "47750",
"478": "47885",
"479": "47997",
"480": "48099",
"481": "48198",
"482": "48288",
"483": "48397",
"484": "48480",
"485": "48559",
"486": "48686",
"487": "48787",
"488": "48897",
"489": "48980",
"490": "49099",
"491": "49130",
"492": "49289",
"493": "49357",
"494": "49468",
"495": "49599",
"496": "49696",
"497": "49799",
"498": "49896",
"499": "49971",
"500": "50099",
"501": "50174",
"502": "50278",
"503": "50398",
"504": "50484",
"505": "50599",
"506": "50682",
"507": "50707",
"508": "50864",
"509": "50983",
"510": "51063",
"511": "51111",
"512": "51250",
"513": "51366",
"514": "51467",
"515": "51593",
"516": "51656",
"520": "52099",
"521": "52175",
"522": "52257",
"523": "52362",
"524": "52499",
"525": "52595",
"526": "52660",
"527": "52778",
"528": "52809",
"530": "53099",
"531": "53199",
"532": "53295",
"534": "53408",
"535": "53599",
"537": "53794",
"538": "53827",
"539": "53969",
"540": "54082",
"541": "54182",
"542": "54247",
"543": "54344",
"544": "54499",
"545": "54568",
"546": "54670",
"547": "54774",
"548": "54896",
"549": "54990",
"550": "55092",
"551": "55191",
"553": "55399",
"554": "55488",
"555": "55599",
"556": "55616",
"557": "55798",
"558": "55816",
"559": "55992",
"560": "56098",
"561": "56187",
"562": "56297",
"563": "56399",
"564": "56484",
"565": "56594",
"566": "56688",
"567": "56763",
"569": "56972",
"570": "57079",
"571": "57198",
"572": "57279",
"573": "57399",
"574": "57481",
"575": "57585",
"576": "57661",
"577": "57799",
"580": "58081",
"581": "58126",
"582": "58282",
"583": "58386",
"584": "58497",
"585": "58581",
"586": "58656",
"587": "58795",
"588": "58856",
"590": "59089",
"591": "59117",
"592": "59276",
"593": "59354",
"594": "59489",
"595": "59547",
"596": "59648",
"597": "59773",
"598": "59875",
"599": "59937",
"600": "60099",
"601": "60199",
"602": "60290",
"603": "60399",
"604": "60499",
"605": "60599",
"606": "60699",
"607": "60714",
"608": "60827",
"609": "60974",
"610": "61091",
"611": "61132",
"612": "61299",
"613": "61379",
"614": "61491",
"615": "61572",
"616": "61656",
"617": "61799",
"618": "61884",
"619": "61957",
"620": "62098",
"622": "62298",
"623": "62380",
"624": "62481",
"625": "62573",
"626": "62695",
"627": "62796",
"628": "62899",
"629": "62999",
"630": "63099",
"631": "63199",
"633": "63390",
"634": "63474",
"635": "63567",
"636": "63675",
"637": "63787",
"638": "63882",
"639": "63967",
"640": "64098",
"641": "64199",
"644": "64499",
"645": "64508",
"646": "64689",
"647": "64790",
"648": "64874",
"649": "64999",
"650": "65085",
"651": "65111",
"652": "65299",
"653": "65360",
"654": "65486",
"655": "65591",
"656": "65692",
"657": "65793",
"658": "65899",
"660": "66097",
"661": "66160",
"662": "66286",
"664": "66451",
"665": "66554",
"666": "66699",
"667": "66783",
"668": "66873",
"669": "66970",
"670": "67074",
"671": "67159",
"672": "67278",
"673": "67364",
"674": "67492",
"675": "67585",
"676": "67675",
"677": "67764",
"678": "67882",
"679": "67954",
"680": "68073",
"681": "68198",
"683": "68382",
"684": "68467",
"685": "68588",
"686": "68669",
"687": "68792",
"688": "68883",
"689": "68982",
"690": "69046",
"691": "69190",
"692": "69221",
"693": "69367",
"700": "70097",
"701": "70195",
"703": "70397",
"704": "70471",
"705": "70598",
"706": "70669",
"707": "70792",
"708": "70898",
"710": "71082",
"711": "71172",
"712": "71295",
"713": "71378",
"714": "71497",
"716": "71678",
"717": "71772",
"718": "71866",
"719": "71999",
"720": "72099",
"721": "72199",
"722": "72295",
"723": "72396",
"724": "72482",
"725": "72587",
"726": "72687",
"727": "72776",
"728": "72865",
"729": "72959",
"730": "73099",
"731": "73199",
"733": "73344",
"734": "73491",
"735": "73573",
"736": "73673",
"737": "73773",
"738": "73860",
"739": "73951",
"740": "74085",
"741": "74194",
"743": "74370",
"744": "74477",
"745": "74578",
"746": "74653",
"747": "74766",
"748": "74884",
"749": "74966",
"750": "75099",
"751": "75189",
"752": "75287",
"753": "75398",
"754": "75497",
"755": "75599",
"756": "75694",
"757": "75799",
"758": "75886",
"759": "75990",
"760": "76099",
"761": "76199",
"762": "76299",
"763": "76389",
"764": "76491",
"765": "76599",
"766": "76693",
"767": "76799",
"768": "76890",
"769": "76958",
"770": "77099",
"772": "77299",
"773": "77399",
"774": "77498",
"775": "77598",
"776": "77670",
"777": "77726",
"778": "77882",
"779": "77995",
"780": "78076",
"781": "78164",
"782": "78299",
"783": "78393",
"784": "78480",
"785": "78599",
"786": "78691",
"787": "78799",
"788": "78886",
"789": "78963",
"790": "79098",
"791": "79189",
"792": "79261",
"793": "79383",
"794": "79499",
"795": "79567",
"796": "79699",
"797": "79789",
"798": "79855",
"799": "79999",
"800": "80047",
"801": "80166",
"802": "80299",
"803": "80329",
"804": "80498",
"805": "80553",
"806": "80654",
"807": "80759",
"808": "80866",
"809": "80997",
"810": "81092",
"811": "81157",
"812": "81290",
"813": "81335",
"814": "81435",
"815": "81527",
"816": "81658",
"820": "82084",
"821": "82190",
"822": "82244",
"823": "82336",
"824": "82450",
"825": "82524",
"826": "82649",
"827": "82732",
"828": "82845",
"829": "82945",
"830": "83025",
"831": "83128",
"832": "83287",
"833": "83355",
"834": "83469",
"835": "83555",
"836": "83687",
"837": "83799",
"838": "83877",
"840": "84098",
"841": "84199",
"842": "84244",
"843": "84341",
"844": "84415",
"845": "84542",
"846": "84667",
"847": "84791",
"850": "85099",
"851": "85194",
"852": "85299",
"853": "85396",
"855": "85554",
"856": "85671",
"857": "85777",
"859": "85942",
"860": "86054",
"863": "86351",
"864": "86446",
"865": "86556",
"870": "87083",
"871": "87199",
"873": "87375",
"874": "87499",
"875": "87594",
"877": "87753",
"878": "87832",
"879": "87943",
"880": "88081",
"881": "88136",
"882": "88268",
"883": "88355",
"884": "88439",
"885": "88595",
"889": "88905",
"890": "89087",
"891": "89199",
"893": "89319",
"894": "89496",
"895": "89599",
"897": "89721",
"898": "89883",
"900": "90099",
"901": "90189",
"902": "90296",
"903": "90398",
"904": "90411",
"905": "90510",
"906": "90680",
"907": "90755",
"908": "90899",
"910": "91077",
"911": "91199",
"912": "91226",
"913": "91399",
"914": "91499",
"915": "91526",
"916": "91618",
"917": "91799",
"918": "91899",
"919": "91990",
"920": "92096",
"921": "92199",
"922": "92292",
"923": "92399",
"924": "92427",
"925": "92599",
"926": "92698",
"927": "92799",
"928": "92899",
"930": "93099",
"931": "93199",
"932": "93292",
"933": "93390",
"934": "93483",
"935": "93599",
"936": "93675",
"937": "93794",
"938": "93888",
"939": "93962",
"940": "94089",
"941": "94199",
"942": "94299",
"943": "94309",
"944": "94497",
"945": "94599",
"946": "94666",
"947": "94720",
"948": "94850",
"949": "94999",
"950": "95077",
"951": "95196",
"952": "95297",
"953": "95397",
"954": "95497",
"955": "95595",
"956": "95699",
"957": "95799",
"958": "95899",
"959": "95993",
"960": "96099",
"961": "96162",
"962": "96297",
"963": "96388",
"964": "96447",
"965": "96599",
"966": "96698",
"967": "96799",
"968": "96898",
"969": "96970",
"970": "97089",
"971": "97149",
"972": "97299",
"973": "97396",
"974": "97499",
"975": "97544",
"976": "97641",
"977": "97761",
"978": "97886",
"979": "97920",
"980": "98093",
"981": "98199",
"982": "98297",
"983": "98398",
"984": "98499",
"985": "98599",
"986": "98687",
"988": "98862",
"989": "98953",
"990": "99040",
"991": "99185",
"992": "99299",
"993": "99371",
"994": "99403",
"995": "99599",
"996": "99697",
"997": "99791",
"998": "99850",
"999": "99950"
};
function utcOffsetForZip3(zip3) {
return zip3TimeZones[zip3]["dst_utc_diff"];
}
var zip3TimeZones = {
"005": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Holtsville"}
,"010": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Agawam"}
,"011": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Indian_Orchard"}
,"012": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Adams"}
,"013": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Ashfield"}
,"014": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Ashburnham"}
,"015": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Auburn"}
,"016": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Cherry_Valley"}
,"017": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Acton"}
,"018": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Andover"}
,"019": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Amesbury"}
,"020": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Accord"}
,"021": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Allston"}
,"022": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Boston"}
,"023": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Abington"}
,"024": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Arlington"}
,"025": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Buzzards_Bay"}
,"026": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Barnstable"}
,"027": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Acushnet"}
,"028": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "RI", "eg_city": "Adamsville"}
,"029": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "RI", "eg_city": "Cranston"}
,"030": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Amherst"}
,"031": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Bedford"}
,"032": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Andover"}
,"033": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Bow"}
,"034": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Antrim"}
,"035": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Berlin"}
,"036": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Acworth"}
,"037": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Bath"}
,"038": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NH", "eg_city": "Alton"}
,"039": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Berwick"}
,"040": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Acton"}
,"041": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Cape_Elizabeth"}
,"042": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Andover"}
,"043": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Augusta"}
,"044": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Abbot"}
,"045": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Alna"}
,"046": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Addison"}
,"047": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Ashland"}
,"048": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Camden"}
,"049": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "ME", "eg_city": "Albion"}
,"050": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Ascutney"}
,"051": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Bellows_Falls"}
,"052": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Arlington"}
,"053": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Bondville"}
,"054": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Alburg"}
,"055": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MA", "eg_city": "Andover"}
,"056": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Adamant"}
,"057": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Belmont"}
,"058": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Albany"}
,"059": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VT", "eg_city": "Averill"}
,"060": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Avon"}
,"061": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "East_Hartford"}
,"062": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Abington"}
,"063": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Baltic"}
,"064": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Ansonia"}
,"065": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Bethany"}
,"066": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Bridgeport"}
,"067": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Bantam"}
,"068": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Bethel"}
,"069": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "CT", "eg_city": "Stamford"}
,"070": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Avenel"}
,"071": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Belleville"}
,"072": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Elizabeth"}
,"073": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Jersey_City"}
,"074": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Allendale"}
,"075": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Haledon"}
,"076": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Alpine"}
,"077": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Adelphia"}
,"078": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Allamuchy"}
,"079": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Basking_Ridge"}
,"080": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Alloway"}
,"081": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Audubon"}
,"082": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Absecon"}
,"083": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Bridgeton"}
,"084": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Atlantic_City"}
,"085": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Allentown"}
,"086": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Fort_Dix"}
,"087": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Allenwood"}
,"088": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Annandale"}
,"089": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NJ", "eg_city": "Highland_Park"}
,"100": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"101": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"102": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"103": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"104": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"105": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Amawalk"}
,"106": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "West_Harrison"}
,"107": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Bronxville"}
,"108": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_Rochelle"}
,"109": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Arden"}
,"110": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Elmont"}
,"111": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"112": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"113": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"114": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"115": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Albertson"}
,"116": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "New_York"}
,"117": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Amityville"}
,"118": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Hicksville"}
,"119": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Amagansett"}
,"120": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Alcove"}
,"121": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Kinderhook"}
,"122": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Albany"}
,"123": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Schenectady"}
,"124": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Accord"}
,"125": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Amenia"}
,"126": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Poughkeepsie"}
,"127": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Barryville"}
,"128": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Adirondack"}
,"129": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Altona"}
,"130": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Apulia_Station"}
,"131": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Georgetown"}
,"132": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Syracuse"}
,"133": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Alder_Creek"}
,"134": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Madison"}
,"135": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Utica"}
,"136": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Adams"}
,"137": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Afton"}
,"138": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Maine"}
,"139": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Binghamton"}
,"140": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Akron"}
,"141": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Machias"}
,"142": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Buffalo"}
,"143": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Niagara_Falls"}
,"144": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Adams_Basin"}
,"145": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Macedon"}
,"146": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Rochester"}
,"147": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Allegany"}
,"148": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Addison"}
,"149": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NY", "eg_city": "Elmira"}
,"150": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Aliquippa"}
,"151": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Allison_Park"}
,"152": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Pittsburgh"}
,"153": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Aleppo"}
,"154": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Adah"}
,"155": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Acosta"}
,"156": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Acme"}
,"157": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Alverda"}
,"158": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Benezette"}
,"159": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Armagh"}
,"160": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Boyers"}
,"161": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Adamsville"}
,"162": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Adrian"}
,"163": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Carlton"}
,"164": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Albion"}
,"165": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Erie"}
,"166": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Alexandria"}
,"167": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Austin"}
,"168": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Aaronsburg"}
,"169": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Alba"}
,"170": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Allensville"}
,"171": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Harrisburg"}
,"172": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Amberson"}
,"173": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Abbottstown"}
,"174": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "York"}
,"175": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Akron"}
,"176": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Lancaster"}
,"177": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Antes_Fort"}
,"178": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Allenwood"}
,"179": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Aristes"}
,"180": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Ackermanville"}
,"181": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Allentown"}
,"182": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Albrightsville"}
,"183": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Analomink"}
,"184": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Aldenville"}
,"185": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Dickson_City"}
,"186": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Beach_Haven"}
,"187": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Kingston"}
,"188": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Athens"}
,"189": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Bedminster"}
,"190": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Abington"}
,"191": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Philadelphia"}
,"192": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Philadelphia"}
,"193": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Atglen"}
,"194": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Arcola"}
,"195": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Adamstown"}
,"196": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "PA", "eg_city": "Reading"}
,"197": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DE", "eg_city": "Bear"}
,"198": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DE", "eg_city": "Wilmington"}
,"199": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DE", "eg_city": "Bethany_Beach"}
,"200": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DC", "eg_city": "Washington"}
,"201": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Aldie"}
,"202": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DC", "eg_city": "Washington"}
,"203": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DC", "eg_city": "Naval_Anacost_Annex"}
,"204": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DC", "eg_city": "Washington"}
,"205": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Columbia"}
,"206": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Abell"}
,"207": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Annapolis_Junction"}
,"208": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Ashton"}
,"209": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Silver_Spring"}
,"210": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Aberdeen"}
,"211": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Crofton"}
,"212": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Baltimore"}
,"214": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Annapolis"}
,"215": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Accident"}
,"216": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Barclay"}
,"217": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Adamstown"}
,"218": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Allen"}
,"219": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MD", "eg_city": "Cecilton"}
,"220": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Annandale"}
,"221": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Lorton"}
,"222": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Arlington"}
,"223": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Alexandria"}
,"224": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Bowling_Green"}
,"225": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Ladysmith"}
,"226": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Bentonville"}
,"227": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Aroda"}
,"228": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Basye"}
,"229": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Afton"}
,"230": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Achilles"}
,"231": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Macon"}
,"232": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Richmond"}
,"233": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Accomac"}
,"234": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Keller"}
,"235": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Norfolk"}
,"236": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Fort_Eustis_Miltary_Reservation"}
,"237": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Portsmouth"}
,"238": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Alberta"}
,"239": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Baskerville"}
,"240": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Ararat"}
,"241": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Hardy"}
,"242": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Abingdon"}
,"243": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Atkins"}
,"244": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Augusta_Springs"}
,"245": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Altavista"}
,"246": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "VA", "eg_city": "Amonate"}
,"247": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Athens"}
,"248": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Anawalt"}
,"249": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Alderson"}
,"250": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Alloy"}
,"251": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Handley"}
,"252": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Advent"}
,"253": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Charleston"}
,"254": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Bakerton"}
,"255": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Alkol"}
,"256": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Accoville"}
,"257": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Huntington"}
,"258": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Allen_Junction"}
,"259": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Charmco"}
,"260": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Beech_Bottom"}
,"261": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Belleville"}
,"262": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Adrian"}
,"263": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Alma"}
,"264": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Meadowbrook"}
,"265": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Albright"}
,"266": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Belva"}
,"267": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Augusta"}
,"268": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "WV", "eg_city": "Baker"}
,"270": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Advance"}
,"271": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Winston-Salem"}
,"272": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Alamance"}
,"273": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Greensboro"}
,"274": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Greensboro"}
,"275": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Angier"}
,"276": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Raleigh"}
,"277": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Durham"}
,"278": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Aulander"}
,"279": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Ahoskie"}
,"280": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Albemarle"}
,"281": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Marshville"}
,"282": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Charlotte"}
,"283": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Aberdeen"}
,"284": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Ash"}
,"285": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Albertson"}
,"286": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Banner_Elk"}
,"287": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Alexander"}
,"288": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Asheville"}
,"289": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "NC", "eg_city": "Andrews"}
,"290": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Alcolu"}
,"291": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Manning"}
,"292": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Columbia"}
,"293": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Arcadia"}
,"294": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Adams_Run"}
,"295": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Andrews"}
,"296": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Abbeville"}
,"297": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Blacksburg"}
,"298": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Aiken"}
,"299": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "SC", "eg_city": "Beaufort"}
,"300": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Alpharetta"}
,"301": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Acworth"}
,"302": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Barnesville"}
,"303": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Atlanta"}
,"304": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Ailey"}
,"305": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Alto"}
,"306": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Arnoldsville"}
,"307": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Calhoun"}
,"308": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Appling"}
,"309": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Augusta"}
,"310": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Abbeville"}
,"311": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Atlanta"}
,"312": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Macon"}
,"313": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Allenhurst"}
,"314": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Savannah"}
,"315": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Alma"}
,"316": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Adel"}
,"317": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Albany"}
,"318": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Box_Springs"}
,"319": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Columbus"}
,"320": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Bostwick"}
,"321": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Astor"}
,"322": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Atlantic_Beach"}
,"323": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Apalachicola"}
,"324": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "FL", "eg_city": "Alford"}
,"325": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "FL", "eg_city": "Bagdad"}
,"326": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Alachua"}
,"327": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Altamonte_Springs"}
,"328": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Orlando"}
,"329": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Cape_Canaveral"}
,"330": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Big_Pine_Key"}
,"331": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Key_Biscayne"}
,"332": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Miami"}
,"333": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Fort_Lauderdale"}
,"334": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Belle_Glade"}
,"335": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Apollo_Beach"}
,"336": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Tampa"}
,"337": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Bay_Pines"}
,"338": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Alturas"}
,"339": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Alva"}
,"341": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Bonita_Springs"}
,"342": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Anna_Maria"}
,"344": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Belleview"}
,"346": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Aripeka"}
,"347": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Astatula"}
,"349": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "FL", "eg_city": "Fort_Pierce"}
,"350": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Adamsville"}
,"351": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Margaret"}
,"352": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Birmingham"}
,"354": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Abernant"}
,"355": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Addison"}
,"356": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Anderson"}
,"357": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Ardmore"}
,"358": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Huntsville"}
,"359": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Albertville"}
,"360": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Autaugaville"}
,"361": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Montgomery"}
,"362": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Alexandria"}
,"363": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Abbeville"}
,"364": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Andalusia"}
,"365": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Alma"}
,"366": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Eight_Mile"}
,"367": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Alberta"}
,"368": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Auburn"}
,"369": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AL", "eg_city": "Bellamy"}
,"370": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Adams"}
,"371": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Madison"}
,"372": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Nashville"}
,"373": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Altamont"}
,"374": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "TN", "eg_city": "Chattanooga"}
,"375": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Memphis"}
,"376": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "TN", "eg_city": "Afton"}
,"377": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "TN", "eg_city": "Alcoa"}
,"378": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "TN", "eg_city": "Maryville"}
,"379": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "TN", "eg_city": "Knoxville"}
,"380": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Alamo"}
,"381": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Germantown"}
,"382": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Atwood"}
,"383": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Adamsville"}
,"384": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Ardmore"}
,"385": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TN", "eg_city": "Allardt"}
,"386": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Abbeville"}
,"387": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Alligator"}
,"388": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Algoma"}
,"389": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Avalon"}
,"390": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Belzoni"}
,"391": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Madden"}
,"392": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Byram"}
,"393": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Bailey"}
,"394": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Bassfield"}
,"395": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Bay_St._Louis"}
,"396": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Bogue_Chitto"}
,"397": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MS", "eg_city": "Aberdeen"}
,"398": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Arlington"}
,"399": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "GA", "eg_city": "Atlanta"}
,"400": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Bagdad"}
,"401": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Battletown"}
,"402": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Louisville"}
,"403": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Burgin"}
,"404": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Annville"}
,"405": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Lexington"}
,"406": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Frankfort"}
,"407": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Bush"}
,"408": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Ages"}
,"409": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Arjay"}
,"410": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Alexandria"}
,"411": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Argillite"}
,"412": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Adams"}
,"413": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Athol"}
,"414": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Cannel_City"}
,"415": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Ashcamp"}
,"416": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Allen"}
,"417": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Ary"}
,"418": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Blackey"}
,"420": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Almo"}
,"421": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Adolphus"}
,"422": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Aberdeen"}
,"423": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Beaver_Dam"}
,"424": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Baskett"}
,"425": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Bethelridge"}
,"426": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Albany"}
,"427": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "KY", "eg_city": "Bakerton"}
,"430": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Alexandria"}
,"431": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Adelphi"}
,"432": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Columbus"}
,"433": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Belle_Center"}
,"434": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Bowling_Green"}
,"435": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Alvordton"}
,"436": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Northwood"}
,"437": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Ava"}
,"438": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Adamsville"}
,"439": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Adena"}
,"440": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Amherst"}
,"441": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Bay_Village"}
,"442": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Atwater"}
,"443": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Akron"}
,"444": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Berlin_Center"}
,"445": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Youngstown"}
,"446": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Alliance"}
,"447": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Canton"}
,"448": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Alvada"}
,"449": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Mansfield"}
,"450": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Addyston"}
,"451": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Aberdeen"}
,"452": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Cincinnati"}
,"453": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Alpha"}
,"454": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Dayton"}
,"455": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Springfield"}
,"456": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Bainbridge"}
,"457": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Albany"}
,"458": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Ada"}
,"459": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "OH", "eg_city": "Cincinnati"}
,"460": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Alexandria"}
,"461": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Advance"}
,"462": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Indianapolis"}
,"463": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Beverly_Shores"}
,"464": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Gary"}
,"465": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Argos"}
,"466": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "South_Bend"}
,"467": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Albion"}
,"468": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Fort_Wayne"}
,"469": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Akron"}
,"470": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Aurora"}
,"471": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Austin"}
,"472": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Brownstown"}
,"473": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Albany"}
,"474": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Avoca"}
,"475": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Bicknell"}
,"476": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IN", "eg_city": "Boonville"}
,"477": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Evansville"}
,"478": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Bellmore"}
,"479": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "IN", "eg_city": "Alamo"}
,"480": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Algonac"}
,"481": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Allen_Park"}
,"482": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Detroit"}
,"483": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Auburn_Hills"}
,"484": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Applegate"}
,"485": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Burton"}
,"486": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Alger"}
,"487": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Akron"}
,"488": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Alma"}
,"489": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Lansing"}
,"490": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Allegan"}
,"491": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Baroda"}
,"492": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Addison"}
,"493": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Ada"}
,"494": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Allendale"}
,"495": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Grand_Rapids"}
,"496": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Acme"}
,"497": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Afton"}
,"498": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Allouez"}
,"499": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "MI", "eg_city": "Ahmeek"}
,"500": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Ackworth"}
,"501": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Galt"}
,"502": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Gifford"}
,"503": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Clive"}
,"504": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Alexander"}
,"505": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Albert_City"}
,"506": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Ackley"}
,"507": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Evansdale"}
,"508": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Afton"}
,"509": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Des_Moines"}
,"510": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Akron"}
,"511": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Sioux_City"}
,"512": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Alvord"}
,"513": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Arnolds_Park"}
,"514": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Arcadia"}
,"515": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Arion"}
,"516": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Blanchard"}
,"520": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Andrew"}
,"521": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Calmar"}
,"522": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Ainsworth"}
,"523": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Marengo"}
,"524": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Cedar_Rapids"}
,"525": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Agency"}
,"526": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Argyle"}
,"527": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Andover"}
,"528": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IA", "eg_city": "Davenport"}
,"530": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Adell"}
,"531": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Bassett"}
,"532": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Milwaukee"}
,"534": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Racine"}
,"535": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Afton"}
,"537": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Madison"}
,"538": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Bagley"}
,"539": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Adams"}
,"540": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Amery"}
,"541": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Abrams"}
,"542": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Algoma"}
,"543": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Green_Bay"}
,"544": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Abbotsford"}
,"545": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Argonne"}
,"546": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Alma"}
,"547": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Altoona"}
,"548": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Almena"}
,"549": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "WI", "eg_city": "Almond"}
,"550": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Afton"}
,"551": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Mendota"}
,"553": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Albertville"}
,"554": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Minneapolis"}
,"555": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Howard_Lake"}
,"556": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Beaver_Bay"}
,"557": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Adolph"}
,"558": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Duluth"}
,"559": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Adams"}
,"560": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Albert_Lea"}
,"561": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Adrian"}
,"562": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Alberta"}
,"563": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Albany"}
,"564": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Ah-Gwah-Ching"}
,"565": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Ada"}
,"566": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Bagley"}
,"567": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MN", "eg_city": "Alvarado"}
,"569": {"std_tz": "EST", "std_utc_diff": -5, "dst_tz": "EDT", "dst_utc_diff": -4, "state": "DC", "eg_city": "Washington"}
,"570": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Alcester"}
,"571": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Sioux_Falls"}
,"572": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Arlington"}
,"573": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Alexandria"}
,"574": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Aberdeen"}
,"575": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "SD", "eg_city": "Agar"}
,"576": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "SD", "eg_city": "Bison"}
,"577": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "SD", "eg_city": "Allen"}
,"580": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Abercrombie"}
,"581": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Fargo"}
,"582": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Adams"}
,"583": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Agate"}
,"584": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Ashley"}
,"585": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ND", "eg_city": "Almont"}
,"586": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ND", "eg_city": "Amidon"}
,"587": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Anamoose"}
,"588": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "ND", "eg_city": "Alamo"}
,"590": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Absarokee"}
,"591": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Billings"}
,"592": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Antelope"}
,"593": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Alzada"}
,"594": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Augusta"}
,"595": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Big_Sandy"}
,"596": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Basin"}
,"597": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Alder"}
,"598": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Alberton"}
,"599": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "MT", "eg_city": "Big_Arm"}
,"600": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Alden"}
,"601": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Addison"}
,"602": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Chicago"}
,"603": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Franklin_Park"}
,"604": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Bedford_Park"}
,"605": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Aurora"}
,"606": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Chicago"}
,"607": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Elmwood_Park"}
,"608": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Alsip"}
,"609": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Aroma_Park"}
,"610": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Apple_River"}
,"611": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Loves_Park"}
,"612": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Albany"}
,"613": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Amboy"}
,"614": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Abingdon"}
,"615": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Astoria"}
,"616": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Creve_Coeur"}
,"617": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Anchor"}
,"618": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Allerton"}
,"619": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Arcola"}
,"620": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Alhambra"}
,"622": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Addieville"}
,"623": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Adrian"}
,"624": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Allendale"}
,"625": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Argenta"}
,"626": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Alexander"}
,"627": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Springfield"}
,"628": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Akin"}
,"629": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "IL", "eg_city": "Alto_Pass"}
,"630": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Allenton"}
,"631": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "St._Louis"}
,"633": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Annada"}
,"634": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Alexandria"}
,"635": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Atlanta"}
,"636": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Annapolis"}
,"637": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Advance"}
,"638": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Anniston"}
,"639": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Briar"}
,"640": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Alma"}
,"641": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Kansas_City"}
,"644": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Agency"}
,"645": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "St._Joseph"}
,"646": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Altamont"}
,"647": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Adrian"}
,"648": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Alba"}
,"649": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Kansas_City"}
,"650": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Argyle"}
,"651": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Jefferson_City"}
,"652": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Armstrong"}
,"653": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Arrow_Rock"}
,"654": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Beulah"}
,"655": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Jadwin"}
,"656": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Aldrich"}
,"657": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Macks_Creek"}
,"658": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "MO", "eg_city": "Springfield"}
,"660": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Atchison"}
,"661": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Edwardsville"}
,"662": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Leawood"}
,"664": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Alma"}
,"665": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Manhattan"}
,"666": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Topeka"}
,"667": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Altoona"}
,"668": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Admire"}
,"669": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Agenda"}
,"670": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Andale"}
,"671": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Maize"}
,"672": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Wichita"}
,"673": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Altamont"}
,"674": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Abilene"}
,"675": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Abbyville"}
,"676": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Agra"}
,"677": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Atwood"}
,"678": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Ashland"}
,"679": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "KS", "eg_city": "Elkhart"}
,"680": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Abie"}
,"681": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Bellevue"}
,"683": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Adams"}
,"684": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Malcolm"}
,"685": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Lincoln"}
,"686": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Albion"}
,"687": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Allen"}
,"688": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Alda"}
,"689": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Alma"}
,"690": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Bartley"}
,"691": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Arnold"}
,"692": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "NE", "eg_city": "Ainsworth"}
,"693": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NE", "eg_city": "Alliance"}
,"700": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Ama"}
,"701": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "New_Orleans"}
,"703": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Amelia"}
,"704": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Abita_Springs"}
,"705": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Abbeville"}
,"706": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Bell_City"}
,"707": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Addis"}
,"708": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Baton_Rouge"}
,"710": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Arcadia"}
,"711": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Bossier_City"}
,"712": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Archibald"}
,"713": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Acme"}
,"714": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "LA", "eg_city": "Aimwell"}
,"716": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Arkansas_City"}
,"717": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Bearden"}
,"718": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alleene"}
,"719": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alpine"}
,"720": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Adona"}
,"721": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Benton"}
,"722": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Little_Rock"}
,"723": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Armorel"}
,"724": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alicia"}
,"725": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Ash_Flat"}
,"726": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alpena"}
,"727": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Avoca"}
,"728": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alix"}
,"729": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "AR", "eg_city": "Alma"}
,"730": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Albert"}
,"731": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Oklahoma_City"}
,"733": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Austin"}
,"734": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Ardmore"}
,"735": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Addington"}
,"736": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Arapaho"}
,"737": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Aline"}
,"738": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Arnett"}
,"739": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Adams"}
,"740": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Avant"}
,"741": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Tulsa"}
,"743": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Adair"}
,"744": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Beggs"}
,"745": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Albion"}
,"746": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Billings"}
,"747": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Achille"}
,"748": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Ada"}
,"749": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "OK", "eg_city": "Arkoma"}
,"750": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Addison"}
,"751": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Bardwell"}
,"752": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Dallas"}
,"753": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Dallas"}
,"754": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alba"}
,"755": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Annona"}
,"756": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Avinger"}
,"757": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Arp"}
,"758": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Buffalo"}
,"759": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alto"}
,"760": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Aledo"}
,"761": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Fort_Worth"}
,"762": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alvord"}
,"763": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Archer_City"}
,"764": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Albany"}
,"765": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Bartlett"}
,"766": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Abbott"}
,"767": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Waco"}
,"768": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Art"}
,"769": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Barnhart"}
,"770": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Houston"}
,"772": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Houston"}
,"773": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Ace"}
,"774": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alief"}
,"775": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alvin"}
,"776": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Bridge_City"}
,"777": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Beaumont"}
,"778": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Anderson"}
,"779": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Austwell"}
,"780": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Artesia_Wells"}
,"781": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Adkins"}
,"782": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "San_Antonio"}
,"783": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Agua_Dulce"}
,"784": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Corpus_Christi"}
,"785": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alamo"}
,"786": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Bastrop"}
,"787": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Austin"}
,"788": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Asherton"}
,"789": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alleyton"}
,"790": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Adrian"}
,"791": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Amarillo"}
,"792": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Afton"}
,"793": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Abernathy"}
,"794": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Lubbock"}
,"795": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Anson"}
,"796": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Abilene"}
,"797": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Ackerly"}
,"798": {"std_tz": "CST", "std_utc_diff": -6, "dst_tz": "CDT", "dst_utc_diff": -5, "state": "TX", "eg_city": "Alpine"}
,"799": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "TX", "eg_city": "El_Paso"}
,"800": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Arvada"}
,"801": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Agate"}
,"802": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Denver"}
,"803": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Boulder"}
,"804": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Alma"}
,"805": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Allenspark"}
,"806": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Ault"}
,"807": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Akron"}
,"808": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Anton"}
,"809": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Colorado_Springs"}
,"810": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Aguilar"}
,"811": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Alamosa"}
,"812": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Almont"}
,"813": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Cahone"}
,"814": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Austin"}
,"815": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Clifton"}
,"816": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "CO", "eg_city": "Aspen"}
,"820": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Albin"}
,"821": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "NULL"}
,"822": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Chugwater"}
,"823": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Baggs"}
,"824": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Basin"}
,"825": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Arapahoe"}
,"826": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Alcova"}
,"827": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Aladdin"}
,"828": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Arvada"}
,"829": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Bondurant"}
,"830": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Jackson"}
,"831": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Afton"}
,"832": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ID", "eg_city": "Aberdeen"}
,"833": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ID", "eg_city": "Albion"}
,"834": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "WY", "eg_city": "Alta"}
,"835": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "ID", "eg_city": "Ahsahka"}
,"836": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ID", "eg_city": "Atlanta"}
,"837": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "ID", "eg_city": "Boise"}
,"838": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "ID", "eg_city": "Athol"}
,"840": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Alpine"}
,"841": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Salt_Lake_City"}
,"842": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Ogden"}
,"843": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Bear_River_City"}
,"844": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Ogden"}
,"845": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Aneth"}
,"846": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Aurora"}
,"847": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "UT", "eg_city": "Alton"}
,"850": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "New_River"}
,"851": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Apache_Junction"}
,"852": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Apache_Junction"}
,"853": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Aguila"}
,"855": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Bylas"}
,"856": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "AZ", "eg_city": "Amado"}
,"857": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Catalina"}
,"859": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "AZ", "eg_city": "Alpine"}
,"860": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Bellemont"}
,"863": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Ash_Fork"}
,"864": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MST", "dst_utc_diff": -7, "state": "AZ", "eg_city": "Bullhead_City"}
,"865": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "AZ", "eg_city": "Blue_Gap"}
,"870": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Algodones"}
,"871": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Albuquerque"}
,"873": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Brimhall"}
,"874": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Aztec"}
,"875": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Abiquiu"}
,"877": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Angel_Fire"}
,"878": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Aragon"}
,"879": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Arrey"}
,"880": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Animas"}
,"881": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Broadview"}
,"882": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Artesia"}
,"883": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Alamogordo"}
,"884": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "NM", "eg_city": "Amistad"}
,"885": {"std_tz": "MST", "std_utc_diff": -7, "dst_tz": "MDT", "dst_utc_diff": -6, "state": "TX", "eg_city": "El_Paso"}
,"889": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "The_Lakes"}
,"890": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Alamo"}
,"891": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Las_Vegas"}
,"893": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Austin"}
,"894": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Crystal_Bay"}
,"895": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Reno"}
,"897": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Carson_City"}
,"898": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "NV", "eg_city": "Battle_Mountain"}
,"900": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Los_Angeles"}
,"901": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Los_Angeles"}
,"902": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Bell"}
,"903": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Inglewood"}
,"904": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Santa_Monica"}
,"905": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Torrance"}
,"906": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Buena_Park"}
,"907": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Artesia"}
,"908": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Carson"}
,"910": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Altadena"}
,"911": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Pasadena"}
,"912": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Glendale"}
,"913": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Agoura_Hills"}
,"914": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Encino"}
,"915": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Burbank"}
,"916": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "North_Hollywood"}
,"917": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Azusa"}
,"918": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alhambra"}
,"919": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alpine"}
,"920": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Bonsall"}
,"921": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Coronado"}
,"922": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Banning"}
,"923": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Adelanto"}
,"924": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "San_Bernardino"}
,"925": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Aguanga"}
,"926": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Aliso_Viejo"}
,"927": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Fountain_Valley"}
,"930": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Brandeis"}
,"928": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Anaheim"}
,"931": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Goleta"}
,"932": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alpaugh"}
,"933": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Bakersfield"}
,"934": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Arroyo_Grande"}
,"935": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Acton"}
,"936": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Ahwahnee"}
,"937": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Fresno"}
,"938": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Fresno"}
,"939": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Big_Sur"}
,"940": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Atherton"}
,"941": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "San_Francisco"}
,"942": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Sacramento"}
,"943": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Palo_Alto"}
,"944": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Belmont"}
,"945": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alameda"}
,"946": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Emeryville"}
,"947": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Albany"}
,"948": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "El_Sobrante"}
,"949": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Belvedere"}
,"950": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alviso"}
,"951": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Coyote_Valley"}
,"952": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Acampo"}
,"953": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Atwater"}
,"954": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Albion"}
,"955": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alderpoint"}
,"956": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Amador_City"}
,"957": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alta"}
,"958": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Antelope"}
,"959": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alleghany"}
,"960": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Adin"}
,"961": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "CA", "eg_city": "Alturas"}
,"967": {"std_tz": "HST", "std_utc_diff": -10, "dst_tz": "HST", "dst_utc_diff": -10, "state": "HI", "eg_city": "Aiea"}
,"968": {"std_tz": "HST", "std_utc_diff": -10, "dst_tz": "HST", "dst_utc_diff": -10, "state": "HI", "eg_city": "Camp_H_M_Smith"}
,"970": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Antelope"}
,"971": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Amity"}
,"972": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Portland"}
,"973": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Albany"}
,"974": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Agness"}
,"975": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Ashland"}
,"976": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Adel"}
,"977": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Ashwood"}
,"978": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Adams"}
,"979": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "OR", "eg_city": "Adrian"}
,"980": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Auburn"}
,"981": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Seattle"}
,"982": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Acme"}
,"983": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Ashford"}
,"984": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Camp_Murray"}
,"985": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Aberdeen"}
,"986": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Amboy"}
,"988": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Ardenvoir"}
,"989": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Brownstown"}
,"990": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Airway_Heights"}
,"991": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Addy"}
,"992": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Spokane"}
,"993": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Benton_City"}
,"994": {"std_tz": "PST", "std_utc_diff": -8, "dst_tz": "PDT", "dst_utc_diff": -7, "state": "WA", "eg_city": "Anatone"}
,"995": {"std_tz": "AKST", "std_utc_diff": -9, "dst_tz": "AKDT", "dst_utc_diff": -8, "state": "AK", "eg_city": "Adak"}
,"996": {"std_tz": "AKST", "std_utc_diff": -9, "dst_tz": "AKDT", "dst_utc_diff": -8, "state": "AK", "eg_city": "Anchorage"}
,"997": {"std_tz": "AKST", "std_utc_diff": -9, "dst_tz": "AKDT", "dst_utc_diff": -8, "state": "AK", "eg_city": "Allakaket"}
,"998": {"std_tz": "AKST", "std_utc_diff": -9, "dst_tz": "AKDT", "dst_utc_diff": -8, "state": "AK", "eg_city": "Angoon"}
,"999": {"std_tz": "AKST", "std_utc_diff": -9, "dst_tz": "AKDT", "dst_utc_diff": -8, "state": "AK", "eg_city": "Coffman_Cove"}
};
Desktop version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment