iobroker.apple-find-me
Version:
Apple Find Me Connector
734 lines (700 loc) • 70 kB
HTML
<html>
<head>
<!-- Load ioBroker scripts and styles-->
<link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
<script type="text/javascript" src="../../js/translate.js"></script>
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
<!-- Load our own files -->
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="words.js"></script>
<!-- <script type="text/javascript">
// This will be called by the admin adapter when the settings page loads
function load(settings, onChange) {
// example: select elements with id=key and class=value and insert value
if (!settings) return;
$('.value').each(function () {
var $key = $(this);
var id = $key.attr('id');
if ($key.attr('type') === 'checkbox') {
// do not call onChange direct, because onChange could expect some arguments
$key.prop('checked', settings[id])
.on('change', () => onChange())
;
} else {
// do not call onChange direct, because onChange could expect some arguments
$key.val(settings[id])
.on('change', () => onChange())
.on('keyup', () => onChange())
;
}
});
onChange(false);
// reinitialize all the Materialize labels on the page if you are dynamically adding inputs:
if (M) M.updateTextFields();
}
// This will be called by the admin adapter when the user presses the save button
function save(callback) {
// example: select elements with class=value and build settings object
var obj = {};
$('.value').each(function () {
var $this = $(this);
if ($this.attr('type') === 'checkbox') {
obj[$this.attr('id')] = $this.prop('checked');
} else {
obj[$this.attr('id')] = $this.val();
}
});
callback(obj);
}
</script>
-->
<script type="text/javascript">
var locations = [];
// the function loadSettings has to exist ...
function loadHelper(settings, onChange) {
// example: select elements with id=key and class=value and insert value
if (!settings) return;
// if (settings.electricityPollingInterval === undefined) settings.electricityPollingInterval = 20;
$('.value').each(function() {
var $key = $(this);
var id = $key.attr('id');
/*if (id === 'password') {
settings[id] = decrypt(secret, settings[id]);
}*/
/*if(id === 'map_provider'){
showMessage(_($key.val()));
}*/
if (id === 'mapprovider') {
$('#mapprovider').val(settings[id]).select();
switch (settings[id]) {
case 'osm':
$('#div_api_key').hide();
break;
case 'here':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developer.here.com/");
$('#apikey_link').attr("title", "Create API-KEY for Here-Maps");
break;
case 'bing':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://www.bingmapsportal.com/");
$('#apikey_link').attr("title", "Create API-KEY for Bing-Maps");
break;
case 'google':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developers.google.com/maps/documentation/javascript/get-api-key");
$('#apikey_link').attr("title", "Create API-KEY for Google-Maps");
break;
case 'geoapify':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://www.geoapify.com");
$('#apikey_link').attr("title", "Create API-KEY for Geoapify");
break;
case 'locationiq_eu':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://locationiq.com");
$('#apikey_link').attr("title", "Create API-KEY for LocationIQ");
break;
case 'locationiq_usa':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://locationiq.com");
$('#apikey_link').attr("title", "Create API-KEY for LocationIQ");
break;
case 'positionstack':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://positionstack.com");
$('#apikey_link').attr("title", "Create API-KEY for PositionStack");
break;
case 'tomtom':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developer.tomtom.com/store/maps-api");
$('#apikey_link').attr("title", "Create API-KEY for TomTom-Developer-API");
break;
default:
}
}
if (id === 'refresh') {
$('#refresh').val(settings[id]).select();
if(settings[id] != "none" && settings[id] >= 5){
$('#interval_warning').hide();
}else if(settings[id] != "none" && settings[id] < 5){
$('#interval_warning').show();
}else{
$('#interval_warning').hide();
}
}
if (id === 'timezone') {
$('#timezone').val(settings[id]).select();
}
if ($key.attr('type') === 'checkbox') {
// do not call onChange direct, because onChange could expect some arguments
$key.prop('checked', settings[id]).change(function() {
onChange();
});
} else {
// do not call onChange direct, because onChange could expect some arguments
$key.val(settings[id]).change(function() {
onChange();
}).keyup(function() {
onChange();
});
}
});
locations = settings.locations || [];
for (var p = 0; p < settings.locations.length; p++) {
settings.locations[p].name = settings.locations[p].name || '';
settings.locations[p].latitude = settings.locations[p].latitude || '';
settings.locations[p].longitude = settings.locations[p].longitude || '';
settings.locations[p].active = settings.locations[p].active || '';
}
$('#refresh').change(function() {
var $refreshInterval = $('#refresh');
if($refreshInterval.val() != "none" && $refreshInterval.val() >= 5){
$('#interval_warning').hide();
}else if($refreshInterval.val() != "none" && $refreshInterval.val() < 5){
$('#interval_warning').show();
}else{
$('#interval_warning').hide();
}
});
$('#mapprovider').change(function() {
var $mapprovider = $('#mapprovider');
switch ($mapprovider.val()) {
case 'osm':
$('#div_api_key').hide();
break;
case 'here':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developer.here.com/");
$('#apikey_link').attr("title", "Create API-KEY for Here-Maps");
break;
case 'bing':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://www.bingmapsportal.com/");
$('#apikey_link').attr("title", "Create API-KEY for Bing-Maps");
break;
case 'google':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developers.google.com/maps/documentation/javascript/get-api-key");
$('#apikey_link').attr("title", "Create API-KEY for Google-Maps");
break;
case 'geoapify':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://www.geoapify.com");
$('#apikey_link').attr("title", "Create API-KEY for Geoapify");
break;
case 'locationiq_eu':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://locationiq.com");
$('#apikey_link').attr("title", "Create API-KEY for LocationIQ");
break;
case 'locationiq_usa':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://locationiq.com");
$('#apikey_link').attr("title", "Create API-KEY for LocationIQ");
break;
case 'positionstack':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://positionstack.com");
$('#apikey_link').attr("title", "Create API-KEY for PositionStack");
break;
case 'tomtom':
$('#div_api_key').show();
$('#apikey_link').attr("href", "https://developer.tomtom.com/store/maps-api");
$('#apikey_link').attr("title", "Create API-KEY for TomTom-Developer-API");
break;
default:
}
});
onChange(false);
values2table('locations', locations, onChange);
// function Materialize.updateTextFields(); to reinitialize all the Materialize labels on the page if you are dynamically adding inputs.
M.updateTextFields();
}
// This will be called by the admin adapter when the settings page loads
function load(settings, onChange) {
socket.emit('getObject', 'system.config', function(err, obj) {
loadHelper(settings, onChange);
});
onChange(false);
}
// This will be called by the admin adapter when the user presses the save button
function save(callback) {
// example: select elements with class=value and build settings object
var obj = {};
$('.value').each(function() {
var $this = $(this);
var id = $this.attr('id');
if ($this.attr('type') === 'checkbox') {
obj[id] = $this.prop('checked');
} else {
var value = $this.val();
/*if (id === 'password') {
value = encrypt(secret, value);
}*/
console.log(id + " -> " + value);
obj[id] = value;
}
});
obj.locations = table2values('locations');
callback(obj);
}
</script>
</head>
<body>
<div class="m adapter-container">
<div class="row">
<div class="col s12 m4 l2">
<img src="find-me.png" class="logo">
</div>
</div>
<!-- Put your content here -->
<!-- For example columns with settings: -->
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab col s2"><a href="#tab-main" class="translate active">adaptersettings</a></li>
<li class="tab col s2"><a href="#tab-locations" class="translate">Locations</a></li>
</ul>
</div>
<div class="row">
</div>
<div id="tab-main" class="col s12 page">
<div class="row">
<div class="col s6 input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" class="value" id="username" />
<label for="username" class="translate">Username</label>
</div>
<div class="col s6 input-field">
<i class="material-icons prefix">lock</i>
<input type="password" class="value" id="password" />
<label for="password" class="translate">Password</label>
</div>
<div class="input-field col s6">
<i class="material-icons prefix">map</i>
<select class="value" id="mapprovider">
<option value="osm">OpenStreetMaps</option>
<option value="bing">Bing-Maps</option>
<option value="here">Here-Maps</option>
<option value="google">Google-Maps</option>
<option value="geoapify">Geoapify</option>
<option value="locationiq_eu">LocationIQ (Europe)</option>
<option value="locationiq_usa">LocationIQ (USA)</option>
<option value="positionstack">PositionStack</option>
<option value="tomtom">TomTom</option>
</select>
<label class="translate" for="mapprovider">Map-Provider</label>
</div>
<div class="col s6 input-field" id="div_api_key">
<i class="material-icons prefix">vpn_key</i>
<input type="text" class="value" id="apikey" />
<label id="apikey" for="apikey" class="translate">API-Key</label>
<a id="apikey_link" href="https://developer.here.com/" target="_blank" title="Create API-Key"><img src="key.png" class="keyIcon" /></a>
</div>
<div class="col s6 input-field">
<i class="material-icons prefix">av_timer</i>
<select class="value" id="timezone">
<Option value='Africa/Abidjan'>Africa/Abidjan</Option>
<Option value='Africa/Accra'>Africa/Accra</Option>
<Option value='Africa/Addis_Ababa'>Africa/Addis_Ababa</Option>
<Option value='Africa/Algiers'>Africa/Algiers</Option>
<Option value='Africa/Asmara'>Africa/Asmara</Option>
<Option value='Africa/Asmera'>Africa/Asmera</Option>
<Option value='Africa/Bamako'>Africa/Bamako</Option>
<Option value='Africa/Bangui'>Africa/Bangui</Option>
<Option value='Africa/Banjul'>Africa/Banjul</Option>
<Option value='Africa/Bissau'>Africa/Bissau</Option>
<Option value='Africa/Blantyre'>Africa/Blantyre</Option>
<Option value='Africa/Brazzaville'>Africa/Brazzaville</Option>
<Option value='Africa/Bujumbura'>Africa/Bujumbura</Option>
<Option value='Africa/Cairo'>Africa/Cairo</Option>
<Option value='Africa/Casablanca'>Africa/Casablanca</Option>
<Option value='Africa/Ceuta'>Africa/Ceuta</Option>
<Option value='Africa/Conakry'>Africa/Conakry</Option>
<Option value='Africa/Dakar'>Africa/Dakar</Option>
<Option value='Africa/Dar_es_Salaam'>Africa/Dar_es_Salaam</Option>
<Option value='Africa/Djibouti'>Africa/Djibouti</Option>
<Option value='Africa/Douala'>Africa/Douala</Option>
<Option value='Africa/El_Aaiun'>Africa/El_Aaiun</Option>
<Option value='Africa/Freetown'>Africa/Freetown</Option>
<Option value='Africa/Gaborone'>Africa/Gaborone</Option>
<Option value='Africa/Harare'>Africa/Harare</Option>
<Option value='Africa/Johannesburg'>Africa/Johannesburg</Option>
<Option value='Africa/Juba'>Africa/Juba</Option>
<Option value='Africa/Kampala'>Africa/Kampala</Option>
<Option value='Africa/Khartoum'>Africa/Khartoum</Option>
<Option value='Africa/Kigali'>Africa/Kigali</Option>
<Option value='Africa/Kinshasa'>Africa/Kinshasa</Option>
<Option value='Africa/Lagos'>Africa/Lagos</Option>
<Option value='Africa/Libreville'>Africa/Libreville</Option>
<Option value='Africa/Lome'>Africa/Lome</Option>
<Option value='Africa/Luanda'>Africa/Luanda</Option>
<Option value='Africa/Lubumbashi'>Africa/Lubumbashi</Option>
<Option value='Africa/Lusaka'>Africa/Lusaka</Option>
<Option value='Africa/Malabo'>Africa/Malabo</Option>
<Option value='Africa/Maputo'>Africa/Maputo</Option>
<Option value='Africa/Maseru'>Africa/Maseru</Option>
<Option value='Africa/Mbabane'>Africa/Mbabane</Option>
<Option value='Africa/Mogadishu'>Africa/Mogadishu</Option>
<Option value='Africa/Monrovia'>Africa/Monrovia</Option>
<Option value='Africa/Nairobi'>Africa/Nairobi</Option>
<Option value='Africa/Ndjamena'>Africa/Ndjamena</Option>
<Option value='Africa/Niamey'>Africa/Niamey</Option>
<Option value='Africa/Nouakchott'>Africa/Nouakchott</Option>
<Option value='Africa/Ouagadougou'>Africa/Ouagadougou</Option>
<Option value='Africa/Porto-Novo'>Africa/Porto-Novo</Option>
<Option value='Africa/Sao_Tome'>Africa/Sao_Tome</Option>
<Option value='Africa/Timbuktu'>Africa/Timbuktu</Option>
<Option value='Africa/Tripoli'>Africa/Tripoli</Option>
<Option value='Africa/Tunis'>Africa/Tunis</Option>
<Option value='Africa/Windhoek'>Africa/Windhoek</Option>
<Option value='America/Adak'>America/Adak</Option>
<Option value='America/Anchorage'>America/Anchorage</Option>
<Option value='America/Anguilla'>America/Anguilla</Option>
<Option value='America/Antigua'>America/Antigua</Option>
<Option value='America/Araguaina'>America/Araguaina</Option>
<Option value='America/Argentina/Buenos_Aires'>America/Argentina/Buenos_Aires</Option>
<Option value='America/Argentina/Catamarca'>America/Argentina/Catamarca</Option>
<Option value='America/Argentina/ComodRivadavia'>America/Argentina/ComodRivadavia</Option>
<Option value='America/Argentina/Cordoba'>America/Argentina/Cordoba</Option>
<Option value='America/Argentina/Jujuy'>America/Argentina/Jujuy</Option>
<Option value='America/Argentina/La_Rioja'>America/Argentina/La_Rioja</Option>
<Option value='America/Argentina/Mendoza'>America/Argentina/Mendoza</Option>
<Option value='America/Argentina/Rio_Gallegos'>America/Argentina/Rio_Gallegos</Option>
<Option value='America/Argentina/Salta'>America/Argentina/Salta</Option>
<Option value='America/Argentina/San_Juan'>America/Argentina/San_Juan</Option>
<Option value='America/Argentina/San_Luis'>America/Argentina/San_Luis</Option>
<Option value='America/Argentina/Tucuman'>America/Argentina/Tucuman</Option>
<Option value='America/Argentina/Ushuaia'>America/Argentina/Ushuaia</Option>
<Option value='America/Aruba'>America/Aruba</Option>
<Option value='America/Asuncion'>America/Asuncion</Option>
<Option value='America/Atikokan'>America/Atikokan</Option>
<Option value='America/Atka'>America/Atka</Option>
<Option value='America/Bahia'>America/Bahia</Option>
<Option value='America/Bahia_Banderas'>America/Bahia_Banderas</Option>
<Option value='America/Barbados'>America/Barbados</Option>
<Option value='America/Belem'>America/Belem</Option>
<Option value='America/Belize'>America/Belize</Option>
<Option value='America/Blanc-Sablon'>America/Blanc-Sablon</Option>
<Option value='America/Boa_Vista'>America/Boa_Vista</Option>
<Option value='America/Bogota'>America/Bogota</Option>
<Option value='America/Boise'>America/Boise</Option>
<Option value='America/Buenos_Aires'>America/Buenos_Aires</Option>
<Option value='America/Cambridge_Bay'>America/Cambridge_Bay</Option>
<Option value='America/Campo_Grande'>America/Campo_Grande</Option>
<Option value='America/Cancun'>America/Cancun</Option>
<Option value='America/Caracas'>America/Caracas</Option>
<Option value='America/Catamarca'>America/Catamarca</Option>
<Option value='America/Cayenne'>America/Cayenne</Option>
<Option value='America/Cayman'>America/Cayman</Option>
<Option value='America/Chicago'>America/Chicago</Option>
<Option value='America/Chihuahua'>America/Chihuahua</Option>
<Option value='America/Coral_Harbour'>America/Coral_Harbour</Option>
<Option value='America/Cordoba'>America/Cordoba</Option>
<Option value='America/Costa_Rica'>America/Costa_Rica</Option>
<Option value='America/Creston'>America/Creston</Option>
<Option value='America/Cuiaba'>America/Cuiaba</Option>
<Option value='America/Curacao'>America/Curacao</Option>
<Option value='America/Danmarkshavn'>America/Danmarkshavn</Option>
<Option value='America/Dawson'>America/Dawson</Option>
<Option value='America/Dawson_Creek'>America/Dawson_Creek</Option>
<Option value='America/Denver'>America/Denver</Option>
<Option value='America/Detroit'>America/Detroit</Option>
<Option value='America/Dominica'>America/Dominica</Option>
<Option value='America/Edmonton'>America/Edmonton</Option>
<Option value='America/Eirunepe'>America/Eirunepe</Option>
<Option value='America/El_Salvador'>America/El_Salvador</Option>
<Option value='America/Ensenada'>America/Ensenada</Option>
<Option value='America/Fort_Nelson'>America/Fort_Nelson</Option>
<Option value='America/Fort_Wayne'>America/Fort_Wayne</Option>
<Option value='America/Fortaleza'>America/Fortaleza</Option>
<Option value='America/Glace_Bay'>America/Glace_Bay</Option>
<Option value='America/Godthab'>America/Godthab</Option>
<Option value='America/Goose_Bay'>America/Goose_Bay</Option>
<Option value='America/Grand_Turk'>America/Grand_Turk</Option>
<Option value='America/Grenada'>America/Grenada</Option>
<Option value='America/Guadeloupe'>America/Guadeloupe</Option>
<Option value='America/Guatemala'>America/Guatemala</Option>
<Option value='America/Guayaquil'>America/Guayaquil</Option>
<Option value='America/Guyana'>America/Guyana</Option>
<Option value='America/Halifax'>America/Halifax</Option>
<Option value='America/Havana'>America/Havana</Option>
<Option value='America/Hermosillo'>America/Hermosillo</Option>
<Option value='America/Indiana/Indianapolis'>America/Indiana/Indianapolis</Option>
<Option value='America/Indiana/Knox'>America/Indiana/Knox</Option>
<Option value='America/Indiana/Marengo'>America/Indiana/Marengo</Option>
<Option value='America/Indiana/Petersburg'>America/Indiana/Petersburg</Option>
<Option value='America/Indiana/Tell_City'>America/Indiana/Tell_City</Option>
<Option value='America/Indiana/Vevay'>America/Indiana/Vevay</Option>
<Option value='America/Indiana/Vincennes'>America/Indiana/Vincennes</Option>
<Option value='America/Indiana/Winamac'>America/Indiana/Winamac</Option>
<Option value='America/Indianapolis'>America/Indianapolis</Option>
<Option value='America/Inuvik'>America/Inuvik</Option>
<Option value='America/Iqaluit'>America/Iqaluit</Option>
<Option value='America/Jamaica'>America/Jamaica</Option>
<Option value='America/Jujuy'>America/Jujuy</Option>
<Option value='America/Juneau'>America/Juneau</Option>
<Option value='America/Kentucky/Louisville'>America/Kentucky/Louisville</Option>
<Option value='America/Kentucky/Monticello'>America/Kentucky/Monticello</Option>
<Option value='America/Knox_IN'>America/Knox_IN</Option>
<Option value='America/Kralendijk'>America/Kralendijk</Option>
<Option value='America/La_Paz'>America/La_Paz</Option>
<Option value='America/Lima'>America/Lima</Option>
<Option value='America/Los_Angeles'>America/Los_Angeles</Option>
<Option value='America/Louisville'>America/Louisville</Option>
<Option value='America/Lower_Princes'>America/Lower_Princes</Option>
<Option value='America/Maceio'>America/Maceio</Option>
<Option value='America/Managua'>America/Managua</Option>
<Option value='America/Manaus'>America/Manaus</Option>
<Option value='America/Marigot'>America/Marigot</Option>
<Option value='America/Martinique'>America/Martinique</Option>
<Option value='America/Matamoros'>America/Matamoros</Option>
<Option value='America/Mazatlan'>America/Mazatlan</Option>
<Option value='America/Mendoza'>America/Mendoza</Option>
<Option value='America/Menominee'>America/Menominee</Option>
<Option value='America/Merida'>America/Merida</Option>
<Option value='America/Metlakatla'>America/Metlakatla</Option>
<Option value='America/Mexico_City'>America/Mexico_City</Option>
<Option value='America/Miquelon'>America/Miquelon</Option>
<Option value='America/Moncton'>America/Moncton</Option>
<Option value='America/Monterrey'>America/Monterrey</Option>
<Option value='America/Montevideo'>America/Montevideo</Option>
<Option value='America/Montreal'>America/Montreal</Option>
<Option value='America/Montserrat'>America/Montserrat</Option>
<Option value='America/Nassau'>America/Nassau</Option>
<Option value='America/New_York'>America/New_York</Option>
<Option value='America/Nipigon'>America/Nipigon</Option>
<Option value='America/Nome'>America/Nome</Option>
<Option value='America/Noronha'>America/Noronha</Option>
<Option value='America/North_Dakota/Beulah'>America/North_Dakota/Beulah</Option>
<Option value='America/North_Dakota/Center'>America/North_Dakota/Center</Option>
<Option value='America/North_Dakota/New_Salem'>America/North_Dakota/New_Salem</Option>
<Option value='America/Ojinaga'>America/Ojinaga</Option>
<Option value='America/Panama'>America/Panama</Option>
<Option value='America/Pangnirtung'>America/Pangnirtung</Option>
<Option value='America/Paramaribo'>America/Paramaribo</Option>
<Option value='America/Phoenix'>America/Phoenix</Option>
<Option value='America/Port-au-Prince'>America/Port-au-Prince</Option>
<Option value='America/Port_of_Spain'>America/Port_of_Spain</Option>
<Option value='America/Porto_Acre'>America/Porto_Acre</Option>
<Option value='America/Porto_Velho'>America/Porto_Velho</Option>
<Option value='America/Puerto_Rico'>America/Puerto_Rico</Option>
<Option value='America/Punta_Arenas'>America/Punta_Arenas</Option>
<Option value='America/Rainy_River'>America/Rainy_River</Option>
<Option value='America/Rankin_Inlet'>America/Rankin_Inlet</Option>
<Option value='America/Recife'>America/Recife</Option>
<Option value='America/Regina'>America/Regina</Option>
<Option value='America/Resolute'>America/Resolute</Option>
<Option value='America/Rio_Branco'>America/Rio_Branco</Option>
<Option value='America/Rosario'>America/Rosario</Option>
<Option value='America/Santa_Isabel'>America/Santa_Isabel</Option>
<Option value='America/Santarem'>America/Santarem</Option>
<Option value='America/Santiago'>America/Santiago</Option>
<Option value='America/Santo_Domingo'>America/Santo_Domingo</Option>
<Option value='America/Sao_Paulo'>America/Sao_Paulo</Option>
<Option value='America/Scoresbysund'>America/Scoresbysund</Option>
<Option value='America/Shiprock'>America/Shiprock</Option>
<Option value='America/Sitka'>America/Sitka</Option>
<Option value='America/St_Barthelemy'>America/St_Barthelemy</Option>
<Option value='America/St_Johns'>America/St_Johns</Option>
<Option value='America/St_Kitts'>America/St_Kitts</Option>
<Option value='America/St_Lucia'>America/St_Lucia</Option>
<Option value='America/St_Thomas'>America/St_Thomas</Option>
<Option value='America/St_Vincent'>America/St_Vincent</Option>
<Option value='America/Swift_Current'>America/Swift_Current</Option>
<Option value='America/Tegucigalpa'>America/Tegucigalpa</Option>
<Option value='America/Thule'>America/Thule</Option>
<Option value='America/Thunder_Bay'>America/Thunder_Bay</Option>
<Option value='America/Tijuana'>America/Tijuana</Option>
<Option value='America/Toronto'>America/Toronto</Option>
<Option value='America/Tortola'>America/Tortola</Option>
<Option value='America/Vancouver'>America/Vancouver</Option>
<Option value='America/Virgin'>America/Virgin</Option>
<Option value='America/Whitehorse'>America/Whitehorse</Option>
<Option value='America/Winnipeg'>America/Winnipeg</Option>
<Option value='America/Yakutat'>America/Yakutat</Option>
<Option value='America/Yellowknife'>America/Yellowknife</Option>
<Option value='Antarctica/Casey'>Antarctica/Casey</Option>
<Option value='Antarctica/Davis'>Antarctica/Davis</Option>
<Option value='Antarctica/DumontDUrville'>Antarctica/DumontDUrville</Option>
<Option value='Antarctica/Macquarie'>Antarctica/Macquarie</Option>
<Option value='Antarctica/Mawson'>Antarctica/Mawson</Option>
<Option value='Antarctica/McMurdo'>Antarctica/McMurdo</Option>
<Option value='Antarctica/Palmer'>Antarctica/Palmer</Option>
<Option value='Antarctica/Rothera'>Antarctica/Rothera</Option>
<Option value='Antarctica/South_Pole'>Antarctica/South_Pole</Option>
<Option value='Antarctica/Syowa'>Antarctica/Syowa</Option>
<Option value='Antarctica/Troll'>Antarctica/Troll</Option>
<Option value='Antarctica/Vostok'>Antarctica/Vostok</Option>
<Option value='Arctic/Longyearbyen'>Arctic/Longyearbyen</Option>
<Option value='Asia/Aden'>Asia/Aden</Option>
<Option value='Asia/Almaty'>Asia/Almaty</Option>
<Option value='Asia/Amman'>Asia/Amman</Option>
<Option value='Asia/Anadyr'>Asia/Anadyr</Option>
<Option value='Asia/Aqtau'>Asia/Aqtau</Option>
<Option value='Asia/Aqtobe'>Asia/Aqtobe</Option>
<Option value='Asia/Ashgabat'>Asia/Ashgabat</Option>
<Option value='Asia/Ashkhabad'>Asia/Ashkhabad</Option>
<Option value='Asia/Atyrau'>Asia/Atyrau</Option>
<Option value='Asia/Baghdad'>Asia/Baghdad</Option>
<Option value='Asia/Bahrain'>Asia/Bahrain</Option>
<Option value='Asia/Baku'>Asia/Baku</Option>
<Option value='Asia/Bangkok'>Asia/Bangkok</Option>
<Option value='Asia/Barnaul'>Asia/Barnaul</Option>
<Option value='Asia/Beirut'>Asia/Beirut</Option>
<Option value='Asia/Bishkek'>Asia/Bishkek</Option>
<Option value='Asia/Brunei'>Asia/Brunei</Option>
<Option value='Asia/Calcutta'>Asia/Calcutta</Option>
<Option value='Asia/Chita'>Asia/Chita</Option>
<Option value='Asia/Choibalsan'>Asia/Choibalsan</Option>
<Option value='Asia/Chongqing'>Asia/Chongqing</Option>
<Option value='Asia/Chungking'>Asia/Chungking</Option>
<Option value='Asia/Colombo'>Asia/Colombo</Option>
<Option value='Asia/Dacca'>Asia/Dacca</Option>
<Option value='Asia/Damascus'>Asia/Damascus</Option>
<Option value='Asia/Dhaka'>Asia/Dhaka</Option>
<Option value='Asia/Dili'>Asia/Dili</Option>
<Option value='Asia/Dubai'>Asia/Dubai</Option>
<Option value='Asia/Dushanbe'>Asia/Dushanbe</Option>
<Option value='Asia/Famagusta'>Asia/Famagusta</Option>
<Option value='Asia/Gaza'>Asia/Gaza</Option>
<Option value='Asia/Harbin'>Asia/Harbin</Option>
<Option value='Asia/Hebron'>Asia/Hebron</Option>
<Option value='Asia/Ho_Chi_Minh'>Asia/Ho_Chi_Minh</Option>
<Option value='Asia/Hong_Kong'>Asia/Hong_Kong</Option>
<Option value='Asia/Hovd'>Asia/Hovd</Option>
<Option value='Asia/Irkutsk'>Asia/Irkutsk</Option>
<Option value='Asia/Istanbul'>Asia/Istanbul</Option>
<Option value='Asia/Jakarta'>Asia/Jakarta</Option>
<Option value='Asia/Jayapura'>Asia/Jayapura</Option>
<Option value='Asia/Jerusalem'>Asia/Jerusalem</Option>
<Option value='Asia/Kabul'>Asia/Kabul</Option>
<Option value='Asia/Kamchatka'>Asia/Kamchatka</Option>
<Option value='Asia/Karachi'>Asia/Karachi</Option>
<Option value='Asia/Kashgar'>Asia/Kashgar</Option>
<Option value='Asia/Kathmandu'>Asia/Kathmandu</Option>
<Option value='Asia/Katmandu'>Asia/Katmandu</Option>
<Option value='Asia/Khandyga'>Asia/Khandyga</Option>
<Option value='Asia/Kolkata'>Asia/Kolkata</Option>
<Option value='Asia/Krasnoyarsk'>Asia/Krasnoyarsk</Option>
<Option value='Asia/Kuala_Lumpur'>Asia/Kuala_Lumpur</Option>
<Option value='Asia/Kuching'>Asia/Kuching</Option>
<Option value='Asia/Kuwait'>Asia/Kuwait</Option>
<Option value='Asia/Macao'>Asia/Macao</Option>
<Option value='Asia/Macau'>Asia/Macau</Option>
<Option value='Asia/Magadan'>Asia/Magadan</Option>
<Option value='Asia/Makassar'>Asia/Makassar</Option>
<Option value='Asia/Manila'>Asia/Manila</Option>
<Option value='Asia/Muscat'>Asia/Muscat</Option>
<Option value='Asia/Nicosia'>Asia/Nicosia</Option>
<Option value='Asia/Novokuznetsk'>Asia/Novokuznetsk</Option>
<Option value='Asia/Novosibirsk'>Asia/Novosibirsk</Option>
<Option value='Asia/Omsk'>Asia/Omsk</Option>
<Option value='Asia/Oral'>Asia/Oral</Option>
<Option value='Asia/Phnom_Penh'>Asia/Phnom_Penh</Option>
<Option value='Asia/Pontianak'>Asia/Pontianak</Option>
<Option value='Asia/Pyongyang'>Asia/Pyongyang</Option>
<Option value='Asia/Qatar'>Asia/Qatar</Option>
<Option value='Asia/Qyzylorda'>Asia/Qyzylorda</Option>
<Option value='Asia/Rangoon'>Asia/Rangoon</Option>
<Option value='Asia/Riyadh'>Asia/Riyadh</Option>
<Option value='Asia/Saigon'>Asia/Saigon</Option>
<Option value='Asia/Sakhalin'>Asia/Sakhalin</Option>
<Option value='Asia/Samarkand'>Asia/Samarkand</Option>
<Option value='Asia/Seoul'>Asia/Seoul</Option>
<Option value='Asia/Shanghai'>Asia/Shanghai</Option>
<Option value='Asia/Singapore'>Asia/Singapore</Option>
<Option value='Asia/Srednekolymsk'>Asia/Srednekolymsk</Option>
<Option value='Asia/Taipei'>Asia/Taipei</Option>
<Option value='Asia/Tashkent'>Asia/Tashkent</Option>
<Option value='Asia/Tbilisi'>Asia/Tbilisi</Option>
<Option value='Asia/Tehran'>Asia/Tehran</Option>
<Option value='Asia/Tel_Aviv'>Asia/Tel_Aviv</Option>
<Option value='Asia/Thimbu'>Asia/Thimbu</Option>
<Option value='Asia/Thimphu'>Asia/Thimphu</Option>
<Option value='Asia/Tokyo'>Asia/Tokyo</Option>
<Option value='Asia/Tomsk'>Asia/Tomsk</Option>
<Option value='Asia/Ujung_Pandang'>Asia/Ujung_Pandang</Option>
<Option value='Asia/Ulaanbaatar'>Asia/Ulaanbaatar</Option>
<Option value='Asia/Ulan_Bator'>Asia/Ulan_Bator</Option>
<Option value='Asia/Urumqi'>Asia/Urumqi</Option>
<Option value='Asia/Ust-Nera'>Asia/Ust-Nera</Option>
<Option value='Asia/Vientiane'>Asia/Vientiane</Option>
<Option value='Asia/Vladivostok'>Asia/Vladivostok</Option>
<Option value='Asia/Yakutsk'>Asia/Yakutsk</Option>
<Option value='Asia/Yangon'>Asia/Yangon</Option>
<Option value='Asia/Yekaterinburg'>Asia/Yekaterinburg</Option>
<Option value='Asia/Yerevan'>Asia/Yerevan</Option>
<Option value='Atlantic/Azores'>Atlantic/Azores</Option>
<Option value='Atlantic/Bermuda'>Atlantic/Bermuda</Option>
<Option value='Atlantic/Canary'>Atlantic/Canary</Option>
<Option value='Atlantic/Cape_Verde'>Atlantic/Cape_Verde</Option>
<Option value='Atlantic/Faeroe'>Atlantic/Faeroe</Option>
<Option value='Atlantic/Faroe'>Atlantic/Faroe</Option>
<Option value='Atlantic/Jan_Mayen'>Atlantic/Jan_Mayen</Option>
<Option value='Atlantic/Madeira'>Atlantic/Madeira</Option>
<Option value='Atlantic/Reykjavik'>Atlantic/Reykjavik</Option>
<Option value='Atlantic/South_Georgia'>Atlantic/South_Georgia</Option>
<Option value='Atlantic/St_Helena'>Atlantic/St_Helena</Option>
<Option value='Atlantic/Stanley'>Atlantic/Stanley</Option>
<Option value='Australia/ACT'>Australia/ACT</Option>
<Option value='Australia/Adelaide'>Australia/Adelaide</Option>
<Option value='Australia/Brisbane'>Australia/Brisbane</Option>
<Option value='Australia/Broken_Hill'>Australia/Broken_Hill</Option>
<Option value='Australia/Canberra'>Australia/Canberra</Option>
<Option value='Australia/Currie'>Australia/Currie</Option>
<Option value='Australia/Darwin'>Australia/Darwin</Option>
<Option value='Australia/Eucla'>Australia/Eucla</Option>
<Option value='Australia/Hobart'>Australia/Hobart</Option>
<Option value='Australia/LHI'>Australia/LHI</Option>
<Option value='Australia/Lindeman'>Australia/Lindeman</Option>
<Option value='Australia/Lord_Howe'>Australia/Lord_Howe</Option>
<Option value='Australia/Melbourne'>Australia/Melbourne</Option>
<Option value='Australia/NSW'>Australia/NSW</Option>
<Option value='Australia/North'>Australia/North</Option>
<Option value='Australia/Perth'>Australia/Perth</Option>
<Option value='Australia/Queensland'>Australia/Queensland</Option>
<Option value='Australia/South'>Australia/South</Option>
<Option value='Australia/Sydney'>Australia/Sydney</Option>
<Option value='Australia/Tasmania'>Australia/Tasmania</Option>
<Option value='Australia/Victoria'>Australia/Victoria</Option>
<Option value='Australia/West'>Australia/West</Option>
<Option value='Australia/Yancowinna'>Australia/Yancowinna</Option>
<Option value='Brazil/Acre'>Brazil/Acre</Option>
<Option value='Brazil/DeNoronha'>Brazil/DeNoronha</Option>
<Option value='Brazil/East'>Brazil/East</Option>
<Option value='Brazil/West'>Brazil/West</Option>
<Option value='CET'>CET</Option>
<Option value='CST6CDT'>CST6CDT</Option>
<Option value='Canada/Atlantic'>Canada/Atlantic</Option>
<Option value='Canada/Central'>Canada/Central</Option>
<Option value='Canada/Eastern'>Canada/Eastern</Option>
<Option value='Canada/Mountain'>Canada/Mountain</Option>
<Option value='Canada/Newfoundland'>Canada/Newfoundland</Option>
<Option value='Canada/Pacific'>Canada/Pacific</Option>
<Option value='Canada/Saskatchewan'>Canada/Saskatchewan</Option>
<Option value='Canada/Yukon'>Canada/Yukon</Option>
<Option value='Chile/Continental'>Chile/Continental</Option>
<Option value='Chile/EasterIsland'>Chile/EasterIsland</Option>
<Option value='Cuba'>Cuba</Option>
<Option value='EET'>EET</Option>
<Option value='EST'>EST</Option>
<Option value='EST5EDT'>EST5EDT</Option>
<Option value='Egypt'>Egypt</Option>
<Option value='Eire'>Eire</Option>
<Option value='Etc/GMT'>Etc/GMT</Option>
<Option value='Etc/GMT+0'>Etc/GMT+0</Option>
<Option value='Etc/GMT+1'>Etc/GMT+1</Option>
<Option value='Etc/GMT+10'>Etc/GMT+10</Option>
<Option value='Etc/GMT+11'>Etc/GMT+11</Option>
<Option value='Etc/GMT+12'>Etc/GMT+12</Option>
<Option value='Etc/GMT+2'>Etc/GMT+2</Option>
<Option value='Etc/GMT+3'>Etc/GMT+3</Option>
<Option value='Etc/GMT+4'>Etc/GMT+4</Option>
<Option value='Etc/GMT+5'>Etc/GMT+5</Option>