From b3c8ee982d48c4a6b3c6098727673f2e096d4bd4 Mon Sep 17 00:00:00 2001 From: Kieran Date: Sun, 5 Nov 2023 13:48:33 +0900 Subject: [PATCH] feat: get country from timezone --- packages/app/src/SnortUtils/index.ts | 15 +- packages/app/src/index.tsx | 4 +- packages/app/src/tz.json | 420 +++++++++++++++++++++++++++ 3 files changed, 437 insertions(+), 2 deletions(-) create mode 100644 packages/app/src/tz.json diff --git a/packages/app/src/SnortUtils/index.ts b/packages/app/src/SnortUtils/index.ts index e227e6d3..9283940c 100644 --- a/packages/app/src/SnortUtils/index.ts +++ b/packages/app/src/SnortUtils/index.ts @@ -1,3 +1,4 @@ +import TZ from "../tz.json"; import Nostrich from "../nostrich.webp"; import * as secp from "@noble/curves/secp256k1"; import * as utils from "@noble/curves/abstract/utils"; @@ -17,9 +18,9 @@ import { NostrLink, UserMetadata, } from "@snort/system"; +import { isOffline } from "@snort/shared"; import { Day } from "Const"; import AnimalName from "Element/User/AnimalName"; -import { isOffline } from "@snort/shared"; export const sha256 = (str: string | Uint8Array): u256 => { return utils.bytesToHex(hash(str)); @@ -520,3 +521,15 @@ export function getDisplayNameOrPlaceHolder(user: UserMetadata | undefined, pubk return [name.trim(), isPlaceHolder]; } + +export function getCountry() { + const tz = Intl.DateTimeFormat().resolvedOptions(); + const info = (TZ as Record>)[tz.timeZone]; + const [,lat, lon] = info[1].split(/[-+]/); + return { + zone: tz.timeZone, + country: info[0], + lat: Number(lat) / Math.pow(10, lat.length - 2), + lon: Number(lon) / Math.pow(10, lon.length - 3), + }; +} diff --git a/packages/app/src/index.tsx b/packages/app/src/index.tsx index 3bb58270..f43ac7bc 100644 --- a/packages/app/src/index.tsx +++ b/packages/app/src/index.tsx @@ -24,7 +24,7 @@ import { removeUndefined, throwIfOffline } from "@snort/shared"; import * as serviceWorkerRegistration from "serviceWorkerRegistration"; import { IntlProvider } from "IntlProvider"; -import { unwrap } from "SnortUtils"; +import { getCountry, unwrap } from "SnortUtils"; import Layout from "Pages/Layout"; import LoginPage from "Pages/LoginPage"; import ProfilePage from "Pages/Profile/ProfilePage"; @@ -128,6 +128,8 @@ export const ProfileLoader = new ProfileLoaderService(System, UserCache); serviceWorkerRegistration.register(); async function initSite() { + + console.debug(getCountry()) if (hasWasm) { await wasmInit(WasmPath); } diff --git a/packages/app/src/tz.json b/packages/app/src/tz.json new file mode 100644 index 00000000..d2e7978c --- /dev/null +++ b/packages/app/src/tz.json @@ -0,0 +1,420 @@ +{ + "Africa/Abidjan": ["CI", "+0519-00402"], + "Africa/Accra": ["GH", "+0533-00013"], + "Africa/Addis_Ababa": ["ET", "+0902+03842"], + "Africa/Algiers": ["DZ", "+3647+00303"], + "Africa/Asmara": ["ER", "+1520+03853"], + "Africa/Bamako": ["ML", "+1239-00800"], + "Africa/Bangui": ["CF", "+0422+01835"], + "Africa/Banjul": ["GM", "+1328-01639"], + "Africa/Bissau": ["GW", "+1151-01535"], + "Africa/Blantyre": ["MW", "-1547+03500"], + "Africa/Brazzaville": ["CG", "-0416+01517"], + "Africa/Bujumbura": ["BI", "-0323+02922"], + "Africa/Cairo": ["EG", "+3003+03115"], + "Africa/Casablanca": ["MA", "+3339-00735"], + "Africa/Ceuta": ["ES", "+3553-00519"], + "Africa/Conakry": ["GN", "+0931-01343"], + "Africa/Dakar": ["SN", "+1440-01726"], + "Africa/Dar_es_Salaam": ["TZ", "-0648+03917"], + "Africa/Djibouti": ["DJ", "+1136+04309"], + "Africa/Douala": ["CM", "+0403+00942"], + "Africa/El_Aaiun": ["EH", "+2709-01312"], + "Africa/Freetown": ["SL", "+0830-01315"], + "Africa/Gaborone": ["BW", "-2439+02555"], + "Africa/Harare": ["ZW", "-1750+03103"], + "Africa/Johannesburg": ["ZA", "-2615+02800"], + "Africa/Juba": ["SS", "+0451+03137"], + "Africa/Kampala": ["UG", "+0019+03225"], + "Africa/Khartoum": ["SD", "+1536+03232"], + "Africa/Kigali": ["RW", "-0157+03004"], + "Africa/Kinshasa": ["CD", "-0418+01518"], + "Africa/Lagos": ["NG", "+0627+00324"], + "Africa/Libreville": ["GA", "+0023+00927"], + "Africa/Lome": ["TG", "+0608+00113"], + "Africa/Luanda": ["AO", "-0848+01314"], + "Africa/Lubumbashi": ["CD", "-1140+02728"], + "Africa/Lusaka": ["ZM", "-1525+02817"], + "Africa/Malabo": ["GQ", "+0345+00847"], + "Africa/Maputo": ["MZ", "-2558+03235"], + "Africa/Maseru": ["LS", "-2928+02730"], + "Africa/Mbabane": ["SZ", "-2618+03106"], + "Africa/Mogadishu": ["SO", "+0204+04522"], + "Africa/Monrovia": ["LR", "+0618-01047"], + "Africa/Nairobi": ["KE", "-0117+03649"], + "Africa/Ndjamena": ["TD", "+1207+01503"], + "Africa/Niamey": ["NE", "+1331+00207"], + "Africa/Nouakchott": ["MR", "+1806-01557"], + "Africa/Ouagadougou": ["BF", "+1222-00131"], + "Africa/Porto-Novo": ["BJ", "+0629+00237"], + "Africa/Sao_Tome": ["ST", "+0020+00644"], + "Africa/Tripoli": ["LY", "+3254+01311"], + "Africa/Tunis": ["TN", "+3648+01011"], + "Africa/Windhoek": ["NA", "-2234+01706"], + "America/Adak": ["US", "+515248-1763929"], + "America/Anchorage": ["US", "+611305-1495401"], + "America/Anguilla": ["AI", "+1812-06304"], + "America/Antigua": ["AG", "+1703-06148"], + "America/Araguaina": ["BR", "-0712-04812"], + "America/Argentina/Buenos_Aires": ["AR", "-3436-05827"], + "America/Argentina/Catamarca": ["AR", "-2828-06547"], + "America/Argentina/Cordoba": ["AR", "-3124-06411"], + "America/Argentina/Jujuy": ["AR", "-2411-06518"], + "America/Argentina/La_Rioja": ["AR", "-2926-06651"], + "America/Argentina/Mendoza": ["AR", "-3253-06849"], + "America/Argentina/Rio_Gallegos": ["AR", "-5138-06913"], + "America/Argentina/Salta": ["AR", "-2447-06525"], + "America/Argentina/San_Juan": ["AR", "-3132-06831"], + "America/Argentina/San_Luis": ["AR", "-3319-06621"], + "America/Argentina/Tucuman": ["AR", "-2649-06513"], + "America/Argentina/Ushuaia": ["AR", "-5448-06818"], + "America/Aruba": ["AW", "+1230-06958"], + "America/Asuncion": ["PY", "-2516-05740"], + "America/Atikokan": ["CA", "+484531-0913718"], + "America/Bahia": ["BR", "-1259-03831"], + "America/Bahia_Banderas": ["MX", "+2048-10515"], + "America/Barbados": ["BB", "+1306-05937"], + "America/Belem": ["BR", "-0127-04829"], + "America/Belize": ["BZ", "+1730-08812"], + "America/Blanc-Sablon": ["CA", "+5125-05707"], + "America/Boa_Vista": ["BR", "+0249-06040"], + "America/Bogota": ["CO", "+0436-07405"], + "America/Boise": ["US", "+433649-1161209"], + "America/Cambridge_Bay": ["CA", "+690650-1050310"], + "America/Campo_Grande": ["BR", "-2027-05437"], + "America/Cancun": ["MX", "+2105-08646"], + "America/Caracas": ["VE", "+1030-06656"], + "America/Cayenne": ["GF", "+0456-05220"], + "America/Cayman": ["KY", "+1918-08123"], + "America/Chicago": ["US", "+415100-0873900"], + "America/Chihuahua": ["MX", "+2838-10605"], + "America/Ciudad_Juarez": ["MX", "+3144-10629"], + "America/Costa_Rica": ["CR", "+0956-08405"], + "America/Creston": ["CA", "+4906-11631"], + "America/Cuiaba": ["BR", "-1535-05605"], + "America/Curacao": ["CW", "+1211-06900"], + "America/Danmarkshavn": ["GL", "+7646-01840"], + "America/Dawson": ["CA", "+6404-13925"], + "America/Dawson_Creek": ["CA", "+5546-12014"], + "America/Denver": ["US", "+394421-1045903"], + "America/Detroit": ["US", "+421953-0830245"], + "America/Dominica": ["DM", "+1518-06124"], + "America/Edmonton": ["CA", "+5333-11328"], + "America/Eirunepe": ["BR", "-0640-06952"], + "America/El_Salvador": ["SV", "+1342-08912"], + "America/Fort_Nelson": ["CA", "+5848-12242"], + "America/Fortaleza": ["BR", "-0343-03830"], + "America/Glace_Bay": ["CA", "+4612-05957"], + "America/Goose_Bay": ["CA", "+5320-06025"], + "America/Grand_Turk": ["TC", "+2128-07108"], + "America/Grenada": ["GD", "+1203-06145"], + "America/Guadeloupe": ["GP", "+1614-06132"], + "America/Guatemala": ["GT", "+1438-09031"], + "America/Guayaquil": ["EC", "-0210-07950"], + "America/Guyana": ["GY", "+0648-05810"], + "America/Halifax": ["CA", "+4439-06336"], + "America/Havana": ["CU", "+2308-08222"], + "America/Hermosillo": ["MX", "+2904-11058"], + "America/Indiana/Indianapolis": ["US", "+394606-0860929"], + "America/Indiana/Knox": ["US", "+411745-0863730"], + "America/Indiana/Marengo": ["US", "+382232-0862041"], + "America/Indiana/Petersburg": ["US", "+382931-0871643"], + "America/Indiana/Tell_City": ["US", "+375711-0864541"], + "America/Indiana/Vevay": ["US", "+384452-0850402"], + "America/Indiana/Vincennes": ["US", "+384038-0873143"], + "America/Indiana/Winamac": ["US", "+410305-0863611"], + "America/Inuvik": ["CA", "+682059-1334300"], + "America/Iqaluit": ["CA", "+6344-06828"], + "America/Jamaica": ["JM", "+175805-0764736"], + "America/Juneau": ["US", "+581807-1342511"], + "America/Kentucky/Louisville": ["US", "+381515-0854534"], + "America/Kentucky/Monticello": ["US", "+364947-0845057"], + "America/Kralendijk": ["BQ", "+120903-0681636"], + "America/La_Paz": ["BO", "-1630-06809"], + "America/Lima": ["PE", "-1203-07703"], + "America/Los_Angeles": ["US", "+340308-1181434"], + "America/Lower_Princes": ["SX", "+180305-0630250"], + "America/Maceio": ["BR", "-0940-03543"], + "America/Managua": ["NI", "+1209-08617"], + "America/Manaus": ["BR", "-0308-06001"], + "America/Marigot": ["MF", "+1804-06305"], + "America/Martinique": ["MQ", "+1436-06105"], + "America/Matamoros": ["MX", "+2550-09730"], + "America/Mazatlan": ["MX", "+2313-10625"], + "America/Menominee": ["US", "+450628-0873651"], + "America/Merida": ["MX", "+2058-08937"], + "America/Metlakatla": ["US", "+550737-1313435"], + "America/Mexico_City": ["MX", "+1924-09909"], + "America/Miquelon": ["PM", "+4703-05620"], + "America/Moncton": ["CA", "+4606-06447"], + "America/Monterrey": ["MX", "+2540-10019"], + "America/Montevideo": ["UY", "-345433-0561245"], + "America/Montserrat": ["MS", "+1643-06213"], + "America/Nassau": ["BS", "+2505-07721"], + "America/New_York": ["US", "+404251-0740023"], + "America/Nome": ["US", "+643004-1652423"], + "America/Noronha": ["BR", "-0351-03225"], + "America/North_Dakota/Beulah": ["US", "+471551-1014640"], + "America/North_Dakota/Center": ["US", "+470659-1011757"], + "America/North_Dakota/New_Salem": ["US", "+465042-1012439"], + "America/Nuuk": ["GL", "+6411-05144"], + "America/Ojinaga": ["MX", "+2934-10425"], + "America/Panama": ["PA", "+0858-07932"], + "America/Paramaribo": ["SR", "+0550-05510"], + "America/Phoenix": ["US", "+332654-1120424"], + "America/Port-au-Prince": ["HT", "+1832-07220"], + "America/Port_of_Spain": ["TT", "+1039-06131"], + "America/Porto_Velho": ["BR", "-0846-06354"], + "America/Puerto_Rico": ["PR", "+182806-0660622"], + "America/Punta_Arenas": ["CL", "-5309-07055"], + "America/Rankin_Inlet": ["CA", "+624900-0920459"], + "America/Recife": ["BR", "-0803-03454"], + "America/Regina": ["CA", "+5024-10439"], + "America/Resolute": ["CA", "+744144-0944945"], + "America/Rio_Branco": ["BR", "-0958-06748"], + "America/Santarem": ["BR", "-0226-05452"], + "America/Santiago": ["CL", "-3327-07040"], + "America/Santo_Domingo": ["DO", "+1828-06954"], + "America/Sao_Paulo": ["BR", "-2332-04637"], + "America/Scoresbysund": ["GL", "+7029-02158"], + "America/Sitka": ["US", "+571035-1351807"], + "America/St_Barthelemy": ["BL", "+1753-06251"], + "America/St_Johns": ["CA", "+4734-05243"], + "America/St_Kitts": ["KN", "+1718-06243"], + "America/St_Lucia": ["LC", "+1401-06100"], + "America/St_Thomas": ["VI", "+1821-06456"], + "America/St_Vincent": ["VC", "+1309-06114"], + "America/Swift_Current": ["CA", "+5017-10750"], + "America/Tegucigalpa": ["HN", "+1406-08713"], + "America/Thule": ["GL", "+7634-06847"], + "America/Tijuana": ["MX", "+3232-11701"], + "America/Toronto": ["CA", "+4339-07923"], + "America/Tortola": ["VG", "+1827-06437"], + "America/Vancouver": ["CA", "+4916-12307"], + "America/Whitehorse": ["CA", "+6043-13503"], + "America/Winnipeg": ["CA", "+4953-09709"], + "America/Yakutat": ["US", "+593249-1394338"], + "Antarctica/Casey": ["AQ", "-6617+11031"], + "Antarctica/Davis": ["AQ", "-6835+07758"], + "Antarctica/DumontDUrville": ["AQ", "-6640+14001"], + "Antarctica/Macquarie": ["AU", "-5430+15857"], + "Antarctica/Mawson": ["AQ", "-6736+06253"], + "Antarctica/McMurdo": ["AQ", "-7750+16636"], + "Antarctica/Palmer": ["AQ", "-6448-06406"], + "Antarctica/Rothera": ["AQ", "-6734-06808"], + "Antarctica/Syowa": ["AQ", "-690022+0393524"], + "Antarctica/Troll": ["AQ", "-720041+0023206"], + "Antarctica/Vostok": ["AQ", "-7824+10654"], + "Arctic/Longyearbyen": ["SJ", "+7800+01600"], + "Asia/Aden": ["YE", "+1245+04512"], + "Asia/Almaty": ["KZ", "+4315+07657"], + "Asia/Amman": ["JO", "+3157+03556"], + "Asia/Anadyr": ["RU", "+6445+17729"], + "Asia/Aqtau": ["KZ", "+4431+05016"], + "Asia/Aqtobe": ["KZ", "+5017+05710"], + "Asia/Ashgabat": ["TM", "+3757+05823"], + "Asia/Atyrau": ["KZ", "+4707+05156"], + "Asia/Baghdad": ["IQ", "+3321+04425"], + "Asia/Bahrain": ["BH", "+2623+05035"], + "Asia/Baku": ["AZ", "+4023+04951"], + "Asia/Bangkok": ["TH", "+1345+10031"], + "Asia/Barnaul": ["RU", "+5322+08345"], + "Asia/Beirut": ["LB", "+3353+03530"], + "Asia/Bishkek": ["KG", "+4254+07436"], + "Asia/Brunei": ["BN", "+0456+11455"], + "Asia/Chita": ["RU", "+5203+11328"], + "Asia/Choibalsan": ["MN", "+4804+11430"], + "Asia/Colombo": ["LK", "+0656+07951"], + "Asia/Damascus": ["SY", "+3330+03618"], + "Asia/Dhaka": ["BD", "+2343+09025"], + "Asia/Dili": ["TL", "-0833+12535"], + "Asia/Dubai": ["AE", "+2518+05518"], + "Asia/Dushanbe": ["TJ", "+3835+06848"], + "Asia/Famagusta": ["CY", "+3507+03357"], + "Asia/Gaza": ["PS", "+3130+03428"], + "Asia/Hebron": ["PS", "+313200+0350542"], + "Asia/Ho_Chi_Minh": ["VN", "+1045+10640"], + "Asia/Hong_Kong": ["HK", "+2217+11409"], + "Asia/Hovd": ["MN", "+4801+09139"], + "Asia/Irkutsk": ["RU", "+5216+10420"], + "Asia/Jakarta": ["ID", "-0610+10648"], + "Asia/Jayapura": ["ID", "-0232+14042"], + "Asia/Jerusalem": ["IL", "+314650+0351326"], + "Asia/Kabul": ["AF", "+3431+06912"], + "Asia/Kamchatka": ["RU", "+5301+15839"], + "Asia/Karachi": ["PK", "+2452+06703"], + "Asia/Kathmandu": ["NP", "+2743+08519"], + "Asia/Khandyga": ["RU", "+623923+1353314"], + "Asia/Kolkata": ["IN", "+2232+08822"], + "Asia/Krasnoyarsk": ["RU", "+5601+09250"], + "Asia/Kuala_Lumpur": ["MY", "+0310+10142"], + "Asia/Kuching": ["MY", "+0133+11020"], + "Asia/Kuwait": ["KW", "+2920+04759"], + "Asia/Macau": ["MO", "+221150+1133230"], + "Asia/Magadan": ["RU", "+5934+15048"], + "Asia/Makassar": ["ID", "-0507+11924"], + "Asia/Manila": ["PH", "+1435+12100"], + "Asia/Muscat": ["OM", "+2336+05835"], + "Asia/Nicosia": ["CY", "+3510+03322"], + "Asia/Novokuznetsk": ["RU", "+5345+08707"], + "Asia/Novosibirsk": ["RU", "+5502+08255"], + "Asia/Omsk": ["RU", "+5500+07324"], + "Asia/Oral": ["KZ", "+5113+05121"], + "Asia/Phnom_Penh": ["KH", "+1133+10455"], + "Asia/Pontianak": ["ID", "-0002+10920"], + "Asia/Pyongyang": ["KP", "+3901+12545"], + "Asia/Qatar": ["QA", "+2517+05132"], + "Asia/Qostanay": ["KZ", "+5312+06337"], + "Asia/Qyzylorda": ["KZ", "+4448+06528"], + "Asia/Riyadh": ["SA", "+2438+04643"], + "Asia/Sakhalin": ["RU", "+4658+14242"], + "Asia/Samarkand": ["UZ", "+3940+06648"], + "Asia/Seoul": ["KR", "+3733+12658"], + "Asia/Shanghai": ["CN", "+3114+12128"], + "Asia/Singapore": ["SG", "+0117+10351"], + "Asia/Srednekolymsk": ["RU", "+6728+15343"], + "Asia/Taipei": ["TW", "+2503+12130"], + "Asia/Tashkent": ["UZ", "+4120+06918"], + "Asia/Tbilisi": ["GE", "+4143+04449"], + "Asia/Tehran": ["IR", "+3540+05126"], + "Asia/Thimphu": ["BT", "+2728+08939"], + "Asia/Tokyo": ["JP", "+353916+1394441"], + "Asia/Tomsk": ["RU", "+5630+08458"], + "Asia/Ulaanbaatar": ["MN", "+4755+10653"], + "Asia/Urumqi": ["CN", "+4348+08735"], + "Asia/Ust-Nera": ["RU", "+643337+1431336"], + "Asia/Vientiane": ["LA", "+1758+10236"], + "Asia/Vladivostok": ["RU", "+4310+13156"], + "Asia/Yakutsk": ["RU", "+6200+12940"], + "Asia/Yangon": ["MM", "+1647+09610"], + "Asia/Yekaterinburg": ["RU", "+5651+06036"], + "Asia/Yerevan": ["AM", "+4011+04430"], + "Atlantic/Azores": ["PT", "+3744-02540"], + "Atlantic/Bermuda": ["BM", "+3217-06446"], + "Atlantic/Canary": ["ES", "+2806-01524"], + "Atlantic/Cape_Verde": ["CV", "+1455-02331"], + "Atlantic/Faroe": ["FO", "+6201-00646"], + "Atlantic/Madeira": ["PT", "+3238-01654"], + "Atlantic/Reykjavik": ["IS", "+6409-02151"], + "Atlantic/South_Georgia": ["GS", "-5416-03632"], + "Atlantic/St_Helena": ["SH", "-1555-00542"], + "Atlantic/Stanley": ["FK", "-5142-05751"], + "Australia/Adelaide": ["AU", "-3455+13835"], + "Australia/Brisbane": ["AU", "-2728+15302"], + "Australia/Broken_Hill": ["AU", "-3157+14127"], + "Australia/Darwin": ["AU", "-1228+13050"], + "Australia/Eucla": ["AU", "-3143+12852"], + "Australia/Hobart": ["AU", "-4253+14719"], + "Australia/Lindeman": ["AU", "-2016+14900"], + "Australia/Lord_Howe": ["AU", "-3133+15905"], + "Australia/Melbourne": ["AU", "-3749+14458"], + "Australia/Perth": ["AU", "-3157+11551"], + "Australia/Sydney": ["AU", "-3352+15113"], + "Europe/Amsterdam": ["NL", "+5222+00454"], + "Europe/Andorra": ["AD", "+4230+00131"], + "Europe/Astrakhan": ["RU", "+4621+04803"], + "Europe/Athens": ["GR", "+3758+02343"], + "Europe/Belgrade": ["RS", "+4450+02030"], + "Europe/Berlin": ["DE", "+5230+01322"], + "Europe/Bratislava": ["SK", "+4809+01707"], + "Europe/Brussels": ["BE", "+5050+00420"], + "Europe/Bucharest": ["RO", "+4426+02606"], + "Europe/Budapest": ["HU", "+4730+01905"], + "Europe/Busingen": ["DE", "+4742+00841"], + "Europe/Chisinau": ["MD", "+4700+02850"], + "Europe/Copenhagen": ["DK", "+5540+01235"], + "Europe/Dublin": ["IE", "+5320-00615"], + "Europe/Gibraltar": ["GI", "+3608-00521"], + "Europe/Guernsey": ["GG", "+492717-0023210"], + "Europe/Helsinki": ["FI", "+6010+02458"], + "Europe/Isle_of_Man": ["IM", "+5409-00428"], + "Europe/Istanbul": ["TR", "+4101+02858"], + "Europe/Jersey": ["JE", "+491101-0020624"], + "Europe/Kaliningrad": ["RU", "+5443+02030"], + "Europe/Kirov": ["RU", "+5836+04939"], + "Europe/Kyiv": ["UA", "+5026+03031"], + "Europe/Lisbon": ["PT", "+3843-00908"], + "Europe/Ljubljana": ["SI", "+4603+01431"], + "Europe/London": ["GB", "+513030-0000731"], + "Europe/Luxembourg": ["LU", "+4936+00609"], + "Europe/Madrid": ["ES", "+4024-00341"], + "Europe/Malta": ["MT", "+3554+01431"], + "Europe/Mariehamn": ["AX", "+6006+01957"], + "Europe/Minsk": ["BY", "+5354+02734"], + "Europe/Monaco": ["MC", "+4342+00723"], + "Europe/Moscow": ["RU", "+554521+0373704"], + "Europe/Oslo": ["NO", "+5955+01045"], + "Europe/Paris": ["FR", "+4852+00220"], + "Europe/Podgorica": ["ME", "+4226+01916"], + "Europe/Prague": ["CZ", "+5005+01426"], + "Europe/Riga": ["LV", "+5657+02406"], + "Europe/Rome": ["IT", "+4154+01229"], + "Europe/Samara": ["RU", "+5312+05009"], + "Europe/San_Marino": ["SM", "+4355+01228"], + "Europe/Sarajevo": ["BA", "+4352+01825"], + "Europe/Saratov": ["RU", "+5134+04602"], + "Europe/Simferopol": ["UA", "+4457+03406"], + "Europe/Skopje": ["MK", "+4159+02126"], + "Europe/Sofia": ["BG", "+4241+02319"], + "Europe/Stockholm": ["SE", "+5920+01803"], + "Europe/Tallinn": ["EE", "+5925+02445"], + "Europe/Tirane": ["AL", "+4120+01950"], + "Europe/Ulyanovsk": ["RU", "+5420+04824"], + "Europe/Vaduz": ["LI", "+4709+00931"], + "Europe/Vatican": ["VA", "+415408+0122711"], + "Europe/Vienna": ["AT", "+4813+01620"], + "Europe/Vilnius": ["LT", "+5441+02519"], + "Europe/Volgograd": ["RU", "+4844+04425"], + "Europe/Warsaw": ["PL", "+5215+02100"], + "Europe/Zagreb": ["HR", "+4548+01558"], + "Europe/Zurich": ["CH", "+4723+00832"], + "Indian/Antananarivo": ["MG", "-1855+04731"], + "Indian/Chagos": ["IO", "-0720+07225"], + "Indian/Christmas": ["CX", "-1025+10543"], + "Indian/Cocos": ["CC", "-1210+09655"], + "Indian/Comoro": ["KM", "-1141+04316"], + "Indian/Kerguelen": ["TF", "-492110+0701303"], + "Indian/Mahe": ["SC", "-0440+05528"], + "Indian/Maldives": ["MV", "+0410+07330"], + "Indian/Mauritius": ["MU", "-2010+05730"], + "Indian/Mayotte": ["YT", "-1247+04514"], + "Indian/Reunion": ["RE", "-2052+05528"], + "Pacific/Apia": ["WS", "-1350-17144"], + "Pacific/Auckland": ["NZ", "-3652+17446"], + "Pacific/Bougainville": ["PG", "-0613+15534"], + "Pacific/Chatham": ["NZ", "-4357-17633"], + "Pacific/Chuuk": ["FM", "+0725+15147"], + "Pacific/Easter": ["CL", "-2709-10926"], + "Pacific/Efate": ["VU", "-1740+16825"], + "Pacific/Fakaofo": ["TK", "-0922-17114"], + "Pacific/Fiji": ["FJ", "-1808+17825"], + "Pacific/Funafuti": ["TV", "-0831+17913"], + "Pacific/Galapagos": ["EC", "-0054-08936"], + "Pacific/Gambier": ["PF", "-2308-13457"], + "Pacific/Guadalcanal": ["SB", "-0932+16012"], + "Pacific/Guam": ["GU", "+1328+14445"], + "Pacific/Honolulu": ["US", "+211825-1575130"], + "Pacific/Kanton": ["KI", "-0247-17143"], + "Pacific/Kiritimati": ["KI", "+0152-15720"], + "Pacific/Kosrae": ["FM", "+0519+16259"], + "Pacific/Kwajalein": ["MH", "+0905+16720"], + "Pacific/Majuro": ["MH", "+0709+17112"], + "Pacific/Marquesas": ["PF", "-0900-13930"], + "Pacific/Midway": ["UM", "+2813-17722"], + "Pacific/Nauru": ["NR", "-0031+16655"], + "Pacific/Niue": ["NU", "-1901-16955"], + "Pacific/Norfolk": ["NF", "-2903+16758"], + "Pacific/Noumea": ["NC", "-2216+16627"], + "Pacific/Pago_Pago": ["AS", "-1416-17042"], + "Pacific/Palau": ["PW", "+0720+13429"], + "Pacific/Pitcairn": ["PN", "-2504-13005"], + "Pacific/Pohnpei": ["FM", "+0658+15813"], + "Pacific/Port_Moresby": ["PG", "-0930+14710"], + "Pacific/Rarotonga": ["CK", "-2114-15946"], + "Pacific/Saipan": ["MP", "+1512+14545"], + "Pacific/Tahiti": ["PF", "-1732-14934"], + "Pacific/Tarawa": ["KI", "+0125+17300"], + "Pacific/Tongatapu": ["TO", "-210800-1751200"], + "Pacific/Wake": ["UM", "+1917+16637"], + "Pacific/Wallis": ["WF", "-1318-17610"] +}