Version Description
If you are using AJAX mode, please read the changelog.
Download this release
Release Info
Developer | benjamin4 |
Plugin | GeoIP Detection |
Version | 5.0.0 |
Comparing to | |
See all releases |
Code changes from version 4.2.3 to 5.0.0
- admin-ui.php +18 -5
- ajax.php +1 -22
- api.php +24 -3
- composer.json +5 -3
- data-sources/auto.php +6 -3
- data-sources/header.php +48 -24
- data-sources/manual.php +3 -2
- data-sources/registry.php +1 -1
- filter.php +7 -2
- geoip-detect-lib.php +3 -1
- geoip-detect.php +4 -4
- js/body_classes.js +16 -3
- js/body_classes.test.js +69 -1
- js/dist/frontend.js +2 -0
- js/dist/frontend.js.map +1 -0
- js/frontend.js +5 -10
- js/lib/check-recursive.js +22 -0
- js/lib/events.js +21 -0
- js/lib/html.js +22 -17
- js/lib/localStorageAccess.js +5 -1
- js/lookup/get_info.js +98 -0
- js/lookup/get_info.test.js +11 -0
- js/lookup/override.js +117 -0
- js/lookup/override.test.js +87 -0
- js/lookup/storage.js +25 -0
- js/main.js +26 -0
- js/shortcodes/helpers.js +1 -1
- js/shortcodes/index.js +7 -2
- js/shortcodes/normal.js +13 -3
- js/shortcodes/onchange.js +48 -0
- js/shortcodes/show-if.js +10 -1
- js/shortcodes/show-if.test.js +6 -1
- lib/geonames/data/country-info.php +354 -354
- lib/geonames/data/country-names.php +266 -266
- package.json +24 -16
- readme.txt +30 -2
- shortcodes/_helpers.php +42 -2
- shortcodes/cf7.php +25 -2
- shortcodes/input.php +4 -1
- shortcodes/main.php +3 -1
- shortcodes/select.php +43 -11
- shortcodes/show_if.php +19 -9
- vendor/composer/ca-bundle/composer.json +1 -1
- vendor/composer/ca-bundle/res/cacert.pem +281 -484
- vendor/composer/ca-bundle/src/CaBundle.php +82 -4
- vendor/composer/installed.json +21 -7
- vendor/geoip2/geoip2/src/Model/AbstractModel.php +2 -0
- vendor/geoip2/geoip2/src/Record/AbstractRecord.php +1 -0
- views/lookup.php +15 -4
admin-ui.php
CHANGED
@@ -59,6 +59,7 @@ function geoip_detect_lookup_page()
|
|
59 |
$message = '';
|
60 |
$action = isset($_POST['action']) ? sanitize_key($_POST['action']) : '';
|
61 |
$ip = isset($_POST['ip']) ? sanitize_text_field($_POST['ip']) : '';
|
|
|
62 |
|
63 |
if (geoip_detect_verify_nonce($action)) {
|
64 |
switch($action) {
|
@@ -76,17 +77,16 @@ function geoip_detect_lookup_page()
|
|
76 |
{
|
77 |
$request_ip = geoip_detect_is_ip($ip) ? $ip : '';
|
78 |
$request_skipCache = !empty($_POST['skip_cache']);
|
79 |
-
$
|
|
|
80 |
|
81 |
$request_locales = null;
|
82 |
if (!empty($_POST['locales'])) {
|
83 |
$request_locales = explode(',', sanitize_text_field($_POST['locales']));
|
84 |
}
|
85 |
|
86 |
-
$
|
87 |
-
|
88 |
-
$end = microtime(true);
|
89 |
-
$ip_lookup_duration = $end - $start;
|
90 |
}
|
91 |
break;
|
92 |
}
|
@@ -95,6 +95,19 @@ function geoip_detect_lookup_page()
|
|
95 |
include_once(GEOIP_PLUGIN_DIR . '/views/lookup.php');
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
function geoip_detect_sanitize_option($opt_name, $opt_value, &$message = '') {
|
99 |
$opt_value = sanitize_text_field($opt_value);
|
100 |
switch($opt_name) {
|
59 |
$message = '';
|
60 |
$action = isset($_POST['action']) ? sanitize_key($_POST['action']) : '';
|
61 |
$ip = isset($_POST['ip']) ? sanitize_text_field($_POST['ip']) : '';
|
62 |
+
$current_ip = geoip_detect2_get_client_ip();
|
63 |
|
64 |
if (geoip_detect_verify_nonce($action)) {
|
65 |
switch($action) {
|
77 |
{
|
78 |
$request_ip = geoip_detect_is_ip($ip) ? $ip : '';
|
79 |
$request_skipCache = !empty($_POST['skip_cache']);
|
80 |
+
$request_skipLocalCache = !empty($_POST['skip_local_cache']);
|
81 |
+
$options = array('skipCache' => $request_skipCache, 'skipLocalCache' => $request_skipLocalCache);
|
82 |
|
83 |
$request_locales = null;
|
84 |
if (!empty($_POST['locales'])) {
|
85 |
$request_locales = explode(',', sanitize_text_field($_POST['locales']));
|
86 |
}
|
87 |
|
88 |
+
$ip_lookup_result = geoip_detect_lookup_page_timed_lookup($request_ip, $request_locales, $options, $current_ip, $ip_lookup_duration);
|
89 |
+
geoip_detect_lookup_page_timed_lookup($request_ip, $request_locales, $options, $current_ip, $ip_lookup_2nd_duration);
|
|
|
|
|
90 |
}
|
91 |
break;
|
92 |
}
|
95 |
include_once(GEOIP_PLUGIN_DIR . '/views/lookup.php');
|
96 |
}
|
97 |
|
98 |
+
function geoip_detect_lookup_page_timed_lookup($request_ip, $request_locales, $options, $current_ip, &$ip_lookup_duration) {
|
99 |
+
$start = microtime(true);
|
100 |
+
if ($request_ip === $current_ip) {
|
101 |
+
$ip_lookup_result = geoip_detect2_get_info_from_current_ip($request_locales, $options);
|
102 |
+
} else {
|
103 |
+
$ip_lookup_result = geoip_detect2_get_info_from_ip($request_ip, $request_locales, $options);
|
104 |
+
}
|
105 |
+
$end = microtime(true);
|
106 |
+
$ip_lookup_duration = $end - $start;
|
107 |
+
|
108 |
+
return $ip_lookup_result;
|
109 |
+
}
|
110 |
+
|
111 |
function geoip_detect_sanitize_option($opt_name, $opt_value, &$message = '') {
|
112 |
$opt_value = sanitize_text_field($opt_value);
|
113 |
switch($opt_name) {
|
ajax.php
CHANGED
@@ -115,34 +115,13 @@ function _geoip_detect2_enqueue_javascript() {
|
|
115 |
return true;
|
116 |
}
|
117 |
|
118 |
-
function _geoip_detect_parcel_get_dist_js($handle) {
|
119 |
-
$urlFile = GEOIP_PLUGIN_DIR . '/js/dist/parcel.json';
|
120 |
-
if (!is_readable($urlFile)) return false;
|
121 |
-
|
122 |
-
$json = file_get_contents($urlFile);
|
123 |
-
$urls = json_decode($json, true);
|
124 |
-
|
125 |
-
if (isset($urls[$handle]))
|
126 |
-
return '/js/dist/' .$urls[$handle];
|
127 |
-
return false;
|
128 |
-
}
|
129 |
-
|
130 |
function _geoip_detect_register_javascript() {
|
131 |
// What about CORS usage?
|
132 |
// if (!get_option('geoip-detect-ajax_enabled')) {
|
133 |
// return;
|
134 |
// }
|
135 |
|
136 |
-
|
137 |
-
if (!$file_uri) {
|
138 |
-
if (WP_DEBUG) {
|
139 |
-
trigger_error('Warning by the geoip-detect-Plugin: the file frontend.js could not be found, JS API will not work.', E_USER_NOTICE);
|
140 |
-
die();
|
141 |
-
}
|
142 |
-
return;
|
143 |
-
}
|
144 |
-
|
145 |
-
wp_register_script('geoip-detect-js', GEOIP_DETECT_PLUGIN_URI . $file_uri, array(), GEOIP_DETECT_VERSION, true);
|
146 |
$data = [
|
147 |
'ajaxurl' => admin_url('/admin-ajax.php'),
|
148 |
'default_locales' => apply_filters('geoip_detect2_locales', null),
|
115 |
return true;
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
function _geoip_detect_register_javascript() {
|
119 |
// What about CORS usage?
|
120 |
// if (!get_option('geoip-detect-ajax_enabled')) {
|
121 |
// return;
|
122 |
// }
|
123 |
|
124 |
+
wp_register_script('geoip-detect-js', GEOIP_DETECT_PLUGIN_URI . 'js/dist/frontend.js', array(), GEOIP_DETECT_VERSION, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
$data = [
|
126 |
'ajaxurl' => admin_url('/admin-ajax.php'),
|
127 |
'default_locales' => apply_filters('geoip_detect2_locales', null),
|
api.php
CHANGED
@@ -132,19 +132,40 @@ function geoip_detect2_get_info_from_ip(string $ip, $locales = null, $options =
|
|
132 |
* @param array(string) $locales List of locale codes to use in name property
|
133 |
* from most preferred to least preferred. (Default: Site language, en)
|
134 |
* @param array Property names with options.
|
135 |
-
* @param boolean $skipCache TRUE: Do not use cache for this request. (Default: FALSE)
|
|
|
136 |
* @param string $source Change the source for this request only. (Valid values: 'auto', 'manual', 'precision', 'header', 'hostinfo')
|
137 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
138 |
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
139 |
-
* @return YellowTree\GeoipDetect\DataSources\City GeoInformation.
|
140 |
*
|
141 |
* @since 2.0.0
|
142 |
* @since 2.4.0 New parameter $skipCache
|
143 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
144 |
* @since 2.7.0 Parameter $options['source'] has been introduced
|
|
|
145 |
*/
|
146 |
function geoip_detect2_get_info_from_current_ip($locales = null, $options = array()) {
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
149 |
|
150 |
|
132 |
* @param array(string) $locales List of locale codes to use in name property
|
133 |
* from most preferred to least preferred. (Default: Site language, en)
|
134 |
* @param array Property names with options.
|
135 |
+
* @param boolean $skipCache TRUE: Do not use persistent cache for this request. (Default: FALSE)
|
136 |
+
* @param boolean $skipLocalCache TRUE: Do not use caching in memory (Default: FALSE)
|
137 |
* @param string $source Change the source for this request only. (Valid values: 'auto', 'manual', 'precision', 'header', 'hostinfo')
|
138 |
* @param float $timeout Total transaction timeout in seconds (Precision+HostIP.info API only)
|
139 |
* @param int $connectTimeout Initial connection timeout in seconds (Precision API only)
|
140 |
+
* @return \YellowTree\GeoipDetect\DataSources\City GeoInformation.
|
141 |
*
|
142 |
* @since 2.0.0
|
143 |
* @since 2.4.0 New parameter $skipCache
|
144 |
* @since 2.5.0 Parameter $skipCache has been renamed to $options with 'skipCache' property
|
145 |
* @since 2.7.0 Parameter $options['source'] has been introduced
|
146 |
+
* @since 5.0.0 The result of this function is cached for the duration of the PHP execution (except if you use skipLocalCache)
|
147 |
*/
|
148 |
function geoip_detect2_get_info_from_current_ip($locales = null, $options = array()) {
|
149 |
+
/** @var \YellowTree\GeoipDetect\DataSources\City */
|
150 |
+
static $cache = null;
|
151 |
+
|
152 |
+
if (empty($options['skipLocalCache'])) {
|
153 |
+
if (!is_null($cache)) {
|
154 |
+
$locales = apply_filters('geoip_detect2_locales', $locales);
|
155 |
+
$data = $cache->jsonSerialize();
|
156 |
+
$data = apply_filters('geoip_detect2_record_data_override_lookup', $data, $cache->traits->ipAddress, $options);
|
157 |
+
$data = apply_filters('geoip_detect2_record_data_after_cache', $data, $cache->traits->ipAddress);
|
158 |
+
$record = new \YellowTree\GeoipDetect\DataSources\City($data, $locales);
|
159 |
+
return $record;
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
$ret = geoip_detect2_get_info_from_ip(geoip_detect2_get_client_ip(), $locales, $options);
|
164 |
+
if (empty($options['skipLocalCache'])) {
|
165 |
+
$cache = $ret;
|
166 |
+
}
|
167 |
+
|
168 |
+
return $ret;
|
169 |
}
|
170 |
|
171 |
|
composer.json
CHANGED
@@ -22,10 +22,12 @@
|
|
22 |
},
|
23 |
"require-dev": {
|
24 |
"phpunit/phpunit": "7.5.20",
|
25 |
-
"roots/wordpress": "5.8",
|
26 |
-
"wp-phpunit/wp-phpunit": "5.
|
|
|
27 |
},
|
28 |
"scripts": {
|
29 |
-
"test": "phpunit"
|
|
|
30 |
}
|
31 |
}
|
22 |
},
|
23 |
"require-dev": {
|
24 |
"phpunit/phpunit": "7.5.20",
|
25 |
+
"roots/wordpress": "5.8.2",
|
26 |
+
"wp-phpunit/wp-phpunit": "5.8.2",
|
27 |
+
"yoast/phpunit-polyfills": "1.0.3"
|
28 |
},
|
29 |
"scripts": {
|
30 |
+
"test": "phpunit",
|
31 |
+
"install-test": "composer install --ignore-platform-reqs"
|
32 |
}
|
33 |
}
|
data-sources/auto.php
CHANGED
@@ -116,7 +116,7 @@ HTML;
|
|
116 |
|
117 |
public function maxmindGetFilename() {
|
118 |
$data_filename = $this->maxmindGetUploadFilename();
|
119 |
-
if (!is_readable($data_filename))
|
120 |
$data_filename = '';
|
121 |
|
122 |
/**
|
@@ -215,6 +215,9 @@ HTML;
|
|
215 |
if (!is_readable($outFile)) {
|
216 |
return 'Error: Something went wrong: the unpacked file cannot be found.';
|
217 |
}
|
|
|
|
|
|
|
218 |
|
219 |
update_option('geoip-detect-auto_downloaded_file', '');
|
220 |
unlink($tmpFile);
|
@@ -224,7 +227,7 @@ HTML;
|
|
224 |
|
225 |
// Ungzip File
|
226 |
protected function unpackArchive($downloadedFilename, $outFile) {
|
227 |
-
if (!is_readable($downloadedFilename))
|
228 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
229 |
if (!\is_writable(dirname($outFile)))
|
230 |
return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
|
@@ -264,7 +267,7 @@ HTML;
|
|
264 |
}
|
265 |
}
|
266 |
|
267 |
-
if (!\is_readable($inFile))
|
268 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
269 |
|
270 |
$ret = copy($inFile, $outFile);
|
116 |
|
117 |
public function maxmindGetFilename() {
|
118 |
$data_filename = $this->maxmindGetUploadFilename();
|
119 |
+
if (!is_readable($data_filename) || !is_file($data_filename))
|
120 |
$data_filename = '';
|
121 |
|
122 |
/**
|
215 |
if (!is_readable($outFile)) {
|
216 |
return 'Error: Something went wrong: the unpacked file cannot be found.';
|
217 |
}
|
218 |
+
if (!is_file($outFile)) {
|
219 |
+
return 'Error: Something went wrong: the unpacked file is a folder.';
|
220 |
+
}
|
221 |
|
222 |
update_option('geoip-detect-auto_downloaded_file', '');
|
223 |
unlink($tmpFile);
|
227 |
|
228 |
// Ungzip File
|
229 |
protected function unpackArchive($downloadedFilename, $outFile) {
|
230 |
+
if (!is_readable($downloadedFilename) || !is_file($downloadedFilename))
|
231 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
232 |
if (!\is_writable(dirname($outFile)))
|
233 |
return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
|
267 |
}
|
268 |
}
|
269 |
|
270 |
+
if (!\is_readable($inFile) || !\is_file($inFile))
|
271 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
272 |
|
273 |
$ret = copy($inFile, $outFile);
|
data-sources/header.php
CHANGED
@@ -30,28 +30,45 @@ class HeaderReader extends \YellowTree\GeoipDetect\DataSources\AbstractReader {
|
|
30 |
);
|
31 |
|
32 |
public function country($ip) {
|
33 |
-
|
34 |
-
$r = array();
|
35 |
|
36 |
$isoCode = '';
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
-
|
53 |
if (!$isoCode) {
|
54 |
-
return _geoip_detect2_get_new_empty_record();
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
57 |
$r['country']['iso_code'] = strtoupper($isoCode);
|
@@ -67,9 +84,9 @@ class HeaderReader extends \YellowTree\GeoipDetect\DataSources\AbstractReader {
|
|
67 |
class HeaderDataSource extends AbstractDataSource {
|
68 |
|
69 |
public function getId() { return 'header'; }
|
70 |
-
public function getLabel() { return __('Special Hosting Providers (Cloudflare, Amazon AWS CloudFront)', 'geoip-detect'); }
|
71 |
|
72 |
-
public function getDescriptionHTML() { return __('These servers already do geodetection
|
73 |
|
74 |
public function getStatusInformationHTML() {
|
75 |
$provider = get_option('geoip-detect-header-provider');
|
@@ -80,22 +97,28 @@ class HeaderDataSource extends AbstractDataSource {
|
|
80 |
$link = 'https://support.cloudflare.com/hc/en-us/articles/200168236-What-does-CloudFlare-IP-Geolocation-do-';
|
81 |
} elseif ($provider == 'aws') {
|
82 |
$link = 'https://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/';
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
-
if ($link)
|
85 |
-
$html = sprintf(__('This needs to be enabled in the admin panel: see <a href="%s">Help</a>.', 'geoip-detect'), $link);
|
86 |
return $html;
|
87 |
}
|
88 |
|
89 |
public function getParameterHTML() {
|
90 |
$provider = get_option('geoip-detect-header-provider');
|
91 |
-
$checked_cloudflare = $provider
|
92 |
-
$checked_aws = $provider
|
|
|
93 |
|
94 |
$label = __('Which Hosting Provider:', 'geoip-detect');
|
|
|
95 |
$html = <<<HTML
|
96 |
<p>$label<br>
|
97 |
<label><input type="radio" name="options_header[provider]" value="cloudflare" $checked_cloudflare /> Cloudflare</label>
|
98 |
<label><input type="radio" name="options_header[provider]" value="aws" $checked_aws /> Amazon AWS CloudFront</label>
|
|
|
99 |
</p>
|
100 |
<br />
|
101 |
HTML;
|
@@ -120,6 +143,7 @@ HTML;
|
|
120 |
'' => __('None', 'geoip-detect'),
|
121 |
'aws' => 'Amazon AWS CloudFront',
|
122 |
'cloudflare' => 'Cloudflare',
|
|
|
123 |
);
|
124 |
if (!isset($labels[$provider]))
|
125 |
$provider = '';
|
30 |
);
|
31 |
|
32 |
public function country($ip) {
|
33 |
+
$r = [];
|
|
|
34 |
|
35 |
$isoCode = '';
|
36 |
+
|
37 |
+
$provider = [
|
38 |
+
'aws' => 'CloudFront-Viewer-Country',
|
39 |
+
'cloudflare' => 'HTTP_CF_IPCOUNTRY',
|
40 |
+
];
|
41 |
+
|
42 |
+
$httpKey = '';
|
43 |
+
if (isset($provider[ $this->options['provider'] ])) {
|
44 |
+
$httpKey = $provider[ $this->options['provider'] ];
|
45 |
+
};
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Customize which key in the $_SERVER array (Request headers) should be used for Geo-Detection
|
49 |
+
* The country should be given in 2-letter ISO 3166-1 codes, uppercase (DE) or lowercase (de).
|
50 |
+
*
|
51 |
+
* @param string $httpKey
|
52 |
+
* @param string $selectedProvider
|
53 |
+
* @api
|
54 |
+
* @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
55 |
+
*
|
56 |
+
*/
|
57 |
+
$httpKey = apply_filters('geoip_detect2_source_header_http_key', $httpKey, $this->options['provider'] );
|
58 |
+
|
59 |
+
if (isset($_SERVER[$httpKey])) {
|
60 |
+
$isoCode = $_SERVER[$httpKey];
|
61 |
+
if (strtoupper($isoCode) == 'XX' /* Not a country / unknown */) {
|
62 |
+
$isoCode = '';
|
63 |
+
}
|
64 |
}
|
65 |
+
|
66 |
if (!$isoCode) {
|
67 |
+
return _geoip_detect2_get_new_empty_record($ip);
|
68 |
+
}
|
69 |
+
if (mb_strlen($isoCode) !== 2) {
|
70 |
+
$errorMessage = 'Invalid country code' . (WP_DEBUG ? (': "' . $isoCode . '"') : '.');
|
71 |
+
return _geoip_detect2_get_new_empty_record($ip, $errorMessage);
|
72 |
}
|
73 |
|
74 |
$r['country']['iso_code'] = strtoupper($isoCode);
|
84 |
class HeaderDataSource extends AbstractDataSource {
|
85 |
|
86 |
public function getId() { return 'header'; }
|
87 |
+
public function getLabel() { return __('Special Hosting Providers (Cloudflare, Amazon AWS CloudFront, or other)', 'geoip-detect'); }
|
88 |
|
89 |
+
public function getDescriptionHTML() { return __('These servers already do a geodetection of the visitor\'s country.', 'geoip-detect'); }
|
90 |
|
91 |
public function getStatusInformationHTML() {
|
92 |
$provider = get_option('geoip-detect-header-provider');
|
97 |
$link = 'https://support.cloudflare.com/hc/en-us/articles/200168236-What-does-CloudFlare-IP-Geolocation-do-';
|
98 |
} elseif ($provider == 'aws') {
|
99 |
$link = 'https://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/';
|
100 |
+
} elseif ($provider == 'other') {
|
101 |
+
$html = __('If your reverse proxy sends the detected country as a 2-letter ISO 3166-1 code, you can configure the name of the request header via the wordpress filter "geoip_detect2_source_header_http_key".', 'geoip-detect');
|
102 |
+
}
|
103 |
+
if ($link) {
|
104 |
+
$html = sprintf(__('This needs to be enabled in the admin panel: see <a href="%s">Help</a>.', 'geoip-detect'), $link);
|
105 |
}
|
|
|
|
|
106 |
return $html;
|
107 |
}
|
108 |
|
109 |
public function getParameterHTML() {
|
110 |
$provider = get_option('geoip-detect-header-provider');
|
111 |
+
$checked_cloudflare = $provider === 'cloudflare' ? 'checked' : '';
|
112 |
+
$checked_aws = $provider === 'aws' ? 'checked' : '';
|
113 |
+
$checked_other = $provider === 'other' ? 'checked' : '';
|
114 |
|
115 |
$label = __('Which Hosting Provider:', 'geoip-detect');
|
116 |
+
$label_other = __('Custom', 'geoip-detect');
|
117 |
$html = <<<HTML
|
118 |
<p>$label<br>
|
119 |
<label><input type="radio" name="options_header[provider]" value="cloudflare" $checked_cloudflare /> Cloudflare</label>
|
120 |
<label><input type="radio" name="options_header[provider]" value="aws" $checked_aws /> Amazon AWS CloudFront</label>
|
121 |
+
<label><input type="radio" name="options_header[provider]" value="other" $checked_other /> $label_other</label>
|
122 |
</p>
|
123 |
<br />
|
124 |
HTML;
|
143 |
'' => __('None', 'geoip-detect'),
|
144 |
'aws' => 'Amazon AWS CloudFront',
|
145 |
'cloudflare' => 'Cloudflare',
|
146 |
+
'other' => __('Custom', 'geoip-detect'),
|
147 |
);
|
148 |
if (!isset($labels[$provider]))
|
149 |
$provider = '';
|
data-sources/manual.php
CHANGED
@@ -220,7 +220,7 @@ HTML;
|
|
220 |
|
221 |
public function isWorking() {
|
222 |
$filename = $this->maxmindGetFilename();
|
223 |
-
if (!is_readable($filename))
|
224 |
return false;
|
225 |
|
226 |
return true;
|
@@ -249,8 +249,9 @@ HTML;
|
|
249 |
if (file_exists(ABSPATH . $filename))
|
250 |
$filename = ABSPATH . $filename;
|
251 |
|
252 |
-
if (!is_readable($filename))
|
253 |
return '';
|
|
|
254 |
|
255 |
try {
|
256 |
$reader = new \GeoIp2\Database\Reader($filename);
|
220 |
|
221 |
public function isWorking() {
|
222 |
$filename = $this->maxmindGetFilename();
|
223 |
+
if (!is_readable($filename) || !is_file($filename))
|
224 |
return false;
|
225 |
|
226 |
return true;
|
249 |
if (file_exists(ABSPATH . $filename))
|
250 |
$filename = ABSPATH . $filename;
|
251 |
|
252 |
+
if (!is_readable($filename) || !is_file($filename)) {
|
253 |
return '';
|
254 |
+
}
|
255 |
|
256 |
try {
|
257 |
$reader = new \GeoIp2\Database\Reader($filename);
|
data-sources/registry.php
CHANGED
@@ -71,7 +71,7 @@ class DataSourceRegistry {
|
|
71 |
if (isset($this->sources[$id]))
|
72 |
return $this->sources[$id];
|
73 |
|
74 |
-
if (WP_DEBUG) {
|
75 |
trigger_error('The source with id "' . $id . '" was requested, but no such source was found. Using default source instead.', E_USER_NOTICE);
|
76 |
}
|
77 |
|
71 |
if (isset($this->sources[$id]))
|
72 |
return $this->sources[$id];
|
73 |
|
74 |
+
if (WP_DEBUG && $id !== '') {
|
75 |
trigger_error('The source with id "' . $id . '" was requested, but no such source was found. Using default source instead.', E_USER_NOTICE);
|
76 |
}
|
77 |
|
filter.php
CHANGED
@@ -36,8 +36,13 @@ function geoip_detect2_get_body_classes() {
|
|
36 |
if ($info->country->isoCode)
|
37 |
$classes[] = 'geoip-country-' . $info->country->isoCode;
|
38 |
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
if ($info->mostSpecificSubdivision->isoCode)
|
43 |
$classes[] = 'geoip-province-' . $info->mostSpecificSubdivision->isoCode;
|
36 |
if ($info->country->isoCode)
|
37 |
$classes[] = 'geoip-country-' . $info->country->isoCode;
|
38 |
|
39 |
+
try {
|
40 |
+
// This attribute was added in later
|
41 |
+
if ($info->country->isInEuropeanUnion)
|
42 |
+
$classes[] = 'geoip-country-is-in-european-union';
|
43 |
+
} catch (\Exception $e) {
|
44 |
+
// ignore
|
45 |
+
}
|
46 |
|
47 |
if ($info->mostSpecificSubdivision->isoCode)
|
48 |
$classes[] = 'geoip-province-' . $info->mostSpecificSubdivision->isoCode;
|
geoip-detect-lib.php
CHANGED
@@ -448,11 +448,13 @@ function _geoip_detect2_get_external_ip_services(int $nb = 3, bool $needsCORS =
|
|
448 |
$ipservicesThatAllowCORS = array(
|
449 |
'http://ipv4.icanhazip.com',
|
450 |
'http://v4.ident.me',
|
|
|
451 |
);
|
452 |
$ipservicesWithoutCORS = array(
|
453 |
'http://ipecho.net/plain',
|
454 |
-
'
|
455 |
);
|
|
|
456 |
|
457 |
$ipservices = $ipservicesThatAllowCORS;
|
458 |
if (!$needsCORS) {
|
448 |
$ipservicesThatAllowCORS = array(
|
449 |
'http://ipv4.icanhazip.com',
|
450 |
'http://v4.ident.me',
|
451 |
+
'http://ipinfo.io/ip',
|
452 |
);
|
453 |
$ipservicesWithoutCORS = array(
|
454 |
'http://ipecho.net/plain',
|
455 |
+
'https://api.ipify.org',
|
456 |
);
|
457 |
+
// Also possible with parsing: http://checkip.dyndns.org
|
458 |
|
459 |
$ipservices = $ipservicesThatAllowCORS;
|
460 |
if (!$needsCORS) {
|
geoip-detect.php
CHANGED
@@ -5,18 +5,18 @@ Plugin URI: http://www.yellowtree.de
|
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
-
Version:
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
12 |
Domain Path: /languages
|
13 |
GitHub Plugin URI: https://github.com/yellowtree/geoip-detect
|
14 |
GitHub Branch: master
|
15 |
-
Requires WP: 5.
|
16 |
Requires PHP: 7.2.5
|
17 |
*/
|
18 |
|
19 |
-
define('GEOIP_DETECT_VERSION', '
|
20 |
|
21 |
/*
|
22 |
Copyright 2013-2021 Yellow Tree, Siegen, Germany
|
@@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
39 |
|
40 |
define('GEOIP_REQUIRED_PHP_VERSION', '7.2.5');
|
41 |
|
42 |
-
// In theory, it should still run in 3.5 . But officially supported is only WP 5.
|
43 |
define('GEOIP_REQUIRED_WP_VERSION', '3.5');
|
44 |
|
45 |
// We need this requirement because WooCommerce hardcoded Maxmind code instead of using composer. This would result in an PHP fatal error when there is a lookup.
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
+
Version: 5.0.0
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
12 |
Domain Path: /languages
|
13 |
GitHub Plugin URI: https://github.com/yellowtree/geoip-detect
|
14 |
GitHub Branch: master
|
15 |
+
Requires WP: 5.4
|
16 |
Requires PHP: 7.2.5
|
17 |
*/
|
18 |
|
19 |
+
define('GEOIP_DETECT_VERSION', '5.0.0');
|
20 |
|
21 |
/*
|
22 |
Copyright 2013-2021 Yellow Tree, Siegen, Germany
|
39 |
|
40 |
define('GEOIP_REQUIRED_PHP_VERSION', '7.2.5');
|
41 |
|
42 |
+
// In theory, it should still run in 3.5 . But officially supported is only WP 5.4 and above.
|
43 |
define('GEOIP_REQUIRED_WP_VERSION', '3.5');
|
44 |
|
45 |
// We need this requirement because WooCommerce hardcoded Maxmind code instead of using composer. This would result in an PHP fatal error when there is a lookup.
|
js/body_classes.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
import { domReady } from './lib/html';
|
2 |
-
import { get_info } from './lookup';
|
3 |
|
4 |
export function calc_classes(record) {
|
5 |
return {
|
@@ -10,6 +10,11 @@ export function calc_classes(record) {
|
|
10 |
};
|
11 |
}
|
12 |
|
|
|
|
|
|
|
|
|
|
|
13 |
export async function add_body_classes() {
|
14 |
const record = await get_info();
|
15 |
|
@@ -18,11 +23,19 @@ export async function add_body_classes() {
|
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
const css_classes = calc_classes(record);
|
22 |
-
|
23 |
await domReady;
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
const body = document.getElementsByTagName('body')[0];
|
|
|
|
|
|
|
|
|
26 |
for (let key of Object.keys(css_classes)) {
|
27 |
const value = css_classes[key];
|
28 |
if (value) {
|
1 |
import { domReady } from './lib/html';
|
2 |
+
import { get_info } from './lookup/get_info';
|
3 |
|
4 |
export function calc_classes(record) {
|
5 |
return {
|
10 |
};
|
11 |
}
|
12 |
|
13 |
+
function remove_css_classes_by_prefix(el, prefix) {
|
14 |
+
const classes = el.className.split(" ").filter(c => !c.startsWith(prefix));
|
15 |
+
el.className = classes.join(" ").trim();
|
16 |
+
}
|
17 |
+
|
18 |
export async function add_body_classes() {
|
19 |
const record = await get_info();
|
20 |
|
23 |
return;
|
24 |
}
|
25 |
|
|
|
|
|
26 |
await domReady;
|
27 |
|
28 |
+
add_classes_to_body(record);
|
29 |
+
}
|
30 |
+
|
31 |
+
export function add_classes_to_body(record) {
|
32 |
+
const css_classes = calc_classes(record);
|
33 |
+
|
34 |
const body = document.getElementsByTagName('body')[0];
|
35 |
+
|
36 |
+
// Remove old classes in case there are any
|
37 |
+
remove_css_classes_by_prefix(body, 'geoip-');
|
38 |
+
|
39 |
for (let key of Object.keys(css_classes)) {
|
40 |
const value = css_classes[key];
|
41 |
if (value) {
|
js/body_classes.test.js
CHANGED
@@ -3,8 +3,12 @@
|
|
3 |
*/
|
4 |
|
5 |
import { getTestRecord, getTestRecordError } from "./test-lib/test-records";
|
6 |
-
import { calc_classes } from "./body_classes";
|
7 |
import Record from "./models/record";
|
|
|
|
|
|
|
|
|
8 |
|
9 |
const emptyRecord = new Record();
|
10 |
const defaultRecord = getTestRecord();
|
@@ -29,5 +33,69 @@ test('calc_classes', () => {
|
|
29 |
"country-is-in-european-union": false,
|
30 |
"province": "",
|
31 |
});
|
|
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
});
|
3 |
*/
|
4 |
|
5 |
import { getTestRecord, getTestRecordError } from "./test-lib/test-records";
|
6 |
+
import { add_classes_to_body, calc_classes } from "./body_classes";
|
7 |
import Record from "./models/record";
|
8 |
+
import { set_override_with_merge } from "./lookup/override";
|
9 |
+
import { options } from './lookup/get_info';
|
10 |
+
import { domReady, isUnitTesting } from "./lib/html";
|
11 |
+
import { get_info_stored_locally_record } from "./lookup/storage";
|
12 |
|
13 |
const emptyRecord = new Record();
|
14 |
const defaultRecord = getTestRecord();
|
33 |
"country-is-in-european-union": false,
|
34 |
"province": "",
|
35 |
});
|
36 |
+
});
|
37 |
|
38 |
+
const waitSomeTime = time => new Promise(resolve => {
|
39 |
+
setTimeout(resolve, time);
|
40 |
+
});
|
41 |
+
|
42 |
+
test('body css_classes with override', async () => {
|
43 |
+
expect(isUnitTesting()).toBe(true);
|
44 |
+
|
45 |
+
const body = document.getElementsByTagName('body')[0];
|
46 |
+
|
47 |
+
add_classes_to_body(defaultRecord);
|
48 |
+
|
49 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(true);
|
50 |
+
expect(body.classList.contains('geoip-country-FR')).toBe(false);
|
51 |
+
|
52 |
+
// No automatic body classes
|
53 |
+
options.do_body_classes = false;
|
54 |
+
set_override_with_merge('country.iso_code', 'FR');
|
55 |
+
await waitSomeTime(100);
|
56 |
+
|
57 |
+
let record = get_info_stored_locally_record();
|
58 |
+
|
59 |
+
expect(record.get_country_iso()).toBe('fr');
|
60 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(true);
|
61 |
+
expect(body.classList.contains('geoip-country-FR')).toBe(false);
|
62 |
+
|
63 |
+
// Body classes should be automatic
|
64 |
+
options.do_body_classes = true;
|
65 |
+
set_override_with_merge('country.iso_code', 'IT');
|
66 |
+
await waitSomeTime(100);
|
67 |
+
|
68 |
+
record = get_info_stored_locally_record();
|
69 |
+
expect(record.get_country_iso()).toBe('it');
|
70 |
+
|
71 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(false);
|
72 |
+
expect(body.classList.contains('geoip-country-FR')).toBe(false);
|
73 |
+
expect(body.classList.contains('geoip-country-IT')).toBe(true);
|
74 |
+
});
|
75 |
+
|
76 |
+
test('ddd body css_classes with reevaluate test', async () => {
|
77 |
+
const body = document.getElementsByTagName('body')[0];
|
78 |
+
|
79 |
+
add_classes_to_body(defaultRecord);
|
80 |
+
|
81 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(true);
|
82 |
+
expect(body.classList.contains('geoip-country-FR')).toBe(false);
|
83 |
+
|
84 |
+
// Body classes should be skipped
|
85 |
+
set_override_with_merge('country.iso_code', 'CZ', { reevaluate: false });
|
86 |
+
await waitSomeTime(100);
|
87 |
+
|
88 |
+
let record = get_info_stored_locally_record();
|
89 |
+
expect(record.get_country_iso()).toBe('cz');
|
90 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(true);
|
91 |
+
expect(body.classList.contains('geoip-country-CZ')).toBe(false);
|
92 |
+
|
93 |
+
// Body classes should now be evaluated even though there is no change in data (because the change of CZ was not applied yet)
|
94 |
+
set_override_with_merge('country.iso_code', 'CZ', { reevaluate: true });
|
95 |
+
await waitSomeTime(100);
|
96 |
+
|
97 |
+
record = get_info_stored_locally_record();
|
98 |
+
expect(record.get_country_iso()).toBe('cz');
|
99 |
+
expect(body.classList.contains('geoip-country-DE')).toBe(false);
|
100 |
+
expect(body.classList.contains('geoip-country-CZ')).toBe(true);
|
101 |
});
|
js/dist/frontend.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
!function(){function t(t){return t&&t.__esModule?t.default:t}function e(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function r(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function c(t){e(a,o,i,c,u,"next",t)}function u(t){e(a,o,i,c,u,"throw",t)}c(void 0)}))}}function n(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){return t&&t.constructor===Symbol?"symbol":typeof t}var a={},c=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new A(n||[]);return i._invoke=function(t,e,r){var n=f;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return T()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=L(a,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var u=l(t,e,r);if("normal"===u.type){if(n=r.done?h:p,u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=h,r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var f="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function m(){}var _={};u(_,i,(function(){return this}));var w=Object.getPrototypeOf,b=w&&w(w(O([])));b&&b!==r&&n.call(b,i)&&(_=b);var x=m.prototype=y.prototype=Object.create(_);function k(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(o,i,a,c){var u=l(t[o],t,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function L(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,L(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function O(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:T}}function T(){return{value:e,done:!0}}return g.prototype=m,u(x,"constructor",m),u(m,"constructor",g),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,u(t,c,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},k(E.prototype),u(E.prototype,a,(function(){return this})),t.AsyncIterator=E,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new E(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(x),u(x,c,"Generator"),u(x,i,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=O,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(S),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(a);try{regeneratorRuntime=c}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=c:Function("r","regeneratorRuntime = r")(c)}var u=function(t,e,r){if(!t)return r;var n,o;Array.isArray(e)&&(n=e.slice(0));"string"==typeof e&&(n=e.split("."));"symbol"==typeof e&&(n=[e]);if(!Array.isArray(n))throw new Error("props arg must be an array, a string or a symbol");for(;n.length;){if(o=n.shift(),!t)return r;if(void 0===(t=t[o]))return r}return t};var s=function(t){return t=t.split(".").map((function(t){return"string"!=typeof t||"string"!=typeof t[0]?"":t=(t=t[0].toLowerCase()+t.slice(1)).replace(/([A-Z])/g,"_$1").toLowerCase()})).join(".")},l=function(){"use strict";function t(e,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),o(this,"data",{}),o(this,"default_locales",[]),this.data=e||{is_empty:!0},this.default_locales=["en"],this.default_locales=this._process_locales(r)}var e,r,a;return e=t,(r=[{key:"get",value:function(t,e){return this.get_with_locales(t,null,e)}},{key:"get_raw",value:function(t){return t=s(t),u(this.data,t,null)}},{key:"has_property",value:function(t){return null!==this._lookup_with_locales(t,this.default_locales,null)}},{key:"_lookup_with_locales",value:function(t,e,r){var n=void 0===r?"":r;e=this._process_locales(e),".name"===t.substr(-5)&&(t=t.substr(0,t.length-5));var o=this.get_raw(t);return null!==(o=function(t,e){if("object"==typeof t&&null!==t){if("object"==typeof t.names&&"object"==typeof e)for(var r=0;r<e.length;r++){var n=e[r];if(t.names[n])return t.names[n]}return t.name?t.name:""}return t}(o,e))&&""!==o||(o=n),o}},{key:"_process_locales",value:function(t){return"string"==typeof t&&(t=[t]),Array.isArray(t)&&0!==t.length||(t=this.default_locales),t}},{key:"get_with_locales",value:function(t,e,r){var n=this._lookup_with_locales(t,e,r);return"object"==typeof n&&console.warn('Geolocation IP Detection: The property "'+t+'" is of type "'+(void 0===n?"undefined":i(n))+'", should be string or similar',n),void 0===n?(console.warn('Geolocation IP Detection: The property "'+t+'" is not defined, please check spelling or maybe you need a different data source',{data:this.data}),""):n}},{key:"get_country_iso",value:function(){var t=this.get("country.iso_code");return t&&(t=t.substr(0,2).toLowerCase()),t}},{key:"is_empty",value:function(){return this.get("is_empty",!1)}},{key:"error",value:function(){return this.get_raw("extra.error")||""}},{key:"serialize",value:function(){return this.data}}])&&n(e.prototype,r),a&&n(e,a),t}(),f=function(t,e){var r=void 0===e?"GET":e,n=new XMLHttpRequest;return new Promise((function(e,o){n.onreadystatechange=function(){4===n.readyState&&(n.status>=200&&n.status<300?e(n):o({status:n.status,statusText:n.statusText,request:n}))},n.open(r||"GET",t,!0),n.send()}))},p=function(t){try{return JSON.parse(t)}catch(e){return d("Invalid JSON: "+t)}};function d(t){return{is_empty:!0,extra:{error:t}}}var h,v=(h=r(t(a).mark((function e(r,n){var o,i;return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=void 0===n?"GET":n,t.prev=1,t.next=4,f(r,o);case 4:if((i=t.sent).responseText&&"0"!==i.responseText){t.next=7;break}return t.abrupt("return",d("Got an empty response from server. Did you enable AJAX in the options?"));case 7:return t.abrupt("return",p(i.responseText));case 10:return t.prev=10,t.t0=t.catch(1),t.abrupt("return",p(t.t0.request.responseText));case 13:case"end":return t.stop()}}),e,null,[[1,10]])}))),function(){return h.apply(this,arguments)}),y=function(t,e,r){var n={value:e,expires_at:(new Date).getTime()+1e3*r/1};localStorage.setItem(t.toString(),JSON.stringify(n))};function g(){return function(t){var e=null;try{e=JSON.parse(localStorage.getItem(t.toString()))}catch(t){return null}if(null!==e){if(!(null!==e.expires_at&&e.expires_at<(new Date).getTime()))return e.value;localStorage.removeItem(t.toString())}return null}(b.cookie_name)}function m(t,e){y(b.cookie_name,t,e)}var _,w={};var b=(null===(_=window.geoip_detect)||void 0===_?void 0:_.options)||{ajaxurl:"/wp-admin/admin-ajax.php",default_locales:["en"],cookie_duration_in_days:7,cookie_name:"geoip-detect-result",do_body_classes:!1},x=null;function k(){if(!x){var t=b.ajaxurl+"?action=geoip_detect2_get_info_from_current_ip";(x=v(t)).then((function(t){var e;(null==t||null===(e=t.extra)||void 0===e?void 0:e.error)&&console.error("Geolocation IP Detection Error: Server returned an error: "+t.extra.error)}))}return x}function E(){return(E=r(t(a).mark((function e(){var r,n,o,i,c;return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=!1,n=!1,!b.cookie_name){t.next=7;break}if(!(n=g())||!n.extra){t.next=7;break}return!0===n.extra.override?console.info("Geolocation IP Detection: Using cached response (override)"):console.info("Geolocation IP Detection: Using cached response"),t.abrupt("return",n);case 7:return t.prev=7,t.next=10,k();case 10:r=t.sent,t.next=17;break;case 13:t.prev=13,t.t0=t.catch(7),console.log("Weird: Uncaught error...",t.t0),r=t.t0.responseJSON||t.t0;case 17:if(!b.cookie_name){t.next=26;break}if(!0!==(null==(n=g())||null===(o=n.extra)||void 0===o?void 0:o.override)){t.next=23;break}return console.info("Geolocation IP Detection: Using cached response (override)"),t.abrupt("return",n);case 23:c=86400*b.cookie_duration_in_days,(null==r||null===(i=r.extra)||void 0===i?void 0:i.error)&&(c=60),m(r,c);case 26:return t.abrupt("return",r);case 27:case"end":return t.stop()}}),e,null,[[7,13]])})))).apply(this,arguments)}function L(){return E.apply(this,arguments)}function j(){return(j=r(t(a).mark((function e(){var r,n;return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,L();case 2:return"object"!=typeof(r=t.sent)&&(console.error("Geolocation IP Detection Error: Record should be an object, not a "+(void 0===r?"undefined":i(r)),r),r={extra:{error:r||"Network error, look at the original server response ..."}}),n=new l(r,b.default_locales),t.abrupt("return",n);case 6:case"end":return t.stop()}}),e)})))).apply(this,arguments)}function S(){return j.apply(this,arguments)}var A=function(t,e,r){var n,o,i;Array.isArray(e)&&(n=e.slice(0));"string"==typeof e&&(n=e.split("."));"symbol"==typeof e&&(n=[e]);if(!Array.isArray(n))throw new Error("props arg must be an array, a string or a symbol");if(!(o=n.pop()))return!1;O(o);for(;i=n.shift();)if(O(i),void 0===t[i]&&(t[i]={}),!(t=t[i])||"object"!=typeof t)return!1;return t[o]=r,!0};function O(t){if("__proto__"===t||"constructor"===t||"prototype"===t)throw new Error("setting of prototype values not supported")}var T=P;function P(t,e){return t===e||(t!=t&&e!=e||{}.toString.call(t)=={}.toString.call(e)&&(t===Object(t)&&(!!t&&(Array.isArray(t)?G(t,e):"[object Set]"=={}.toString.call(t)?G(Array.from(t),Array.from(e)):"[object Object]"=={}.toString.call(t)?function(t,e){var r=Object.keys(t).sort(),n=Object.keys(e).sort(),o=r.length;if(o!=n.length)return!1;for(var i=0;i<o;i++){var a=r[i],c=n[i];if(a!=c||!P(t[a],e[c]))return!1}return!0}(t,e):function(t,e){return t.toString()===e.toString()}(t,e)))))}function G(t,e){var r=t.length;if(r!=e.length)return!1;for(var n=!0,o=0;o<r;o++)if(!P(t[o],e[o])){n=!1;break}return n}var I=new Promise((function(t){"loading"===document.readyState?document.addEventListener?document.addEventListener("DOMContentLoaded",t):document.attachEvent("onreadystatechange",(function(){"loading"!=document.readyState&&t()})):t()}));function N(t,e,r){for(var n=0;n<t.options.length;n++)if(t.options[n].getAttribute(e)===r)return t.selectedIndex=n,!0;return!1}function C(t){var e=t.getAttribute("data-options");try{return JSON.parse(e)}catch(t){return{}}}function D(){return(D=r(t(a).mark((function e(r,n,o){var i,c;return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((i=document.getElementsByClassName(r)).length){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,S();case 5:if(!(c=t.sent).error()){t.next=9;break}return console.error("Geolocation IP Detection Error ("+n+"): "+c.error()),t.abrupt("return");case 9:Array.from(i).forEach((function(t){return o(t,c)}));case 10:case"end":return t.stop()}}),e)})))).apply(this,arguments)}function J(t,e,r){return D.apply(this,arguments)}function R(t,e,r){var n=void 0===r?null:r,o=C(t);return n=n||o.property,o.skip_cache&&console.warn("Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME."),e.get_with_locales(n,o.lang,o.default)}var F=!1;function U(t,e,r){var n,o=void 0===r?null:r;F=!0,window.CustomEvent&&"function"==typeof window.CustomEvent?n=new CustomEvent(e,{detail:o}):(n=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,o),t.dispatchEvent(n),F=!1}var M=!1,q=0;function z(t){if(!F){var e=t.target;(null==e?void 0:e.matches)&&e.matches(".js-geoip-detect-input-autosave")&&function(t){var e=C(t).property,r=t.value;if(q++,!(M||q>10?(console.warn("Error: Thats weird! autosave change detected a recursion ("+q+")! Please file a bug report about this and include the first 10 lines of the callstack below:"),console.trace(),0):(M=!0,1)))return;if(t.matches("select.js-geoip-detect-country-select")){var n=t.options[t.selectedIndex];ot("country.iso_code",(null==n?void 0:n.getAttribute("data-c")).toUpperCase(),{reevaluate:!1})}ot(e,r,{reevaluate:!0}),M=!1}(e)}}function W(t,e){t.innerText=R(t,e)}function X(t,e){var r=e.get_country_iso()||C(t).default;r&&t.classList.add("flag-icon-"+r)}function Y(t,e){(N(t,"data-c",e.get_country_iso())||N(t,"data-c",""))&&U(t,"change")}function B(t,e){t.value=R(t,e),U(t,"change")}var H=function(t,e){if(!Array.isArray(t)||!Array.isArray(e))throw new Error("expected both arguments to be arrays");for(var r=[],n=t.length,o=0;o<n;o++){var i=t[o];e.indexOf(i)>-1&&-1==r.indexOf(i)&&r.push(i)}return r};function Z(t,e){var r=C(t);(function(t,e,r){var n=["name","iso_code","iso_code3","code","geoname_id"],o="or"!==t.op;t.conditions.forEach((function(i){var a=!1,c=[],u=r.get_raw(i.p);null===u?a=!1:"object"==typeof u?n.forEach((function(t){u[t]?c.push(u[t]):"name"==t&&c.push(r.get_with_locales(i.p,e.lang))})):c=[u],a=function(t,e){!0===e[0]?e=["true","yes","y","1"]:!1===e[0]&&(e=["false","no","n","0",""]);if(e=e.map((function(t){return String(t).toLowerCase()})),-1!==(t=t.split(",")).indexOf("")&&0===e.length)return!0;return H(t,e).length>0}(i.v,c),i.not&&(a=!a),o="or"===t.op?o||a:o&&a})),t.not&&(o=!o);return o})(r.parsed,r,e)?(t.style.display="",t.classList.remove("geoip-hidden"),t.classList.add("geoip-shown")):(t.style.display="none",t.classList.add("geoip-hidden"),t.classList.remove("geoip-shown"))}var $,K=function(){document.addEventListener("change",z,!1)},Q=($=r(t(a).mark((function e(){return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,I;case 2:J("js-geoip-detect-shortcode","could not execute shortcode(s) [geoip_detect2 ...]",W),J("js-geoip-detect-flag","could not configure the flag(s)",X),J("js-geoip-text-input","could not set the value of the text input field(s)",B),J("js-geoip-detect-country-select","could not set the value of the select field(s)",Y),J("js-geoip-detect-show-if","could not execute the show-if/hide-if conditions",Z);case 7:case"end":return t.stop()}}),e)}))),function(){return $.apply(this,arguments)});function V(){return(V=r(t(a).mark((function e(){var r;return t(a).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,S();case 2:if(!(r=t.sent).error()){t.next=6;break}return console.error("Geolocation IP Detection Error (could not add CSS-classes to body): "+r.error()),t.abrupt("return");case 6:return t.next=8,I;case 8:tt(r);case 9:case"end":return t.stop()}}),e)})))).apply(this,arguments)}function tt(t){var e,r,n,o=function(t){return{country:t.get("country.iso_code"),"country-is-in-european-union":t.get("country.is_in_european_union",!1),continent:t.get("continent.code"),province:t.get("most_specific_subdivision.iso_code")}}(t),i=document.getElementsByTagName("body")[0];r="geoip-",n=(e=i).className.split(" ").filter((function(t){return!t.startsWith(r)})),e.className=n.join(" ").trim();var a=!0,c=!1,u=void 0;try{for(var s,l=Object.keys(o)[Symbol.iterator]();!(a=(s=l.next()).done);a=!0){var f=s.value,p=o[f];p&&("string"==typeof p?i.classList.add("geoip-".concat(f,"-").concat(p)):i.classList.add("geoip-".concat(f)))}}catch(t){c=!0,u=t}finally{try{a||null==l.return||l.return()}finally{if(c)throw u}}}var et=!0;function rt(){et&&(K(),et=!1),b.do_body_classes&&function(){V.apply(this,arguments)}(),Q(),w=g()}function nt(t){return"number"==typeof(t=t||{})&&(t={duration_in_days:t}),t.duration_in_days=t.duration_in_days||b.cookie_duration_in_days,t.duration_in_days<0?(console.warn("Geolocation IP Detection set_override_data() did nothing: A negative duration doesn't make sense. If you want to remove the override, use remove_override() instead."),!1):(void 0===t.reevaluate&&(t.reevaluate=!0),t)}function ot(t,e,r){var n=g();it(n=function(t,e,r){t=t||{},e=s(e=e||"");var n=u(t,e);return"object"==typeof n&&"object"==typeof n.names&&(e+=".name"),e.endsWith(".name")&&(e+="s",r={en:r}),A(t,e,r),t}(n,t,e),r)}function it(t,e){return e=nt(e),t&&"function"==typeof t.serialize&&(t=t.serialize()),function(t,e){if(A(t=t||{},"extra.override",!0),y(b.cookie_name,t,86400*e.duration_in_days),e.reevaluate&&!T(t,function(){return w}()))return rt(),!0;return!1}(t,e)}rt(),window.geoip_detect.get_info=S,window.geoip_detect.set_override=it,window.geoip_detect.remove_override=function(t){return t=nt(t),y(b.cookie_name,{},-1),t.reevaluate&&rt(),!0}}();
|
2 |
+
//# sourceMappingURL=frontend.js.map
|
js/dist/frontend.js.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","node_modules/just-safe-get/index.mjs","js/models/record.js","node_modules/@swc/helpers/src/_class_call_check.js","js/lib/xhr.js","js/lib/localStorageAccess.js","js/lookup/storage.js","js/lookup/get_info.js","node_modules/just-safe-set/index.mjs","node_modules/just-compare/index.mjs","js/lib/html.js","js/shortcodes/helpers.js","js/lib/events.js","js/lib/check-recursive.js","js/shortcodes/onchange.js","js/shortcodes/normal.js","node_modules/just-intersect/index.mjs","js/shortcodes/show-if.js","js/shortcodes/index.js","js/body_classes.js","js/main.js","js/lookup/override.js","js/frontend.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","export default function _typeof(obj) {\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var objectSafeGet = get;\n\n/*\n const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n get(obj, 'a.aa.aaa'); // 2\n get(obj, ['a', 'aa', 'aaa']); // 2\n\n get(obj, 'b.bb.bbb'); // undefined\n get(obj, ['b', 'bb', 'bbb']); // undefined\n\n get(obj.a, 'aa.aaa'); // 2\n get(obj.a, ['aa', 'aaa']); // 2\n\n get(obj.b, 'bb.bbb'); // undefined\n get(obj.b, ['bb', 'bbb']); // undefined\n\n get(obj.b, 'bb.bbb', 42); // 42\n get(obj.b, ['bb', 'bbb'], 42); // 42\n\n get(null, 'a'); // undefined\n get(undefined, ['a']); // undefined\n\n get(null, 'a', 42); // 42\n get(undefined, ['a'], 42); // 42\n\n const obj = {a: {}};\n const sym = Symbol();\n obj.a[sym] = 4;\n get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n if (!obj) {\n return defaultValue;\n }\n var props, prop;\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0);\n }\n if (typeof propsArg == 'string') {\n props = propsArg.split('.');\n }\n if (typeof propsArg == 'symbol') {\n props = [propsArg];\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol');\n }\n while (props.length) {\n prop = props.shift();\n if (!obj) {\n return defaultValue;\n }\n obj = obj[prop];\n if (obj === undefined) {\n return defaultValue;\n }\n }\n return obj;\n}\n\nexport {objectSafeGet as default};\n","import _get from 'just-safe-get';\n\n\nconst _get_localized = function(ret, locales) {\n if (typeof(ret) === 'object' && ret !== null) {\n if (typeof (ret.names) === 'object' && typeof (locales) === 'object') {\n for (let i = 0 ; i < locales.length ; i++) {\n let locale = locales[i];\n\n if (ret.names[locale]) {\n return ret.names[locale];\n }\n }\n }\n\n if (ret.name) {\n return ret.name;\n }\n\n return '';\n }\n return ret;\n}\n\nexport const camelToUnderscore = function(key) {\n key = key.split('.').map((x) => {\n if (typeof (x) !== 'string' || typeof (x[0]) !== 'string') {\n return '';\n }\n x = x[0].toLowerCase() + x.slice(1); // to allow \"MostSpecificSubdivision\"\n x = x.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n return x;\n }).join('.');\n\n return key;\n}\n\nclass Record {\n data = {};\n default_locales = [];\n\n constructor(data, default_locales) {\n this.data = data || { is_empty: true };\n \n this.default_locales = ['en']; \n this.default_locales = this._process_locales(default_locales);\n }\n\n get(prop, default_value) {\n return this.get_with_locales(prop, null, default_value);\n }\n\n get_raw(prop) {\n prop = camelToUnderscore(prop);\n return _get(this.data, prop, null);\n }\n \n has_property(prop) {\n const ret = this._lookup_with_locales(prop, this.default_locales, null)\n return ret !== null;\n }\n\n _lookup_with_locales(prop, locales, default_value = '') {\n locales = this._process_locales(locales);\n\n // Treat pseudo-property 'name' as if it never existed\n if (prop.substr(-5) === '.name') {\n prop = prop.substr(0, prop.length - 5);\n }\n\n let ret = this.get_raw(prop);\n \n // Localize property, if possible\n ret = _get_localized(ret, locales);\n \n if (ret === null || ret === '') {\n ret = default_value;\n }\n\n return ret;\n }\n \n _process_locales(locales) {\n if (typeof(locales) === 'string') {\n locales = [ locales ];\n }\n if (!Array.isArray(locales) || locales.length === 0) {\n locales = this.default_locales;\n }\n return locales;\n }\n\n get_with_locales(prop, locales, default_value) {\n const ret = this._lookup_with_locales(prop, locales, default_value);\n\n if (typeof(ret) === 'object') {\n console.warn('Geolocation IP Detection: The property \"' + prop + '\" is of type \"' + typeof (ret) + '\", should be string or similar', ret)\n }\n if (typeof(ret) === 'undefined') {\n console.warn('Geolocation IP Detection: The property \"' + prop + '\" is not defined, please check spelling or maybe you need a different data source', { data: this.data })\n return '';\n }\n\n return ret;\n }\n\n get_country_iso() {\n let country = this.get('country.iso_code');\n if(country) {\n country = country.substr(0, 2).toLowerCase();\n }\n return country;\n }\n\n /**\n * Check if there is information available for this IP\n * @returns boolean \n */\n is_empty() {\n return this.get('is_empty', false);\n }\n \n /**\n * Get error message, if any\n * @return string Error Message\n */\n error() {\n return this.get_raw('extra.error') || '';\n }\n\n /**\n * Get the raw data of this object\n * @returns object\n */\n serialize() {\n return this.data;\n }\n}\n\nexport default Record;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","// @see https://gomakethings.com/promise-based-xhr/\n\nexport const makeRequest = function (url, method = 'GET') {\n\n // Create the XHR request\n var request = new XMLHttpRequest();\n\n // Return it as a Promise\n return new Promise(function (resolve, reject) {\n\n // Setup our listener to process compeleted requests\n request.onreadystatechange = function () {\n\n // Only run if the request is complete\n if (request.readyState !== 4) return;\n\n // Process the response\n if (request.status >= 200 && request.status < 300) {\n // If successful\n resolve(request);\n } else {\n // If failed\n reject({\n status: request.status,\n statusText: request.statusText,\n request: request\n });\n }\n\n };\n\n // Setup our HTTP request\n request.open(method || 'GET', url, true);\n\n // Send the request\n request.send();\n\n });\n};\n\nexport const jsonDecodeIfPossible = function(str) {\n try {\n return JSON.parse(str);\n } catch(e) {\n return createErrorObject('Invalid JSON: ' + str);\n }\n}\n\nfunction createErrorObject(errorMsg) {\n return {\n is_empty: true,\n extra: {\n error: errorMsg\n }\n };\n}\n\nexport const makeJSONRequest = async function(url, method = 'GET') {\n try {\n const request = await makeRequest(url, method);\n if (!request.responseText || request.responseText === '0') {\n return createErrorObject('Got an empty response from server. Did you enable AJAX in the options?');\n }\n return jsonDecodeIfPossible(request.responseText);\n } catch(e) {\n return jsonDecodeIfPossible(e.request.responseText);\n }\n}\n","export const setLocalStorage = function (variable, value, ttl_sec) {\n var data = {value: value, expires_at: new Date().getTime() + (ttl_sec * 1000) / 1 };\n localStorage.setItem(variable.toString(), JSON.stringify(data));\n};\n\nexport function removeLocalStorage(variable) {\n localStorage.removeItem(variable);\n}\n\nexport const getLocalStorage = function (variable) {\n let data = null;\n try {\n data = JSON.parse(localStorage.getItem(variable.toString()));\n } catch(e) {\n return null;\n }\n if (data !== null) {\n if (data.expires_at !== null && data.expires_at < new Date().getTime()) {\n localStorage.removeItem(variable.toString());\n } else {\n return data.value;\n }\n }\n return null;\n}","import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './get_info';\nimport Record from '../models/record';\n\n// Sync function in case it is known that no AJAX will occur\nexport function getRecordDataFromLocalStorage() {\n return getLocalStorage(globalOptions.cookie_name);\n}\n\nexport function setRecordDataToLocalStorage(data, cache_duration) {\n setLocalStorage(globalOptions.cookie_name, data, cache_duration);\n}\n\nlet lastEvaluated = {};\nexport function getRecordDataLastEvaluated() {\n return lastEvaluated;\n}\nexport function setRecordDataLastEvaluated() {\n lastEvaluated = getRecordDataFromLocalStorage();\n}\n\n\nexport function get_info_stored_locally_record() {\n return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);\n}\n","import Record from '../models/record';\n\nimport { makeJSONRequest } from '../lib/xhr';\nimport { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from \"./storage\";\n\n\nexport const options = window.geoip_detect?.options || {\n ajaxurl: \"/wp-admin/admin-ajax.php\",\n default_locales: ['en'],\n cookie_duration_in_days: 7,\n cookie_name: 'geoip-detect-result',\n do_body_classes: false\n};\n\nlet ajaxPromise = null;\n\nfunction get_info_raw() {\n if (!ajaxPromise) {\n // Do Ajax Request only once per page load\n const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'\n\n ajaxPromise = makeJSONRequest(url);\n \n ajaxPromise.then((response) => {\n if (response?.extra?.error) {\n console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);\n }\n })\n }\n\n return ajaxPromise;\n}\n\nasync function get_info_cached() {\n let response = false;\n let storedResponse = false;\n\n // 1) Load Info from localstorage cookie cache, if possible\n if (options.cookie_name) {\n storedResponse = getRecordDataFromLocalStorage()\n if (storedResponse && storedResponse.extra) {\n if (storedResponse.extra.override === true) {\n console.info('Geolocation IP Detection: Using cached response (override)');\n } else {\n console.info('Geolocation IP Detection: Using cached response');\n }\n return storedResponse;\n }\n }\n\n // 2) Get response\n try {\n response = await get_info_raw();\n } catch (err) {\n console.log('Weird: Uncaught error...', err);\n response = err.responseJSON || err;\n }\n\n // 3) Save info to localstorage cookie cache\n if (options.cookie_name) {\n\n // Check if Override has been set now\n storedResponse = getRecordDataFromLocalStorage()\n if (storedResponse?.extra?.override === true) {\n console.info('Geolocation IP Detection: Using cached response (override)');\n return storedResponse;\n }\n\n let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;\n if (response?.extra?.error)\n cache_duration = 60; // Cache errors only for 1 minute, then try again\n \n setRecordDataToLocalStorage(response, cache_duration);\n }\n\n return response;\n}\n\n\n/**\n * Load the data from the server\n * \n * (It can also be loaded from the browser localstorage, if the record data is present there already.)\n * \n * @api\n * @return Promise(Record)\n */\nexport async function get_info() {\n let response = await get_info_cached();\n\n if (typeof (response) !== 'object') {\n console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);\n response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };\n }\n\n const record = new Record(response, options.default_locales);\n return record;\n}\n","var objectSafeSet = set;\n\n/*\n var obj1 = {};\n set(obj1, 'a.aa.aaa', 4); // true\n obj1; // {a: {aa: {aaa: 4}}}\n\n var obj2 = {};\n set(obj2, ['a', 'aa', 'aaa'], 4); // true\n obj2; // {a: {aa: {aaa: 4}}}\n\n var obj3 = {a: {aa: {aaa: 2}}};\n set(obj3, 'a.aa.aaa', 3); // true\n obj3; // {a: {aa: {aaa: 3}}}\n\n // don't clobber existing\n var obj4 = {a: {aa: {aaa: 2}}};\n set(obj4, 'a.aa', {bbb: 7}); // false\n\n const obj5 = {a: {}};\n const sym = Symbol();\n set(obj5.a, sym, 7); // true\n obj5; // {a: {Symbol(): 7}}\n*/\n\nfunction set(obj, propsArg, value) {\n var props, lastProp;\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0);\n }\n if (typeof propsArg == 'string') {\n props = propsArg.split('.');\n }\n if (typeof propsArg == 'symbol') {\n props = [propsArg];\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol');\n }\n lastProp = props.pop();\n if (!lastProp) {\n return false;\n }\n prototypeCheck(lastProp);\n var thisProp;\n while ((thisProp = props.shift())) {\n prototypeCheck(thisProp);\n if (typeof obj[thisProp] == 'undefined') {\n obj[thisProp] = {};\n }\n obj = obj[thisProp];\n if (!obj || typeof obj != 'object') {\n return false;\n }\n }\n obj[lastProp] = value;\n return true;\n}\n\nfunction prototypeCheck(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') {\n throw new Error('setting of prototype values not supported');\n }\n}\n\nexport {objectSafeSet as default};\n","var collectionCompare = compare;\n\n/*\n primitives: value1 === value2\n functions: value1.toString == value2.toString\n arrays: if length, sequence and values of properties are identical\n objects: if length, names and values of properties are identical\n compare([[1, [2, 3]], [[1, [2, 3]]); // true\n compare([[1, [2, 3], 4], [[1, [2, 3]]); // false\n compare({a: 2, b: 3}, {a: 2, b: 3}); // true\n compare({a: 2, b: 3}, {b: 3, a: 2}); // true\n compare({a: 2, b: 3, c: 4}, {a: 2, b: 3}); // false\n compare({a: 2, b: 3}, {a: 2, b: 3, c: 4}); // false\n compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]); // true\n*/\n\nfunction compare(value1, value2) {\n if (value1 === value2) {\n return true;\n }\n /* eslint-disable no-self-compare */\n // if both values are NaNs return true\n if (value1 !== value1 && value2 !== value2) {\n return true;\n }\n if ({}.toString.call(value1) != {}.toString.call(value2)) {\n return false;\n }\n if (value1 !== Object(value1)) {\n // non equal primitives\n return false;\n }\n if (!value1) {\n return false;\n }\n if (Array.isArray(value1)) {\n return compareArrays(value1, value2);\n }\n if ({}.toString.call(value1) == '[object Set]') {\n return compareArrays(Array.from(value1), Array.from(value2));\n }\n if ({}.toString.call(value1) == '[object Object]') {\n return compareObjects(value1, value2);\n } else {\n return compareNativeSubtypes(value1, value2);\n }\n}\n\nfunction compareNativeSubtypes(value1, value2) {\n // e.g. Function, RegExp, Date\n return value1.toString() === value2.toString();\n}\n\nfunction compareArrays(value1, value2) {\n var len = value1.length;\n if (len != value2.length) {\n return false;\n }\n var alike = true;\n for (var i = 0; i < len; i++) {\n if (!compare(value1[i], value2[i])) {\n alike = false;\n break;\n }\n }\n return alike;\n}\n\nfunction compareObjects(value1, value2) {\n var keys1 = Object.keys(value1).sort();\n var keys2 = Object.keys(value2).sort();\n var len = keys1.length;\n if (len != keys2.length) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key1 = keys1[i];\n var key2 = keys2[i];\n if (!(key1 == key2 && compare(value1[key1], value2[key2]))) {\n return false;\n }\n }\n return true;\n}\n\nexport {collectionCompare as default};\n","export function isUnitTesting() {\n return process.env.JEST_WORKER_ID !== undefined;\n}\n\nexport const domReady = new Promise(resolve => {\n if (isUnitTesting()) {\n resolve();\n }\n\n if (document.readyState === \"loading\") {\n if (document.addEventListener) {\n document.addEventListener('DOMContentLoaded', resolve);\n } else {\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState != 'loading') {\n resolve();\n }\n });\n }\n } else {\n resolve();\n }\n});\n\nexport function selectItemByValue(el, value) {\n for (var i = 0; i < el.options.length; i++) {\n if (el.options[i].value === value) {\n el.selectedIndex = i;\n return true;\n }\n }\n return false;\n}\n\n/**\n * @param {*} el Select Tag\n * @param {string} attributeName HTML attribute name to search by\n * @param {string} attributeValue HTML attribute value to search by\n * @returns boolean TRUE if Value found in select tag\n */\nexport function selectItemByAttribute(el, attributeName, attributeValue) {\n for (let i = 0; i < el.options.length; i++) {\n if (el.options[i].getAttribute(attributeName) === attributeValue) {\n el.selectedIndex = i;\n return true;\n }\n }\n return false;\n}","import { get_info } from \"../lookup/get_info\";\n\n// Get Options from data-options and json parse them\nexport function get_options(el) {\n const raw = el.getAttribute('data-options');\n try {\n return JSON.parse(raw);\n } catch (e) {\n return {};\n }\n}\n\nexport async function action_on_elements(className, errorMessage, callback) {\n const elements = document.getElementsByClassName(className);\n if (!elements.length) return;\n\n const record = await get_info();\n\n if (record.error()) {\n console.error('Geolocation IP Detection Error (' + errorMessage + '): ' + record.error());\n return;\n }\n\n Array.from(elements)\n .forEach(el => callback(el, record));\n}\n\nexport function get_value_from_record(el, record, property = null) {\n const opt = get_options(el);\n property = property || opt.property;\n if (opt.skip_cache) {\n console.warn(\"Geolocation IP Detection: The property 'skip_cache' is ignored in AJAX mode. You could disable the response caching on the server by setting the constant GEOIP_DETECT_READER_CACHE_TIME.\");\n }\n\n return record.get_with_locales(property, opt.lang, opt.default);\n}","\nlet _internalEvent = false;\nexport function isInternalEvent() {\n return _internalEvent;\n}\n\nexport function triggerNativeEvent(el, eventName, options = null) {\n _internalEvent = true;\n\n let event;\n if (window.CustomEvent && typeof window.CustomEvent === 'function') {\n event = new CustomEvent(eventName, {detail : options});\n } else {\n // Compat for IE\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, options);\n }\n el.dispatchEvent(event);\n\n _internalEvent = false;\n}","\nlet _listener_active = false; // for recursion detection (maybe remove later)\nlet _change_counter = 0; \n\nexport function check_recursive_before() {\n _change_counter++;\n if (_listener_active || _change_counter > 10) {\n console.warn('Error: Thats weird! autosave change detected a recursion (' + _change_counter + ')! Please file a bug report about this and include the first 10 lines of the callstack below:');\n console.trace();\n if (process.env.NODE_ENV !== 'production') {\n debugger;\n }\n return false;\n }\n _listener_active = true;\n return true;\n}\n\n\nexport function check_recursive_after() {\n _listener_active = false;\n}","\nimport { check_recursive_after, check_recursive_before } from \"../lib/check-recursive\";\nimport { isInternalEvent } from \"../lib/events\";\nimport { set_override_with_merge } from \"../lookup/override\";\nimport { get_options } from \"./helpers\";\n\nexport function init() {\n document.addEventListener('change', event_listener_autosave_on_change, false);\n}\n\nfunction event_listener_autosave_on_change(event) {\n if (isInternalEvent()) {\n return;\n }\n\n const target = event.target;\n if (target?.matches && target.matches('.js-geoip-detect-input-autosave')) {\n if (process.env.NODE_ENV !== 'production') {\n console.log('autosave on change', target);\n }\n\n autosave_element(target);\n }\n}\n\n/**\n * When calling this method, be very careful not to introduce an infinite loop!\n * @param {*} el \n */\nexport function autosave_element(el) {\n const property = get_options(el).property;\n const value = el.value;\n\n if (!check_recursive_before()) {\n return;\n }\n\n if (el.matches('select.js-geoip-detect-country-select')) {\n const selected = el.options[el.selectedIndex];\n const isoCode = selected?.getAttribute('data-c');\n\n set_override_with_merge('country.iso_code', isoCode.toUpperCase(), { reevaluate: false });\n }\n\n set_override_with_merge(property, value, { reevaluate: true }); // might call do_shortcodes etc.\n\n check_recursive_after();\n}","import { triggerNativeEvent } from \"../lib/events\";\nimport { selectItemByAttribute } from \"../lib/html\";\nimport { get_value_from_record, get_options } from \"./helpers\";\nimport { autosave_element } from \"./onchange\";\n\nexport function do_shortcode_normal(el, record) {\n el.innerText = get_value_from_record(el, record);\n}\n\nexport function do_shortcode_flags(el, record) {\n const country = record.get_country_iso() || get_options(el).default;\n if (country) {\n el.classList.add('flag-icon-' + country)\n }\n}\n\n\nexport function do_shortcode_country_select(el, record) {\n let country = record.get_country_iso();\n\n if (selectItemByAttribute(el, 'data-c', country)) {\n triggerNativeEvent(el, 'change');\n return;\n }\n\n // The country is not the list of countries - select empty option instead\n if (selectItemByAttribute(el, 'data-c', '')) {\n triggerNativeEvent(el, 'change');\n } \n}\n\nexport function do_shortcode_text_input(el, record) {\n el.value = get_value_from_record(el, record);\n triggerNativeEvent(el, 'change');\n}","var arrayIntersect = intersect;\n\n/*\n intersect([1, 2, 5, 6], [2, 3, 5, 6]); // [2, 5, 6]\n intersect([1, 2, 2, 4, 5], [3, 2, 2, 5, 7]); // [2, 5]\n*/\n\nfunction intersect(arr1, arr2) {\n if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n throw new Error('expected both arguments to be arrays');\n }\n var result = [];\n var len = arr1.length;\n for (var i = 0; i < len; i++) {\n var elem = arr1[i];\n if (arr2.indexOf(elem) > -1 && result.indexOf(elem) == -1) {\n result.push(elem);\n }\n }\n return result;\n}\n\nexport {arrayIntersect as default};\n","import { get_options } from './helpers';\nimport _intersect from 'just-intersect';\n\n\nexport function do_shortcode_show_if(el, record) {\n const opt = get_options(el);\n const evaluated = geoip_detect2_shortcode_evaluate_conditions(opt.parsed, opt, record);\n\n if (!evaluated) {\n el.style.display = \"none\";\n el.classList.add('geoip-hidden');\n el.classList.remove('geoip-shown');\n } else {\n el.style.display = '';\n el.classList.remove('geoip-hidden');\n el.classList.add('geoip-shown');\n }\n}\n\nexport function geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record) {\n const alternativePropertyNames = [\n 'name',\n 'iso_code',\n 'iso_code3',\n 'code',\n 'geoname_id',\n ];\n\n let isConditionMatching = (parsed.op === 'or') ? false : true;\n\n parsed.conditions.forEach(c => {\n let subConditionMatching = false;\n let values = [];\n\n const raw_value = record.get_raw(c.p);\n\n if (raw_value === null) {\n subConditionMatching = false;\n } else {\n if (typeof (raw_value) === 'object') {\n alternativePropertyNames.forEach(name => {\n if (raw_value[name]) {\n values.push(raw_value[name]);\n } else if (name == 'name') {\n values.push(record.get_with_locales(c.p, opt.lang));\n }\n })\n } else {\n values = [raw_value]\n }\n }\n\n subConditionMatching = geoip_detect2_shortcode_check_subcondition(c.v, values);\n\n if (c.not) {\n subConditionMatching = !subConditionMatching;\n }\n\n if (parsed.op === 'or') {\n isConditionMatching = isConditionMatching || subConditionMatching;\n } else {\n isConditionMatching = isConditionMatching && subConditionMatching;\n }\n\n });\n\n if (parsed.not) {\n isConditionMatching = !isConditionMatching;\n }\n\n return isConditionMatching;\n}\n\nfunction geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues) {\n if (actualValues[0] === true) {\n actualValues = ['true', 'yes', 'y', '1'];\n } else if (actualValues[0] === false) {\n actualValues = ['false', 'no', 'n', '0', ''];\n }\n\n actualValues = actualValues.map(x => String(x).toLowerCase())\n\n expectedValues = expectedValues.split(',');\n if (expectedValues.indexOf('') !== -1) {\n if (actualValues.length === 0) {\n return true;\n }\n }\n\n const intersect = _intersect(expectedValues, actualValues);\n\n return intersect.length > 0;\n}","import { domReady } from \"../lib/html\";\nimport { action_on_elements } from \"./helpers\";\nimport { do_shortcode_country_select, do_shortcode_flags, do_shortcode_normal, do_shortcode_text_input } from \"./normal\";\nimport { init as onchangeInit } from \"./onchange\";\nimport { do_shortcode_show_if } from \"./show-if\";\n\n\nexport const do_shortcodes_init = function () {\n onchangeInit();\n}\n\nexport const do_shortcodes = async function do_shortcodes() {\n // Before doing any of these, the DOM tree needs to be loaded\n await domReady;\n\n // These are called in parallel, as they are async functions\n action_on_elements('js-geoip-detect-shortcode',\n 'could not execute shortcode(s) [geoip_detect2 ...]', do_shortcode_normal);\n\n action_on_elements('js-geoip-detect-flag',\n 'could not configure the flag(s)', do_shortcode_flags);\n\n action_on_elements('js-geoip-text-input',\n 'could not set the value of the text input field(s)', do_shortcode_text_input);\n\n action_on_elements('js-geoip-detect-country-select',\n 'could not set the value of the select field(s)', do_shortcode_country_select);\n\n action_on_elements('js-geoip-detect-show-if',\n 'could not execute the show-if/hide-if conditions', do_shortcode_show_if);\n};\n","import { domReady } from './lib/html';\nimport { get_info } from './lookup/get_info';\n\nexport function calc_classes(record) {\n return {\n country: record.get('country.iso_code'),\n 'country-is-in-european-union': record.get('country.is_in_european_union', false),\n continent: record.get('continent.code'),\n province: record.get('most_specific_subdivision.iso_code'),\n };\n}\n\nfunction remove_css_classes_by_prefix(el, prefix) {\n const classes = el.className.split(\" \").filter(c => !c.startsWith(prefix));\n el.className = classes.join(\" \").trim();\n}\n\nexport async function add_body_classes() {\n const record = await get_info();\n\n if (record.error()) {\n console.error('Geolocation IP Detection Error (could not add CSS-classes to body): ' + record.error());\n return;\n }\n\n await domReady;\n\n add_classes_to_body(record);\n}\n\nexport function add_classes_to_body(record) {\n const css_classes = calc_classes(record);\n\n const body = document.getElementsByTagName('body')[0];\n \n // Remove old classes in case there are any\n remove_css_classes_by_prefix(body, 'geoip-');\n \n for (let key of Object.keys(css_classes)) {\n const value = css_classes[key];\n if (value) {\n if (typeof (value) == 'string') {\n body.classList.add(`geoip-${key}-${value}`);\n } else {\n body.classList.add(`geoip-${key}`);\n }\n }\n }\n}","import { do_shortcodes, do_shortcodes_init } from './shortcodes/index';\nimport { add_body_classes } from './body_classes';\nimport { options } from './lookup/get_info';\nimport { setRecordDataLastEvaluated } from \"./lookup/storage\";\n\nlet firstCall = true;\n\nexport function main() {\n if (process.env.NODE_ENV !== 'production') {\n console.log('Do Main');\n }\n\n if (firstCall) {\n do_shortcodes_init();\n firstCall = false; \n }\n\n if (options.do_body_classes) {\n add_body_classes();\n }\n\n // Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.\n do_shortcodes();\n\n setRecordDataLastEvaluated();\n}","import { setLocalStorage } from '../lib/localStorageAccess';\nimport { options as globalOptions } from './get_info';\nimport { camelToUnderscore } from '../models/record';\nimport _set from 'just-safe-set';\nimport _get from 'just-safe-get';\nimport _is_object_content_equal from 'just-compare';\nimport { main } from '../main';\nimport { getRecordDataFromLocalStorage, getRecordDataLastEvaluated } from './storage';\n\nfunction processOptions(options) {\n options = options || {};\n if (typeof(options) == 'number') {\n options = {\n 'duration_in_days': options\n };\n }\n\n options.duration_in_days = options.duration_in_days || globalOptions.cookie_duration_in_days;\n if (options.duration_in_days < 0) {\n console.warn('Geolocation IP Detection set_override_data() did nothing: A negative duration doesn\\'t make sense. If you want to remove the override, use remove_override() instead.');\n return false;\n }\n\n if (typeof (options.reevaluate) == 'undefined' ) {\n options.reevaluate = true;\n }\n\n return options;\n}\n\nfunction changeRecord(record, property, value) {\n record = record || {};\n property = property || '';\n\n property = camelToUnderscore(property);\n\n const oldData = _get(record, property);\n if (typeof (oldData) == 'object' && typeof (oldData.names) == 'object') {\n property += '.name';\n }\n if (property.endsWith('.name')) {\n property += 's'; // e.g. country.name -> country.names\n value = { 'en': value };\n }\n\n _set(record, property, value);\n\n return record;\n}\n\n/**\n * Override only one property, leave the other properties as-is.\n * @param {string} property \n * @param {*} value \n */\nexport function set_override_with_merge(property, value, options) {\n let record = getRecordDataFromLocalStorage();\n\n record = changeRecord(record, property, value);\n\n set_override(record, options);\n\n if (process.env.NODE_ENV !== 'production') {\n console.log(\"Override is now: \", getRecordDataFromLocalStorage());\n }\n}\n\n/**\n * This functions allows to override the geodetected data manually (e.g. a country selector)\n * \n * @api\n * @param {*} record \n * @param {object} options\n * @param {number} duration_in_days When this override expires (default: 1 week later)\n * @param {boolean} reevaluate If the shortcodes etc. should be re-evaluated (default: true)\n * @return boolean TRUE if override data changed\n */\nexport function set_override(record, options) {\n options = processOptions(options);\n\n if (record && typeof (record.serialize) === 'function') {\n record = record.serialize();\n }\n\n return set_override_data(record, options);\n}\n\nfunction set_override_data(newData, options) {\n newData = newData || {};\n _set(newData, 'extra.override', true);\n\n setLocalStorage(globalOptions.cookie_name, newData, options.duration_in_days * 24 * 60 * 60);\n\n if (options.reevaluate && !_is_object_content_equal(newData, getRecordDataLastEvaluated())) {\n main();\n return true;\n }\n\n return false;\n}\n\n/**\n * Remove the override data.\n * On next page load, the record data will be loaded from the server again.\n * \n * @return boolean\n */\nexport function remove_override(options) {\n options = processOptions(options);\n setLocalStorage(globalOptions.cookie_name, {}, -1);\n if (options.reevaluate) {\n main();\n }\n return true;\n}\n\n\n","import { get_info } from './lookup/get_info';\nimport { remove_override, set_override } from './lookup/override';\nimport { main } from './main';\n\n// Evaluate shortcodes, body classes, etc.\nmain();\n\n\n// Extend window object \nwindow.geoip_detect.get_info = get_info;\n\nwindow.geoip_detect.set_override = set_override;\nwindow.geoip_detect.remove_override = remove_override;"],"names":["$477fda7effc3c7c2$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","self","this","args","arguments","apply","err","undefined","$cfcc435dea54e8da$var$_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","obj","constructor","Symbol","$d9ff7fa7a3f30499$var$runtime","exports","Op","prototype","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","err1","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","GenStateSuspendedYield","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","result","value1","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","next1","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","key1","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","$d9ff7fa7a3f30499$exports","regeneratorRuntime","accidentalStrictMode","globalThis","Function","$4a4beb35e1398598$export$2e2bcd8739ae039","propsArg","defaultValue","prop","Array","isArray","split","shift","$a4c6bf567c1b63c8$export$13bc6c4afe8cd6ab","map","x","toLowerCase","replace","join","$a4c6bf567c1b63c8$export$2e2bcd8739ae039","$a4c6bf567c1b63c8$var$Record","data","default_locales","instance","Constructor","is_empty","_process_locales","protoProps","staticProps","default_value","get_with_locales","_lookup_with_locales","locales","param","substr","ret","get_raw","names","locale","$a4c6bf567c1b63c8$var$_get_localized","console","warn","$ad2ecac41bdb2824$export$2e2bcd8739ae039","country","get","$5115e01e50a35b95$export$699251e5611cc6db","url","request","XMLHttpRequest","onreadystatechange","readyState","status","statusText","open","send","$5115e01e50a35b95$export$8fe2eaa78e58529f","str","JSON","parse","e","$5115e01e50a35b95$var$createErrorObject","errorMsg","extra","$5115e01e50a35b95$export$49434baf33460b11","_callee","_ctx","responseText","t0","$9a0f598d59a61a3e$export$1f73f60bdb811cb1","variable","ttl_sec","expires_at","Date","getTime","localStorage","setItem","toString","stringify","$f422a70a3b9c8a83$export$c0c5a36406ccde34","getItem","removeItem","$9a0f598d59a61a3e$export$d3720feff416e85b","$b4ba9c8e7a201193$export$41c562ebe57d11e2","cookie_name","$f422a70a3b9c8a83$export$bfae0a1e3adc82ee","cache_duration","ref1","$f422a70a3b9c8a83$var$lastEvaluated","window","geoip_detect","options","ajaxurl","cookie_duration_in_days","do_body_classes","$b4ba9c8e7a201193$var$ajaxPromise","$b4ba9c8e7a201193$var$get_info_raw","response","ref","_get_info_cached","$477fda7effc3c7c2$export$2e2bcd8739ae039","$parcel$interopDefault","storedResponse","ref2","override","log","responseJSON","$b4ba9c8e7a201193$var$get_info_cached","_get_info","$b4ba9c8e7a201193$export$3697bcf53517e83c","$6451de512ae99d8a$export$2e2bcd8739ae039","lastProp","thisProp","$6451de512ae99d8a$var$prototypeCheck","$d73968d8a0a066f2$export$2e2bcd8739ae039","$d73968d8a0a066f2$var$compare","value2","$d73968d8a0a066f2$var$compareArrays","from","keys1","sort","keys2","len","key2","$d73968d8a0a066f2$var$compareObjects","$d73968d8a0a066f2$var$compareNativeSubtypes","alike","$b4d1c184cabe171a$export$d680cb6eec13a7c7","document","addEventListener","attachEvent","$b4d1c184cabe171a$export$212ec54c5d687e78","el","attributeName","attributeValue","getAttribute","selectedIndex","$e41b329f42db23c8$export$aafcad1af8162002","raw","_action_on_elements","className","errorMessage","callback","elements","getElementsByClassName","$e41b329f42db23c8$export$bb8a045c548d38f9","$e41b329f42db23c8$export$2bcc52ba6c088b4a","property","opt","skip_cache","lang","default","$3f68aa62fc033904$var$_internalEvent","$3f68aa62fc033904$export$f0ffca0e7194bd91","eventName","event","CustomEvent","detail","createEvent","initCustomEvent","dispatchEvent","$7944654ce2dd9d65$var$_listener_active","$7944654ce2dd9d65$var$_change_counter","$3bb001785c092908$var$event_listener_autosave_on_change","matches","trace","selected","$03d6c28e95082604$export$38a0b31e9febbbe1","toUpperCase","reevaluate","$3bb001785c092908$export$be51a27c79b931de","$ddb23fab3c6f4620$export$c5bfd938fb7f5403","innerText","$ddb23fab3c6f4620$export$67c46edf2422701b","get_country_iso","classList","add","$ddb23fab3c6f4620$export$8b2cf4a2576ea856","$ddb23fab3c6f4620$export$46eed00f10e80dd5","$599ea47da8784bdb$export$2e2bcd8739ae039","arr1","arr2","elem","indexOf","$34cfab0a14aff422$export$7f72d39cfa7a0f7a","parsed","alternativePropertyNames","isConditionMatching","op","conditions","c","subConditionMatching","raw_value","p","expectedValues","actualValues","String","$34cfab0a14aff422$var$geoip_detect2_shortcode_check_subcondition","v","not","$34cfab0a14aff422$export$626a13a1fe51c67a","style","display","remove","_do_shortcodes","$9cee2e12fa11ef69$export$7481777ea0ea965d","$9cee2e12fa11ef69$export$42610705290faf95","_add_body_classes","$73929a6ea3471960$export$4e7274a5cb77ccb6","prefix","classes","css_classes","continent","province","$73929a6ea3471960$export$fd37e2b9d7d82468","body","getElementsByTagName","filter","startsWith","trim","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","concat","return","$b016e4ccc3c135fb$var$firstCall","$b016e4ccc3c135fb$export$f22da7240b7add18","$73929a6ea3471960$export$69cfbde487906451","$03d6c28e95082604$var$processOptions","duration_in_days","$03d6c28e95082604$export$c3c74383dfd15775","oldData","endsWith","en","$03d6c28e95082604$var$changeRecord","serialize","newData","$f422a70a3b9c8a83$export$88983ef80f4f72ac","$03d6c28e95082604$var$set_override_data","get_info","set_override","remove_override"],"version":3,"file":"frontend.js.map"}
|
js/frontend.js
CHANGED
@@ -1,16 +1,11 @@
|
|
1 |
-
import { get_info
|
2 |
-
import {
|
3 |
-
import {
|
4 |
|
|
|
|
|
5 |
|
6 |
|
7 |
-
if (options.do_body_classes) {
|
8 |
-
add_body_classes();
|
9 |
-
}
|
10 |
-
|
11 |
-
// Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.
|
12 |
-
do_shortcodes();
|
13 |
-
|
14 |
// Extend window object
|
15 |
window.geoip_detect.get_info = get_info;
|
16 |
|
1 |
+
import { get_info } from './lookup/get_info';
|
2 |
+
import { remove_override, set_override } from './lookup/override';
|
3 |
+
import { main } from './main';
|
4 |
|
5 |
+
// Evaluate shortcodes, body classes, etc.
|
6 |
+
main();
|
7 |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
// Extend window object
|
10 |
window.geoip_detect.get_info = get_info;
|
11 |
|
js/lib/check-recursive.js
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
let _listener_active = false; // for recursion detection (maybe remove later)
|
3 |
+
let _change_counter = 0;
|
4 |
+
|
5 |
+
export function check_recursive_before() {
|
6 |
+
_change_counter++;
|
7 |
+
if (_listener_active || _change_counter > 10) {
|
8 |
+
console.warn('Error: Thats weird! autosave change detected a recursion (' + _change_counter + ')! Please file a bug report about this and include the first 10 lines of the callstack below:');
|
9 |
+
console.trace();
|
10 |
+
if (process.env.NODE_ENV !== 'production') {
|
11 |
+
debugger;
|
12 |
+
}
|
13 |
+
return false;
|
14 |
+
}
|
15 |
+
_listener_active = true;
|
16 |
+
return true;
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
export function check_recursive_after() {
|
21 |
+
_listener_active = false;
|
22 |
+
}
|
js/lib/events.js
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
let _internalEvent = false;
|
3 |
+
export function isInternalEvent() {
|
4 |
+
return _internalEvent;
|
5 |
+
}
|
6 |
+
|
7 |
+
export function triggerNativeEvent(el, eventName, options = null) {
|
8 |
+
_internalEvent = true;
|
9 |
+
|
10 |
+
let event;
|
11 |
+
if (window.CustomEvent && typeof window.CustomEvent === 'function') {
|
12 |
+
event = new CustomEvent(eventName, {detail : options});
|
13 |
+
} else {
|
14 |
+
// Compat for IE
|
15 |
+
event = document.createEvent('CustomEvent');
|
16 |
+
event.initCustomEvent(eventName, true, true, options);
|
17 |
+
}
|
18 |
+
el.dispatchEvent(event);
|
19 |
+
|
20 |
+
_internalEvent = false;
|
21 |
+
}
|
js/lib/html.js
CHANGED
@@ -1,15 +1,23 @@
|
|
|
|
|
|
|
|
|
|
1 |
export const domReady = new Promise(resolve => {
|
|
|
|
|
|
|
|
|
2 |
if (document.readyState === "loading") {
|
3 |
if (document.addEventListener) {
|
4 |
document.addEventListener('DOMContentLoaded', resolve);
|
5 |
} else {
|
6 |
document.attachEvent('onreadystatechange', function () {
|
7 |
-
if (document.readyState != 'loading')
|
8 |
resolve();
|
|
|
9 |
});
|
10 |
}
|
11 |
-
}
|
12 |
-
else {
|
13 |
resolve();
|
14 |
}
|
15 |
});
|
@@ -18,27 +26,24 @@ export function selectItemByValue(el, value) {
|
|
18 |
for (var i = 0; i < el.options.length; i++) {
|
19 |
if (el.options[i].value === value) {
|
20 |
el.selectedIndex = i;
|
21 |
-
|
22 |
}
|
23 |
}
|
|
|
24 |
}
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
export function selectItemByAttribute(el, attributeName, attributeValue) {
|
27 |
-
for (
|
28 |
if (el.options[i].getAttribute(attributeName) === attributeValue) {
|
29 |
el.selectedIndex = i;
|
30 |
-
|
31 |
}
|
32 |
}
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
export function triggerNativeEvent(el, name) {
|
37 |
-
if (document.createEvent) {
|
38 |
-
const event = document.createEvent('HTMLEvents');
|
39 |
-
event.initEvent(name, true, false);
|
40 |
-
el.dispatchEvent(event);
|
41 |
-
} else {
|
42 |
-
el.fireEvent('on' + name);
|
43 |
-
}
|
44 |
}
|
1 |
+
export function isUnitTesting() {
|
2 |
+
return process.env.JEST_WORKER_ID !== undefined;
|
3 |
+
}
|
4 |
+
|
5 |
export const domReady = new Promise(resolve => {
|
6 |
+
if (isUnitTesting()) {
|
7 |
+
resolve();
|
8 |
+
}
|
9 |
+
|
10 |
if (document.readyState === "loading") {
|
11 |
if (document.addEventListener) {
|
12 |
document.addEventListener('DOMContentLoaded', resolve);
|
13 |
} else {
|
14 |
document.attachEvent('onreadystatechange', function () {
|
15 |
+
if (document.readyState != 'loading') {
|
16 |
resolve();
|
17 |
+
}
|
18 |
});
|
19 |
}
|
20 |
+
} else {
|
|
|
21 |
resolve();
|
22 |
}
|
23 |
});
|
26 |
for (var i = 0; i < el.options.length; i++) {
|
27 |
if (el.options[i].value === value) {
|
28 |
el.selectedIndex = i;
|
29 |
+
return true;
|
30 |
}
|
31 |
}
|
32 |
+
return false;
|
33 |
}
|
34 |
|
35 |
+
/**
|
36 |
+
* @param {*} el Select Tag
|
37 |
+
* @param {string} attributeName HTML attribute name to search by
|
38 |
+
* @param {string} attributeValue HTML attribute value to search by
|
39 |
+
* @returns boolean TRUE if Value found in select tag
|
40 |
+
*/
|
41 |
export function selectItemByAttribute(el, attributeName, attributeValue) {
|
42 |
+
for (let i = 0; i < el.options.length; i++) {
|
43 |
if (el.options[i].getAttribute(attributeName) === attributeValue) {
|
44 |
el.selectedIndex = i;
|
45 |
+
return true;
|
46 |
}
|
47 |
}
|
48 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
js/lib/localStorageAccess.js
CHANGED
@@ -3,6 +3,10 @@ export const setLocalStorage = function (variable, value, ttl_sec) {
|
|
3 |
localStorage.setItem(variable.toString(), JSON.stringify(data));
|
4 |
};
|
5 |
|
|
|
|
|
|
|
|
|
6 |
export const getLocalStorage = function (variable) {
|
7 |
let data = null;
|
8 |
try {
|
@@ -18,4 +22,4 @@ export const getLocalStorage = function (variable) {
|
|
18 |
}
|
19 |
}
|
20 |
return null;
|
21 |
-
}
|
3 |
localStorage.setItem(variable.toString(), JSON.stringify(data));
|
4 |
};
|
5 |
|
6 |
+
export function removeLocalStorage(variable) {
|
7 |
+
localStorage.removeItem(variable);
|
8 |
+
}
|
9 |
+
|
10 |
export const getLocalStorage = function (variable) {
|
11 |
let data = null;
|
12 |
try {
|
22 |
}
|
23 |
}
|
24 |
return null;
|
25 |
+
}
|
js/lookup/get_info.js
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import Record from '../models/record';
|
2 |
+
|
3 |
+
import { makeJSONRequest } from '../lib/xhr';
|
4 |
+
import { getRecordDataFromLocalStorage, setRecordDataToLocalStorage } from "./storage";
|
5 |
+
|
6 |
+
|
7 |
+
export const options = window.geoip_detect?.options || {
|
8 |
+
ajaxurl: "/wp-admin/admin-ajax.php",
|
9 |
+
default_locales: ['en'],
|
10 |
+
cookie_duration_in_days: 7,
|
11 |
+
cookie_name: 'geoip-detect-result',
|
12 |
+
do_body_classes: false
|
13 |
+
};
|
14 |
+
|
15 |
+
let ajaxPromise = null;
|
16 |
+
|
17 |
+
function get_info_raw() {
|
18 |
+
if (!ajaxPromise) {
|
19 |
+
// Do Ajax Request only once per page load
|
20 |
+
const url = options.ajaxurl + '?action=geoip_detect2_get_info_from_current_ip'
|
21 |
+
|
22 |
+
ajaxPromise = makeJSONRequest(url);
|
23 |
+
|
24 |
+
ajaxPromise.then((response) => {
|
25 |
+
if (response?.extra?.error) {
|
26 |
+
console.error('Geolocation IP Detection Error: Server returned an error: ' + response.extra.error);
|
27 |
+
}
|
28 |
+
})
|
29 |
+
}
|
30 |
+
|
31 |
+
return ajaxPromise;
|
32 |
+
}
|
33 |
+
|
34 |
+
async function get_info_cached() {
|
35 |
+
let response = false;
|
36 |
+
let storedResponse = false;
|
37 |
+
|
38 |
+
// 1) Load Info from localstorage cookie cache, if possible
|
39 |
+
if (options.cookie_name) {
|
40 |
+
storedResponse = getRecordDataFromLocalStorage()
|
41 |
+
if (storedResponse && storedResponse.extra) {
|
42 |
+
if (storedResponse.extra.override === true) {
|
43 |
+
console.info('Geolocation IP Detection: Using cached response (override)');
|
44 |
+
} else {
|
45 |
+
console.info('Geolocation IP Detection: Using cached response');
|
46 |
+
}
|
47 |
+
return storedResponse;
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
// 2) Get response
|
52 |
+
try {
|
53 |
+
response = await get_info_raw();
|
54 |
+
} catch (err) {
|
55 |
+
console.log('Weird: Uncaught error...', err);
|
56 |
+
response = err.responseJSON || err;
|
57 |
+
}
|
58 |
+
|
59 |
+
// 3) Save info to localstorage cookie cache
|
60 |
+
if (options.cookie_name) {
|
61 |
+
|
62 |
+
// Check if Override has been set now
|
63 |
+
storedResponse = getRecordDataFromLocalStorage()
|
64 |
+
if (storedResponse?.extra?.override === true) {
|
65 |
+
console.info('Geolocation IP Detection: Using cached response (override)');
|
66 |
+
return storedResponse;
|
67 |
+
}
|
68 |
+
|
69 |
+
let cache_duration = options.cookie_duration_in_days * 24 * 60 * 60;
|
70 |
+
if (response?.extra?.error)
|
71 |
+
cache_duration = 60; // Cache errors only for 1 minute, then try again
|
72 |
+
|
73 |
+
setRecordDataToLocalStorage(response, cache_duration);
|
74 |
+
}
|
75 |
+
|
76 |
+
return response;
|
77 |
+
}
|
78 |
+
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Load the data from the server
|
82 |
+
*
|
83 |
+
* (It can also be loaded from the browser localstorage, if the record data is present there already.)
|
84 |
+
*
|
85 |
+
* @api
|
86 |
+
* @return Promise(Record)
|
87 |
+
*/
|
88 |
+
export async function get_info() {
|
89 |
+
let response = await get_info_cached();
|
90 |
+
|
91 |
+
if (typeof (response) !== 'object') {
|
92 |
+
console.error('Geolocation IP Detection Error: Record should be an object, not a ' + typeof (response), response);
|
93 |
+
response = { 'extra': { 'error': response || 'Network error, look at the original server response ...' } };
|
94 |
+
}
|
95 |
+
|
96 |
+
const record = new Record(response, options.default_locales);
|
97 |
+
return record;
|
98 |
+
}
|
js/lookup/get_info.test.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @jest-environment jsdom
|
3 |
+
*/
|
4 |
+
|
5 |
+
import { options } from "./get_info";
|
6 |
+
|
7 |
+
test('options', () => {
|
8 |
+
options
|
9 |
+
|
10 |
+
expect(options.do_body_classes).toBe(false);
|
11 |
+
});
|
js/lookup/override.js
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { setLocalStorage } from '../lib/localStorageAccess';
|
2 |
+
import { options as globalOptions } from './get_info';
|
3 |
+
import { camelToUnderscore } from '../models/record';
|
4 |
+
import _set from 'just-safe-set';
|
5 |
+
import _get from 'just-safe-get';
|
6 |
+
import _is_object_content_equal from 'just-compare';
|
7 |
+
import { main } from '../main';
|
8 |
+
import { getRecordDataFromLocalStorage, getRecordDataLastEvaluated } from './storage';
|
9 |
+
|
10 |
+
function processOptions(options) {
|
11 |
+
options = options || {};
|
12 |
+
if (typeof(options) == 'number') {
|
13 |
+
options = {
|
14 |
+
'duration_in_days': options
|
15 |
+
};
|
16 |
+
}
|
17 |
+
|
18 |
+
options.duration_in_days = options.duration_in_days || globalOptions.cookie_duration_in_days;
|
19 |
+
if (options.duration_in_days < 0) {
|
20 |
+
console.warn('Geolocation IP Detection set_override_data() did nothing: A negative duration doesn\'t make sense. If you want to remove the override, use remove_override() instead.');
|
21 |
+
return false;
|
22 |
+
}
|
23 |
+
|
24 |
+
if (typeof (options.reevaluate) == 'undefined' ) {
|
25 |
+
options.reevaluate = true;
|
26 |
+
}
|
27 |
+
|
28 |
+
return options;
|
29 |
+
}
|
30 |
+
|
31 |
+
function changeRecord(record, property, value) {
|
32 |
+
record = record || {};
|
33 |
+
property = property || '';
|
34 |
+
|
35 |
+
property = camelToUnderscore(property);
|
36 |
+
|
37 |
+
const oldData = _get(record, property);
|
38 |
+
if (typeof (oldData) == 'object' && typeof (oldData.names) == 'object') {
|
39 |
+
property += '.name';
|
40 |
+
}
|
41 |
+
if (property.endsWith('.name')) {
|
42 |
+
property += 's'; // e.g. country.name -> country.names
|
43 |
+
value = { 'en': value };
|
44 |
+
}
|
45 |
+
|
46 |
+
_set(record, property, value);
|
47 |
+
|
48 |
+
return record;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Override only one property, leave the other properties as-is.
|
53 |
+
* @param {string} property
|
54 |
+
* @param {*} value
|
55 |
+
*/
|
56 |
+
export function set_override_with_merge(property, value, options) {
|
57 |
+
let record = getRecordDataFromLocalStorage();
|
58 |
+
|
59 |
+
record = changeRecord(record, property, value);
|
60 |
+
|
61 |
+
set_override(record, options);
|
62 |
+
|
63 |
+
if (process.env.NODE_ENV !== 'production') {
|
64 |
+
console.log("Override is now: ", getRecordDataFromLocalStorage());
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* This functions allows to override the geodetected data manually (e.g. a country selector)
|
70 |
+
*
|
71 |
+
* @api
|
72 |
+
* @param {*} record
|
73 |
+
* @param {object} options
|
74 |
+
* @param {number} duration_in_days When this override expires (default: 1 week later)
|
75 |
+
* @param {boolean} reevaluate If the shortcodes etc. should be re-evaluated (default: true)
|
76 |
+
* @return boolean TRUE if override data changed
|
77 |
+
*/
|
78 |
+
export function set_override(record, options) {
|
79 |
+
options = processOptions(options);
|
80 |
+
|
81 |
+
if (record && typeof (record.serialize) === 'function') {
|
82 |
+
record = record.serialize();
|
83 |
+
}
|
84 |
+
|
85 |
+
return set_override_data(record, options);
|
86 |
+
}
|
87 |
+
|
88 |
+
function set_override_data(newData, options) {
|
89 |
+
newData = newData || {};
|
90 |
+
_set(newData, 'extra.override', true);
|
91 |
+
|
92 |
+
setLocalStorage(globalOptions.cookie_name, newData, options.duration_in_days * 24 * 60 * 60);
|
93 |
+
|
94 |
+
if (options.reevaluate && !_is_object_content_equal(newData, getRecordDataLastEvaluated())) {
|
95 |
+
main();
|
96 |
+
return true;
|
97 |
+
}
|
98 |
+
|
99 |
+
return false;
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Remove the override data.
|
104 |
+
* On next page load, the record data will be loaded from the server again.
|
105 |
+
*
|
106 |
+
* @return boolean
|
107 |
+
*/
|
108 |
+
export function remove_override(options) {
|
109 |
+
options = processOptions(options);
|
110 |
+
setLocalStorage(globalOptions.cookie_name, {}, -1);
|
111 |
+
if (options.reevaluate) {
|
112 |
+
main();
|
113 |
+
}
|
114 |
+
return true;
|
115 |
+
}
|
116 |
+
|
117 |
+
|
js/lookup/override.test.js
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @jest-environment jsdom
|
3 |
+
*/
|
4 |
+
|
5 |
+
import { set_override, set_override_with_merge } from "./override";
|
6 |
+
import { getTestRecord } from "../test-lib/test-records";
|
7 |
+
import Record from "../models/record";
|
8 |
+
import { get_info } from "./get_info";
|
9 |
+
import { options as globalOptions } from './get_info';
|
10 |
+
import { get_info_stored_locally_record } from "./storage";
|
11 |
+
|
12 |
+
const defaultRecord = getTestRecord();
|
13 |
+
const emptyRecord = new Record();
|
14 |
+
|
15 |
+
test('override', async () => {
|
16 |
+
let record;
|
17 |
+
|
18 |
+
set_override(defaultRecord);
|
19 |
+
record = await get_info();
|
20 |
+
|
21 |
+
expect(record.get_country_iso()).toBe('de');
|
22 |
+
expect(record.get('extra.override')).toBe(true);
|
23 |
+
|
24 |
+
set_override(emptyRecord);
|
25 |
+
record = await get_info();
|
26 |
+
|
27 |
+
expect(record.get_country_iso()).toBe('');
|
28 |
+
|
29 |
+
set_override({ country: { iso_code: 'fr' } });
|
30 |
+
record = get_info_stored_locally_record();
|
31 |
+
|
32 |
+
expect(record.get_country_iso()).toBe('fr');
|
33 |
+
|
34 |
+
set_override({});
|
35 |
+
record = get_info_stored_locally_record();
|
36 |
+
|
37 |
+
expect(record.get_country_iso()).toBe('');
|
38 |
+
})
|
39 |
+
|
40 |
+
test('override if empty', () => {
|
41 |
+
localStorage.removeItem(globalOptions.cookie_name);
|
42 |
+
set_override_with_merge('country.iso_code', 'FR');
|
43 |
+
let record = get_info_stored_locally_record();
|
44 |
+
expect(record.get_country_iso()).toBe('fr');
|
45 |
+
});
|
46 |
+
|
47 |
+
test('override data', () => {
|
48 |
+
let record;
|
49 |
+
|
50 |
+
set_override({ country: { iso_code: 'fr' } });
|
51 |
+
record = get_info_stored_locally_record();
|
52 |
+
expect(record.get_country_iso()).toBe('fr');
|
53 |
+
|
54 |
+
set_override({});
|
55 |
+
record = get_info_stored_locally_record();
|
56 |
+
expect(record.get_country_iso()).toBe('');
|
57 |
+
|
58 |
+
set_override({ country: { iso_code: 'ru' } });
|
59 |
+
record = get_info_stored_locally_record();
|
60 |
+
expect(record.get_country_iso()).toBe('ru');
|
61 |
+
|
62 |
+
set_override();
|
63 |
+
record = get_info_stored_locally_record();
|
64 |
+
expect(record.get_country_iso()).toBe('');
|
65 |
+
|
66 |
+
set_override_with_merge('country.iso_code', 'fr');
|
67 |
+
record = get_info_stored_locally_record();
|
68 |
+
expect(record.get_country_iso()).toBe('fr');
|
69 |
+
set_override_with_merge('city.name', 'Paris');
|
70 |
+
record = get_info_stored_locally_record();
|
71 |
+
expect(record.get_country_iso()).toBe('fr');
|
72 |
+
expect(record.get('city.name')).toBe('Paris');
|
73 |
+
|
74 |
+
set_override_with_merge('a.b.c', 'd');
|
75 |
+
record = get_info_stored_locally_record();
|
76 |
+
expect(record.get('a.b.c')).toBe('d');
|
77 |
+
});
|
78 |
+
|
79 |
+
test('warning if negative duration', () => {
|
80 |
+
const spy = jest.spyOn(console, 'warn').mockImplementation(() => { })
|
81 |
+
|
82 |
+
const ret = set_override({ country: { iso_code: 'fr' } }, -4);
|
83 |
+
expect(ret).toBe(false);
|
84 |
+
|
85 |
+
expect(spy).toHaveBeenCalled();
|
86 |
+
spy.mockRestore();
|
87 |
+
});
|
js/lookup/storage.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { getLocalStorage, setLocalStorage } from '../lib/localStorageAccess';
|
2 |
+
import { options as globalOptions } from './get_info';
|
3 |
+
import Record from '../models/record';
|
4 |
+
|
5 |
+
// Sync function in case it is known that no AJAX will occur
|
6 |
+
export function getRecordDataFromLocalStorage() {
|
7 |
+
return getLocalStorage(globalOptions.cookie_name);
|
8 |
+
}
|
9 |
+
|
10 |
+
export function setRecordDataToLocalStorage(data, cache_duration) {
|
11 |
+
setLocalStorage(globalOptions.cookie_name, data, cache_duration);
|
12 |
+
}
|
13 |
+
|
14 |
+
let lastEvaluated = {};
|
15 |
+
export function getRecordDataLastEvaluated() {
|
16 |
+
return lastEvaluated;
|
17 |
+
}
|
18 |
+
export function setRecordDataLastEvaluated() {
|
19 |
+
lastEvaluated = getRecordDataFromLocalStorage();
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
export function get_info_stored_locally_record() {
|
24 |
+
return new Record(getRecordDataFromLocalStorage(), globalOptions.default_locales);
|
25 |
+
}
|
js/main.js
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { do_shortcodes, do_shortcodes_init } from './shortcodes/index';
|
2 |
+
import { add_body_classes } from './body_classes';
|
3 |
+
import { options } from './lookup/get_info';
|
4 |
+
import { setRecordDataLastEvaluated } from "./lookup/storage";
|
5 |
+
|
6 |
+
let firstCall = true;
|
7 |
+
|
8 |
+
export function main() {
|
9 |
+
if (process.env.NODE_ENV !== 'production') {
|
10 |
+
console.log('Do Main');
|
11 |
+
}
|
12 |
+
|
13 |
+
if (firstCall) {
|
14 |
+
do_shortcodes_init();
|
15 |
+
firstCall = false;
|
16 |
+
}
|
17 |
+
|
18 |
+
if (options.do_body_classes) {
|
19 |
+
add_body_classes();
|
20 |
+
}
|
21 |
+
|
22 |
+
// Do all the shortcodes that are in the HTML. Even if shortcodes is not enabled globally, they might be enabled for a specific shortcode.
|
23 |
+
do_shortcodes();
|
24 |
+
|
25 |
+
setRecordDataLastEvaluated();
|
26 |
+
}
|
js/shortcodes/helpers.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { get_info } from "../lookup";
|
2 |
|
3 |
// Get Options from data-options and json parse them
|
4 |
export function get_options(el) {
|
1 |
+
import { get_info } from "../lookup/get_info";
|
2 |
|
3 |
// Get Options from data-options and json parse them
|
4 |
export function get_options(el) {
|
js/shortcodes/index.js
CHANGED
@@ -1,10 +1,16 @@
|
|
1 |
import { domReady } from "../lib/html";
|
2 |
import { action_on_elements } from "./helpers";
|
3 |
import { do_shortcode_country_select, do_shortcode_flags, do_shortcode_normal, do_shortcode_text_input } from "./normal";
|
|
|
4 |
import { do_shortcode_show_if } from "./show-if";
|
5 |
|
6 |
|
|
|
|
|
|
|
|
|
7 |
export const do_shortcodes = async function do_shortcodes() {
|
|
|
8 |
await domReady;
|
9 |
|
10 |
// These are called in parallel, as they are async functions
|
@@ -22,5 +28,4 @@ export const do_shortcodes = async function do_shortcodes() {
|
|
22 |
|
23 |
action_on_elements('js-geoip-detect-show-if',
|
24 |
'could not execute the show-if/hide-if conditions', do_shortcode_show_if);
|
25 |
-
|
26 |
-
};
|
1 |
import { domReady } from "../lib/html";
|
2 |
import { action_on_elements } from "./helpers";
|
3 |
import { do_shortcode_country_select, do_shortcode_flags, do_shortcode_normal, do_shortcode_text_input } from "./normal";
|
4 |
+
import { init as onchangeInit } from "./onchange";
|
5 |
import { do_shortcode_show_if } from "./show-if";
|
6 |
|
7 |
|
8 |
+
export const do_shortcodes_init = function () {
|
9 |
+
onchangeInit();
|
10 |
+
}
|
11 |
+
|
12 |
export const do_shortcodes = async function do_shortcodes() {
|
13 |
+
// Before doing any of these, the DOM tree needs to be loaded
|
14 |
await domReady;
|
15 |
|
16 |
// These are called in parallel, as they are async functions
|
28 |
|
29 |
action_on_elements('js-geoip-detect-show-if',
|
30 |
'could not execute the show-if/hide-if conditions', do_shortcode_show_if);
|
31 |
+
};
|
|
js/shortcodes/normal.js
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
-
import {
|
|
|
2 |
import { get_value_from_record, get_options } from "./helpers";
|
|
|
3 |
|
4 |
export function do_shortcode_normal(el, record) {
|
5 |
el.innerText = get_value_from_record(el, record);
|
@@ -12,11 +14,19 @@ export function do_shortcode_flags(el, record) {
|
|
12 |
}
|
13 |
}
|
14 |
|
|
|
15 |
export function do_shortcode_country_select(el, record) {
|
16 |
let country = record.get_country_iso();
|
17 |
|
18 |
-
selectItemByAttribute(el, 'data-c', country)
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
|
22 |
export function do_shortcode_text_input(el, record) {
|
1 |
+
import { triggerNativeEvent } from "../lib/events";
|
2 |
+
import { selectItemByAttribute } from "../lib/html";
|
3 |
import { get_value_from_record, get_options } from "./helpers";
|
4 |
+
import { autosave_element } from "./onchange";
|
5 |
|
6 |
export function do_shortcode_normal(el, record) {
|
7 |
el.innerText = get_value_from_record(el, record);
|
14 |
}
|
15 |
}
|
16 |
|
17 |
+
|
18 |
export function do_shortcode_country_select(el, record) {
|
19 |
let country = record.get_country_iso();
|
20 |
|
21 |
+
if (selectItemByAttribute(el, 'data-c', country)) {
|
22 |
+
triggerNativeEvent(el, 'change');
|
23 |
+
return;
|
24 |
+
}
|
25 |
+
|
26 |
+
// The country is not the list of countries - select empty option instead
|
27 |
+
if (selectItemByAttribute(el, 'data-c', '')) {
|
28 |
+
triggerNativeEvent(el, 'change');
|
29 |
+
}
|
30 |
}
|
31 |
|
32 |
export function do_shortcode_text_input(el, record) {
|
js/shortcodes/onchange.js
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import { check_recursive_after, check_recursive_before } from "../lib/check-recursive";
|
3 |
+
import { isInternalEvent } from "../lib/events";
|
4 |
+
import { set_override_with_merge } from "../lookup/override";
|
5 |
+
import { get_options } from "./helpers";
|
6 |
+
|
7 |
+
export function init() {
|
8 |
+
document.addEventListener('change', event_listener_autosave_on_change, false);
|
9 |
+
}
|
10 |
+
|
11 |
+
function event_listener_autosave_on_change(event) {
|
12 |
+
if (isInternalEvent()) {
|
13 |
+
return;
|
14 |
+
}
|
15 |
+
|
16 |
+
const target = event.target;
|
17 |
+
if (target?.matches && target.matches('.js-geoip-detect-input-autosave')) {
|
18 |
+
if (process.env.NODE_ENV !== 'production') {
|
19 |
+
console.log('autosave on change', target);
|
20 |
+
}
|
21 |
+
|
22 |
+
autosave_element(target);
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* When calling this method, be very careful not to introduce an infinite loop!
|
28 |
+
* @param {*} el
|
29 |
+
*/
|
30 |
+
export function autosave_element(el) {
|
31 |
+
const property = get_options(el).property;
|
32 |
+
const value = el.value;
|
33 |
+
|
34 |
+
if (!check_recursive_before()) {
|
35 |
+
return;
|
36 |
+
}
|
37 |
+
|
38 |
+
if (el.matches('select.js-geoip-detect-country-select')) {
|
39 |
+
const selected = el.options[el.selectedIndex];
|
40 |
+
const isoCode = selected?.getAttribute('data-c');
|
41 |
+
|
42 |
+
set_override_with_merge('country.iso_code', isoCode.toUpperCase(), { reevaluate: false });
|
43 |
+
}
|
44 |
+
|
45 |
+
set_override_with_merge(property, value, { reevaluate: true }); // might call do_shortcodes etc.
|
46 |
+
|
47 |
+
check_recursive_after();
|
48 |
+
}
|
js/shortcodes/show-if.js
CHANGED
@@ -7,9 +7,13 @@ export function do_shortcode_show_if(el, record) {
|
|
7 |
const evaluated = geoip_detect2_shortcode_evaluate_conditions(opt.parsed, opt, record);
|
8 |
|
9 |
if (!evaluated) {
|
10 |
-
el.style.display = "none
|
|
|
|
|
11 |
} else {
|
12 |
el.style.display = '';
|
|
|
|
|
13 |
}
|
14 |
}
|
15 |
|
@@ -77,6 +81,11 @@ function geoip_detect2_shortcode_check_subcondition(expectedValues, actualValues
|
|
77 |
actualValues = actualValues.map(x => String(x).toLowerCase())
|
78 |
|
79 |
expectedValues = expectedValues.split(',');
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
const intersect = _intersect(expectedValues, actualValues);
|
82 |
|
7 |
const evaluated = geoip_detect2_shortcode_evaluate_conditions(opt.parsed, opt, record);
|
8 |
|
9 |
if (!evaluated) {
|
10 |
+
el.style.display = "none";
|
11 |
+
el.classList.add('geoip-hidden');
|
12 |
+
el.classList.remove('geoip-shown');
|
13 |
} else {
|
14 |
el.style.display = '';
|
15 |
+
el.classList.remove('geoip-hidden');
|
16 |
+
el.classList.add('geoip-shown');
|
17 |
}
|
18 |
}
|
19 |
|
81 |
actualValues = actualValues.map(x => String(x).toLowerCase())
|
82 |
|
83 |
expectedValues = expectedValues.split(',');
|
84 |
+
if (expectedValues.indexOf('') !== -1) {
|
85 |
+
if (actualValues.length === 0) {
|
86 |
+
return true;
|
87 |
+
}
|
88 |
+
}
|
89 |
|
90 |
const intersect = _intersect(expectedValues, actualValues);
|
91 |
|
js/shortcodes/show-if.test.js
CHANGED
@@ -6,10 +6,15 @@ const { getTestRecordError, getTestRecord } = require("../test-lib/test-records"
|
|
6 |
import { geoip_detect2_shortcode_evaluate_conditions } from './show-if';
|
7 |
|
8 |
const testFixture = require('../../tests/fixture_shortcode_show_if.json');
|
9 |
-
|
10 |
test.each(testFixture)('Show if Test #%d: %s', (nb, input, expected, parsed, opt) => {
|
11 |
const record = getTestRecord(opt.lang);
|
12 |
const result = geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record);
|
13 |
expect(result).toBe(expected);
|
14 |
});
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
import { geoip_detect2_shortcode_evaluate_conditions } from './show-if';
|
7 |
|
8 |
const testFixture = require('../../tests/fixture_shortcode_show_if.json');
|
|
|
9 |
test.each(testFixture)('Show if Test #%d: %s', (nb, input, expected, parsed, opt) => {
|
10 |
const record = getTestRecord(opt.lang);
|
11 |
const result = geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record);
|
12 |
expect(result).toBe(expected);
|
13 |
});
|
14 |
|
15 |
+
const testFixtureEmpty = require('../../tests/fixture_shortcode_show_if_empty.json');
|
16 |
+
test.each(testFixtureEmpty)('Show if (empty) Test #%d: %s', (nb, input, expected, parsed, opt) => {
|
17 |
+
const record = getTestRecordError(opt.lang);
|
18 |
+
const result = geoip_detect2_shortcode_evaluate_conditions(parsed, opt, record);
|
19 |
+
expect(result).toBe(expected);
|
20 |
+
});
|
lib/geonames/data/country-info.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at Mon,
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
@@ -109,8 +109,8 @@ return array (
|
|
109 |
'de' => 'Antigua und Barbuda',
|
110 |
'it' => 'Antigua e Barbuda',
|
111 |
'es' => 'Antigua y Barbuda',
|
112 |
-
'fr' => 'Antigua
|
113 |
-
'ja' => '
|
114 |
'pt-BR' => 'Antígua e Barbuda',
|
115 |
'ru' => 'Антигуа и Барбуда',
|
116 |
'zh-CN' => '安提瓜和巴布达',
|
@@ -172,7 +172,7 @@ return array (
|
|
172 |
'it' => 'Albania',
|
173 |
'es' => 'Albania',
|
174 |
'fr' => 'Albanie',
|
175 |
-
'ja' => '
|
176 |
'pt-BR' => 'Albânia',
|
177 |
'ru' => 'Албания',
|
178 |
'zh-CN' => '阿尔巴尼亚',
|
@@ -203,7 +203,7 @@ return array (
|
|
203 |
'it' => 'Armenia',
|
204 |
'es' => 'Armenia',
|
205 |
'fr' => 'Arménie',
|
206 |
-
'ja' => '
|
207 |
'pt-BR' => 'Armênia',
|
208 |
'ru' => 'Армения',
|
209 |
'zh-CN' => '亚美尼亚',
|
@@ -234,7 +234,7 @@ return array (
|
|
234 |
'it' => 'Angola',
|
235 |
'es' => 'Angola',
|
236 |
'fr' => 'Angola',
|
237 |
-
'ja' => '
|
238 |
'pt-BR' => 'Angola',
|
239 |
'ru' => 'Ангола',
|
240 |
'zh-CN' => '安哥拉',
|
@@ -292,7 +292,7 @@ return array (
|
|
292 |
'it' => 'Argentina',
|
293 |
'es' => 'Argentina',
|
294 |
'fr' => 'Argentine',
|
295 |
-
'ja' => '
|
296 |
'pt-BR' => 'Argentina',
|
297 |
'ru' => 'Аргентина',
|
298 |
'zh-CN' => '阿根廷',
|
@@ -354,7 +354,7 @@ return array (
|
|
354 |
'it' => 'Austria',
|
355 |
'es' => 'Austria',
|
356 |
'fr' => 'Autriche',
|
357 |
-
'ja' => '
|
358 |
'pt-BR' => 'Áustria',
|
359 |
'ru' => 'Австрия',
|
360 |
'zh-CN' => '奥地利',
|
@@ -443,9 +443,9 @@ return array (
|
|
443 |
'names' =>
|
444 |
array (
|
445 |
'en' => 'Åland',
|
446 |
-
'de' => '
|
447 |
'it' => 'Isole Åland',
|
448 |
-
'es' => 'Islas
|
449 |
'fr' => 'Îles Åland',
|
450 |
'ja' => 'オーランド諸島',
|
451 |
'pt-BR' => 'Alanda',
|
@@ -478,7 +478,7 @@ return array (
|
|
478 |
'it' => 'Azerbaigian',
|
479 |
'es' => 'Azerbaiyán',
|
480 |
'fr' => 'Azerbaïdjan',
|
481 |
-
'ja' => '
|
482 |
'pt-BR' => 'Azerbaijão',
|
483 |
'ru' => 'Азербайджан',
|
484 |
'zh-CN' => '阿塞拜疆',
|
@@ -509,10 +509,10 @@ return array (
|
|
509 |
'it' => 'Bosnia ed Erzegovina',
|
510 |
'es' => 'Bosnia-Herzegovina',
|
511 |
'fr' => 'Bosnie-Herzégovine',
|
512 |
-
'ja' => '
|
513 |
-
'pt-BR' => 'Bósnia
|
514 |
-
'ru' => 'Босния',
|
515 |
-
'zh-CN' => '
|
516 |
),
|
517 |
),
|
518 |
'continent' => 'EU',
|
@@ -571,10 +571,10 @@ return array (
|
|
571 |
'it' => 'Bangladesh',
|
572 |
'es' => 'Bangladesh',
|
573 |
'fr' => 'Bangladesh',
|
574 |
-
'ja' => '
|
575 |
-
'pt-BR' => '
|
576 |
'ru' => 'Бангладеш',
|
577 |
-
'zh-CN' => '
|
578 |
),
|
579 |
),
|
580 |
'continent' => 'AS',
|
@@ -602,7 +602,7 @@ return array (
|
|
602 |
'it' => 'Belgio',
|
603 |
'es' => 'Bélgica',
|
604 |
'fr' => 'Belgique',
|
605 |
-
'ja' => '
|
606 |
'pt-BR' => 'Bélgica',
|
607 |
'ru' => 'Бельгия',
|
608 |
'zh-CN' => '比利时',
|
@@ -634,8 +634,8 @@ return array (
|
|
634 |
'es' => 'Burkina Faso',
|
635 |
'fr' => 'Burkina Faso',
|
636 |
'ja' => 'ブルキナファソ',
|
637 |
-
'pt-BR' => '
|
638 |
-
'ru' => '
|
639 |
'zh-CN' => '布基纳法索',
|
640 |
),
|
641 |
),
|
@@ -664,7 +664,7 @@ return array (
|
|
664 |
'it' => 'Bulgaria',
|
665 |
'es' => 'Bulgaria',
|
666 |
'fr' => 'Bulgarie',
|
667 |
-
'ja' => '
|
668 |
'pt-BR' => 'Bulgária',
|
669 |
'ru' => 'Болгария',
|
670 |
'zh-CN' => '保加利亚',
|
@@ -726,7 +726,7 @@ return array (
|
|
726 |
'it' => 'Burundi',
|
727 |
'es' => 'Burundi',
|
728 |
'fr' => 'Burundi',
|
729 |
-
'ja' => '
|
730 |
'pt-BR' => 'Burundi',
|
731 |
'ru' => 'Бурунди',
|
732 |
'zh-CN' => '布隆迪',
|
@@ -757,7 +757,7 @@ return array (
|
|
757 |
'it' => 'Benin',
|
758 |
'es' => 'Benín',
|
759 |
'fr' => 'Bénin',
|
760 |
-
'ja' => '
|
761 |
'pt-BR' => 'Benin',
|
762 |
'ru' => 'Бенин',
|
763 |
'zh-CN' => '贝宁',
|
@@ -785,7 +785,7 @@ return array (
|
|
785 |
array (
|
786 |
'en' => 'Saint Barthélemy',
|
787 |
'de' => 'St. Barthélemy',
|
788 |
-
'it' => '
|
789 |
'es' => 'San Bartolomé',
|
790 |
'fr' => 'Saint-Barthélemy',
|
791 |
'ja' => 'サン・バルテルミー',
|
@@ -849,10 +849,10 @@ return array (
|
|
849 |
'de' => 'Brunei',
|
850 |
'it' => 'Brunei',
|
851 |
'es' => 'Brunéi',
|
852 |
-
'fr' => '
|
853 |
'ja' => 'ブルネイ',
|
854 |
'pt-BR' => 'Brunei',
|
855 |
-
'ru' => '
|
856 |
'zh-CN' => '文莱',
|
857 |
),
|
858 |
),
|
@@ -881,7 +881,7 @@ return array (
|
|
881 |
'it' => 'Bolivia',
|
882 |
'es' => 'Bolivia',
|
883 |
'fr' => 'Bolivie',
|
884 |
-
'ja' => '
|
885 |
'pt-BR' => 'Bolívia',
|
886 |
'ru' => 'Боливия',
|
887 |
'zh-CN' => '玻利维亚',
|
@@ -908,10 +908,10 @@ return array (
|
|
908 |
'names' =>
|
909 |
array (
|
910 |
'en' => 'Bonaire, Sint Eustatius, and Saba',
|
911 |
-
'de' => '
|
912 |
-
'it' => 'Caraibi
|
913 |
'es' => 'Bonaire',
|
914 |
-
'fr' => '
|
915 |
'ja' => 'ボネール、シント・ユースタティウスおよびサバ',
|
916 |
'pt-BR' => 'Bonaire',
|
917 |
'ru' => 'Бонайре, Синт-Эстатиус и Саба',
|
@@ -943,7 +943,7 @@ return array (
|
|
943 |
'it' => 'Brasile',
|
944 |
'es' => 'Brasil',
|
945 |
'fr' => 'Brésil',
|
946 |
-
'ja' => '
|
947 |
'pt-BR' => 'Brasil',
|
948 |
'ru' => 'Бразилия',
|
949 |
'zh-CN' => '巴西',
|
@@ -974,7 +974,7 @@ return array (
|
|
974 |
'it' => 'Bahamas',
|
975 |
'es' => 'Bahamas',
|
976 |
'fr' => 'Bahamas',
|
977 |
-
'ja' => '
|
978 |
'pt-BR' => 'Bahamas',
|
979 |
'ru' => 'Багамы',
|
980 |
'zh-CN' => '巴哈马',
|
@@ -1005,7 +1005,7 @@ return array (
|
|
1005 |
'it' => 'Bhutan',
|
1006 |
'es' => 'Bután',
|
1007 |
'fr' => 'Bhoutan',
|
1008 |
-
'ja' => '
|
1009 |
'pt-BR' => 'Butão',
|
1010 |
'ru' => 'Бутан',
|
1011 |
'zh-CN' => '不丹',
|
@@ -1038,8 +1038,8 @@ return array (
|
|
1038 |
'fr' => 'Île Bouvet',
|
1039 |
'ja' => 'ブーベ島',
|
1040 |
'pt-BR' => 'Ilha Bouvet',
|
1041 |
-
'ru' => '
|
1042 |
-
'zh-CN' => '
|
1043 |
),
|
1044 |
),
|
1045 |
'continent' => 'AN',
|
@@ -1067,7 +1067,7 @@ return array (
|
|
1067 |
'it' => 'Botswana',
|
1068 |
'es' => 'Botsuana',
|
1069 |
'fr' => 'Botswana',
|
1070 |
-
'ja' => '
|
1071 |
'pt-BR' => 'Botsuana',
|
1072 |
'ru' => 'Ботсвана',
|
1073 |
'zh-CN' => '博茨瓦纳',
|
@@ -1094,12 +1094,12 @@ return array (
|
|
1094 |
'names' =>
|
1095 |
array (
|
1096 |
'en' => 'Belarus',
|
1097 |
-
'de' => '
|
1098 |
'it' => 'Bielorussia',
|
1099 |
'es' => 'Bielorrusia',
|
1100 |
'fr' => 'Biélorussie',
|
1101 |
-
'ja' => '
|
1102 |
-
'pt-BR' => '
|
1103 |
'ru' => 'Беларусь',
|
1104 |
'zh-CN' => '白俄罗斯',
|
1105 |
),
|
@@ -1186,15 +1186,15 @@ return array (
|
|
1186 |
'geoname_id' => 1547376,
|
1187 |
'names' =>
|
1188 |
array (
|
1189 |
-
'en' => 'Cocos
|
1190 |
'de' => 'Kokosinseln',
|
1191 |
-
'it' => 'Isole Cocos',
|
1192 |
'es' => 'Islas Cocos',
|
1193 |
'fr' => 'Îles Cocos',
|
1194 |
-
'ja' => 'ココス
|
1195 |
-
'pt-BR' => 'Ilhas
|
1196 |
'ru' => 'Кокосовые о-ва',
|
1197 |
-
'zh-CN' => '
|
1198 |
),
|
1199 |
),
|
1200 |
'continent' => 'AS',
|
@@ -1223,7 +1223,7 @@ return array (
|
|
1223 |
'es' => 'Congo Democrático',
|
1224 |
'fr' => 'RDC',
|
1225 |
'ja' => 'コンゴ民主共和国',
|
1226 |
-
'pt-BR' => 'Congo-Kinshasa',
|
1227 |
'ru' => 'Заир',
|
1228 |
'zh-CN' => '扎伊尔',
|
1229 |
),
|
@@ -1255,7 +1255,7 @@ return array (
|
|
1255 |
'fr' => 'Centrafrique',
|
1256 |
'ja' => '中央アフリカ共和国',
|
1257 |
'pt-BR' => 'República Centro-Africana',
|
1258 |
-
'ru' => '
|
1259 |
'zh-CN' => '中非共和国',
|
1260 |
),
|
1261 |
),
|
@@ -1281,13 +1281,13 @@ return array (
|
|
1281 |
array (
|
1282 |
'en' => 'Congo Republic',
|
1283 |
'de' => 'Kongo (Republik Kongo)',
|
1284 |
-
'it' => 'Congo',
|
1285 |
-
'es' => 'Congo
|
1286 |
'fr' => 'Congo-Brazzaville',
|
1287 |
-
'ja' => '
|
1288 |
'pt-BR' => 'Congo',
|
1289 |
-
'ru' => 'Конго',
|
1290 |
-
'zh-CN' => '
|
1291 |
),
|
1292 |
),
|
1293 |
'continent' => 'AF',
|
@@ -1315,7 +1315,7 @@ return array (
|
|
1315 |
'it' => 'Svizzera',
|
1316 |
'es' => 'Suiza',
|
1317 |
'fr' => 'Suisse',
|
1318 |
-
'ja' => '
|
1319 |
'pt-BR' => 'Suíça',
|
1320 |
'ru' => 'Швейцария',
|
1321 |
'zh-CN' => '瑞士',
|
@@ -1343,12 +1343,12 @@ return array (
|
|
1343 |
array (
|
1344 |
'en' => 'Ivory Coast',
|
1345 |
'de' => 'Elfenbeinküste',
|
1346 |
-
'it' => '
|
1347 |
-
'es' => '
|
1348 |
'fr' => 'Côte d\'Ivoire',
|
1349 |
'ja' => '象牙海岸',
|
1350 |
-
'pt-BR' => '
|
1351 |
-
'ru' => '
|
1352 |
'zh-CN' => '象牙海岸',
|
1353 |
),
|
1354 |
),
|
@@ -1408,7 +1408,7 @@ return array (
|
|
1408 |
'it' => 'Cile',
|
1409 |
'es' => 'Chile',
|
1410 |
'fr' => 'Chili',
|
1411 |
-
'ja' => '
|
1412 |
'pt-BR' => 'Chile',
|
1413 |
'ru' => 'Чили',
|
1414 |
'zh-CN' => '智利',
|
@@ -1439,7 +1439,7 @@ return array (
|
|
1439 |
'it' => 'Camerun',
|
1440 |
'es' => 'Camerún',
|
1441 |
'fr' => 'Cameroun',
|
1442 |
-
'ja' => '
|
1443 |
'pt-BR' => 'Camarões',
|
1444 |
'ru' => 'Камерун',
|
1445 |
'zh-CN' => '喀麦隆',
|
@@ -1501,7 +1501,7 @@ return array (
|
|
1501 |
'it' => 'Colombia',
|
1502 |
'es' => 'Colombia',
|
1503 |
'fr' => 'Colombie',
|
1504 |
-
'ja' => '
|
1505 |
'pt-BR' => 'Colômbia',
|
1506 |
'ru' => 'Колумбия',
|
1507 |
'zh-CN' => '哥伦比亚',
|
@@ -1563,7 +1563,7 @@ return array (
|
|
1563 |
'it' => 'Cuba',
|
1564 |
'es' => 'Cuba',
|
1565 |
'fr' => 'Cuba',
|
1566 |
-
'ja' => '
|
1567 |
'pt-BR' => 'Cuba',
|
1568 |
'ru' => 'Куба',
|
1569 |
'zh-CN' => '古巴',
|
@@ -1596,7 +1596,7 @@ return array (
|
|
1596 |
'fr' => 'Cap-Vert',
|
1597 |
'ja' => 'カーボベルデ',
|
1598 |
'pt-BR' => 'Cabo Verde',
|
1599 |
-
'ru' => '
|
1600 |
'zh-CN' => '佛得角',
|
1601 |
),
|
1602 |
),
|
@@ -1622,7 +1622,7 @@ return array (
|
|
1622 |
array (
|
1623 |
'en' => 'Curaçao',
|
1624 |
'de' => 'Curaçao',
|
1625 |
-
'it' => '
|
1626 |
'es' => 'Curazao',
|
1627 |
'fr' => 'Curaçao',
|
1628 |
'ja' => 'キュラソー',
|
@@ -1653,12 +1653,12 @@ return array (
|
|
1653 |
array (
|
1654 |
'en' => 'Christmas Island',
|
1655 |
'de' => 'Weihnachtsinsel',
|
1656 |
-
'it' => 'Isola
|
1657 |
-
'es' => 'Isla
|
1658 |
'fr' => 'Île Christmas',
|
1659 |
'ja' => 'クリスマス島',
|
1660 |
-
'pt-BR' => '
|
1661 |
-
'ru' => '
|
1662 |
'zh-CN' => '圣诞岛',
|
1663 |
),
|
1664 |
),
|
@@ -1687,7 +1687,7 @@ return array (
|
|
1687 |
'it' => 'Cipro',
|
1688 |
'es' => 'Chipre',
|
1689 |
'fr' => 'Chypre',
|
1690 |
-
'ja' => '
|
1691 |
'pt-BR' => 'Chipre',
|
1692 |
'ru' => 'Кипр',
|
1693 |
'zh-CN' => '塞浦路斯',
|
@@ -1696,8 +1696,8 @@ return array (
|
|
1696 |
'continent' => 'EU',
|
1697 |
'location' =>
|
1698 |
array (
|
1699 |
-
'latitude' => 35.
|
1700 |
-
'longitude' => 33.
|
1701 |
),
|
1702 |
'extra' =>
|
1703 |
array (
|
@@ -1716,12 +1716,12 @@ return array (
|
|
1716 |
'en' => 'Czechia',
|
1717 |
'de' => 'Tschechien',
|
1718 |
'it' => 'Cechia',
|
1719 |
-
'es' => '
|
1720 |
-
'fr' => '
|
1721 |
-
'ja' => '
|
1722 |
-
'pt-BR' => '
|
1723 |
-
'ru' => '
|
1724 |
-
'zh-CN' => '
|
1725 |
),
|
1726 |
),
|
1727 |
'continent' => 'EU',
|
@@ -1749,7 +1749,7 @@ return array (
|
|
1749 |
'it' => 'Germania',
|
1750 |
'es' => 'Alemania',
|
1751 |
'fr' => 'Allemagne',
|
1752 |
-
'ja' => '
|
1753 |
'pt-BR' => 'Alemanha',
|
1754 |
'ru' => 'Германия',
|
1755 |
'zh-CN' => '德国',
|
@@ -1811,7 +1811,7 @@ return array (
|
|
1811 |
'it' => 'Danimarca',
|
1812 |
'es' => 'Dinamarca',
|
1813 |
'fr' => 'Danemark',
|
1814 |
-
'ja' => '
|
1815 |
'pt-BR' => 'Dinamarca',
|
1816 |
'ru' => 'Дания',
|
1817 |
'zh-CN' => '丹麦',
|
@@ -1844,8 +1844,8 @@ return array (
|
|
1844 |
'fr' => 'Dominique',
|
1845 |
'ja' => 'ドミニカ国',
|
1846 |
'pt-BR' => 'Dominica',
|
1847 |
-
'ru' => '
|
1848 |
-
'zh-CN' => '
|
1849 |
),
|
1850 |
),
|
1851 |
'continent' => 'NA',
|
@@ -1871,8 +1871,8 @@ return array (
|
|
1871 |
'en' => 'Dominican Republic',
|
1872 |
'de' => 'Dom. Republik',
|
1873 |
'it' => 'Repubblica Dominicana',
|
1874 |
-
'es' => '
|
1875 |
-
'fr' => 'République
|
1876 |
'ja' => 'ドミニカ共和国',
|
1877 |
'pt-BR' => 'República Dominicana',
|
1878 |
'ru' => 'Доминиканская Республика',
|
@@ -1904,7 +1904,7 @@ return array (
|
|
1904 |
'it' => 'Algeria',
|
1905 |
'es' => 'Argelia',
|
1906 |
'fr' => 'Algérie',
|
1907 |
-
'ja' => '
|
1908 |
'pt-BR' => 'Argélia',
|
1909 |
'ru' => 'Алжир',
|
1910 |
'zh-CN' => '阿尔及利亚',
|
@@ -1935,7 +1935,7 @@ return array (
|
|
1935 |
'it' => 'Ecuador',
|
1936 |
'es' => 'Ecuador',
|
1937 |
'fr' => 'Équateur',
|
1938 |
-
'ja' => '
|
1939 |
'pt-BR' => 'Equador',
|
1940 |
'ru' => 'Эквадор',
|
1941 |
'zh-CN' => '厄瓜多尔',
|
@@ -1966,7 +1966,7 @@ return array (
|
|
1966 |
'it' => 'Estonia',
|
1967 |
'es' => 'Estonia',
|
1968 |
'fr' => 'Estonie',
|
1969 |
-
'ja' => '
|
1970 |
'pt-BR' => 'Estônia',
|
1971 |
'ru' => 'Эстония',
|
1972 |
'zh-CN' => '爱沙尼亚',
|
@@ -1997,7 +1997,7 @@ return array (
|
|
1997 |
'it' => 'Egitto',
|
1998 |
'es' => 'Egipto',
|
1999 |
'fr' => 'Égypte',
|
2000 |
-
'ja' => '
|
2001 |
'pt-BR' => 'Egito',
|
2002 |
'ru' => 'Египет',
|
2003 |
'zh-CN' => '埃及',
|
@@ -2068,8 +2068,8 @@ return array (
|
|
2068 |
'continent' => 'AF',
|
2069 |
'location' =>
|
2070 |
array (
|
2071 |
-
'latitude' => 15.
|
2072 |
-
'longitude' => 39.
|
2073 |
),
|
2074 |
'extra' =>
|
2075 |
array (
|
@@ -2152,7 +2152,7 @@ return array (
|
|
2152 |
'it' => 'Finlandia',
|
2153 |
'es' => 'Finlandia',
|
2154 |
'fr' => 'Finlande',
|
2155 |
-
'ja' => '
|
2156 |
'pt-BR' => 'Finlândia',
|
2157 |
'ru' => 'Финляндия',
|
2158 |
'zh-CN' => '芬兰',
|
@@ -2247,7 +2247,7 @@ return array (
|
|
2247 |
'fr' => 'Micronésie',
|
2248 |
'ja' => 'ミクロネシア連邦',
|
2249 |
'pt-BR' => 'Micronésia',
|
2250 |
-
'ru' => '
|
2251 |
'zh-CN' => '密克罗尼西亚',
|
2252 |
),
|
2253 |
),
|
@@ -2272,12 +2272,12 @@ return array (
|
|
2272 |
'names' =>
|
2273 |
array (
|
2274 |
'en' => 'Faroe Islands',
|
2275 |
-
'de' => 'Färöer
|
2276 |
'it' => 'Isole Faroe',
|
2277 |
'es' => 'Islas Feroe',
|
2278 |
'fr' => 'Îles Féroé',
|
2279 |
'ja' => 'フェロー諸島',
|
2280 |
-
'pt-BR' => 'Ilhas
|
2281 |
'ru' => 'Фарерские о-ва',
|
2282 |
'zh-CN' => '法罗群岛',
|
2283 |
),
|
@@ -2307,7 +2307,7 @@ return array (
|
|
2307 |
'it' => 'Francia',
|
2308 |
'es' => 'Francia',
|
2309 |
'fr' => 'France',
|
2310 |
-
'ja' => '
|
2311 |
'pt-BR' => 'França',
|
2312 |
'ru' => 'Франция',
|
2313 |
'zh-CN' => '法国',
|
@@ -2338,7 +2338,7 @@ return array (
|
|
2338 |
'it' => 'Gabon',
|
2339 |
'es' => 'Gabón',
|
2340 |
'fr' => 'Gabon',
|
2341 |
-
'ja' => '
|
2342 |
'pt-BR' => 'Gabão',
|
2343 |
'ru' => 'Габон',
|
2344 |
'zh-CN' => '加蓬',
|
@@ -2365,13 +2365,13 @@ return array (
|
|
2365 |
'names' =>
|
2366 |
array (
|
2367 |
'en' => 'United Kingdom',
|
2368 |
-
'de' => '
|
2369 |
-
'it' => '
|
2370 |
-
'es' => '
|
2371 |
-
'fr' => '
|
2372 |
-
'ja' => '
|
2373 |
'pt-BR' => 'Reino Unido',
|
2374 |
-
'ru' => '
|
2375 |
'zh-CN' => '英国',
|
2376 |
),
|
2377 |
),
|
@@ -2409,8 +2409,8 @@ return array (
|
|
2409 |
'continent' => 'NA',
|
2410 |
'location' =>
|
2411 |
array (
|
2412 |
-
'latitude' => 12.
|
2413 |
-
'longitude' => -61.
|
2414 |
),
|
2415 |
'extra' =>
|
2416 |
array (
|
@@ -2459,7 +2459,7 @@ return array (
|
|
2459 |
array (
|
2460 |
'en' => 'French Guiana',
|
2461 |
'de' => 'Französisch-Guayana',
|
2462 |
-
'it' => '
|
2463 |
'es' => 'Guayana Francesa',
|
2464 |
'fr' => 'Guyane',
|
2465 |
'ja' => '仏領ギアナ',
|
@@ -2491,12 +2491,12 @@ return array (
|
|
2491 |
'en' => 'Guernsey',
|
2492 |
'de' => 'Guernsey',
|
2493 |
'it' => 'Guernsey',
|
2494 |
-
'es' => '
|
2495 |
'fr' => 'Guernesey',
|
2496 |
'ja' => 'ガーンジー',
|
2497 |
'pt-BR' => 'Guernsey',
|
2498 |
'ru' => 'Гернси',
|
2499 |
-
'zh-CN' => '
|
2500 |
),
|
2501 |
),
|
2502 |
'continent' => 'EU',
|
@@ -2524,7 +2524,7 @@ return array (
|
|
2524 |
'it' => 'Ghana',
|
2525 |
'es' => 'Ghana',
|
2526 |
'fr' => 'Ghana',
|
2527 |
-
'ja' => '
|
2528 |
'pt-BR' => 'Gana',
|
2529 |
'ru' => 'Гана',
|
2530 |
'zh-CN' => '加纳',
|
@@ -2558,7 +2558,7 @@ return array (
|
|
2558 |
'ja' => 'ジブラルタル',
|
2559 |
'pt-BR' => 'Gibraltar',
|
2560 |
'ru' => 'Гибралтар',
|
2561 |
-
'zh-CN' => '
|
2562 |
),
|
2563 |
),
|
2564 |
'continent' => 'EU',
|
@@ -2587,7 +2587,7 @@ return array (
|
|
2587 |
'es' => 'Groenlandia',
|
2588 |
'fr' => 'Groenland',
|
2589 |
'ja' => 'グリーンランド',
|
2590 |
-
'pt-BR' => '
|
2591 |
'ru' => 'Гренландия',
|
2592 |
'zh-CN' => '格陵兰',
|
2593 |
),
|
@@ -2612,12 +2612,12 @@ return array (
|
|
2612 |
'geoname_id' => 2413451,
|
2613 |
'names' =>
|
2614 |
array (
|
2615 |
-
'en' => 'Gambia',
|
2616 |
'de' => 'Gambia',
|
2617 |
'it' => 'Gambia',
|
2618 |
'es' => 'Gambia',
|
2619 |
'fr' => 'Gambie',
|
2620 |
-
'ja' => '
|
2621 |
'pt-BR' => 'Gâmbia',
|
2622 |
'ru' => 'Гамбия',
|
2623 |
'zh-CN' => '冈比亚',
|
@@ -2648,7 +2648,7 @@ return array (
|
|
2648 |
'it' => 'Guinea',
|
2649 |
'es' => 'Guinea',
|
2650 |
'fr' => 'Guinée',
|
2651 |
-
'ja' => '
|
2652 |
'pt-BR' => 'Guiné',
|
2653 |
'ru' => 'Гвинея',
|
2654 |
'zh-CN' => '几内亚',
|
@@ -2682,7 +2682,7 @@ return array (
|
|
2682 |
'ja' => 'グアドループ',
|
2683 |
'pt-BR' => 'Guadalupe',
|
2684 |
'ru' => 'Гваделупа',
|
2685 |
-
'zh-CN' => '
|
2686 |
),
|
2687 |
),
|
2688 |
'continent' => 'NA',
|
@@ -2710,7 +2710,7 @@ return array (
|
|
2710 |
'it' => 'Guinea Equatoriale',
|
2711 |
'es' => 'Guinea Ecuatorial',
|
2712 |
'fr' => 'Guinée équatoriale',
|
2713 |
-
'ja' => '
|
2714 |
'pt-BR' => 'Guiné Equatorial',
|
2715 |
'ru' => 'Экваториальная Гвинея',
|
2716 |
'zh-CN' => '赤道几内亚',
|
@@ -2719,8 +2719,8 @@ return array (
|
|
2719 |
'continent' => 'AF',
|
2720 |
'location' =>
|
2721 |
array (
|
2722 |
-
'latitude' => 1.
|
2723 |
-
'longitude' => 10.
|
2724 |
),
|
2725 |
'extra' =>
|
2726 |
array (
|
@@ -2741,7 +2741,7 @@ return array (
|
|
2741 |
'it' => 'Grecia',
|
2742 |
'es' => 'Grecia',
|
2743 |
'fr' => 'Grèce',
|
2744 |
-
'ja' => '
|
2745 |
'pt-BR' => 'Grécia',
|
2746 |
'ru' => 'Греция',
|
2747 |
'zh-CN' => '希腊',
|
@@ -2769,13 +2769,13 @@ return array (
|
|
2769 |
array (
|
2770 |
'en' => 'South Georgia and South Sandwich Islands',
|
2771 |
'de' => 'Südgeorgien und die Südlichen Sandwichinseln',
|
2772 |
-
'it' => 'Georgia del Sud e
|
2773 |
'es' => 'Islas Georgia del Sur y Sandwich del Sur',
|
2774 |
'fr' => 'Géorgie du Sud-et-les îles Sandwich du Sud',
|
2775 |
-
'ja' => '
|
2776 |
-
'pt-BR' => 'Geórgia do Sul e
|
2777 |
-
'ru' => 'Южная
|
2778 |
-
'zh-CN' => '
|
2779 |
),
|
2780 |
),
|
2781 |
'continent' => 'AN',
|
@@ -2865,9 +2865,9 @@ return array (
|
|
2865 |
'it' => 'Guinea-Bissau',
|
2866 |
'es' => 'Guinea-Bissáu',
|
2867 |
'fr' => 'Guinée-Bissau',
|
2868 |
-
'ja' => '
|
2869 |
-
'pt-BR' => '
|
2870 |
-
'ru' => '
|
2871 |
'zh-CN' => '几内亚比绍',
|
2872 |
),
|
2873 |
),
|
@@ -2953,15 +2953,15 @@ return array (
|
|
2953 |
'geoname_id' => 1547314,
|
2954 |
'names' =>
|
2955 |
array (
|
2956 |
-
'en' => 'Heard
|
2957 |
-
'de' => 'Heard
|
2958 |
'it' => 'Isole Heard e McDonald',
|
2959 |
'es' => 'Islas Heard y McDonald',
|
2960 |
'fr' => 'Île Heard et îles McDonald',
|
2961 |
'ja' => 'ハード島・マクドナルド諸島',
|
2962 |
-
'pt-BR' => '
|
2963 |
-
'ru' => '
|
2964 |
-
'zh-CN' => '
|
2965 |
),
|
2966 |
),
|
2967 |
'continent' => 'AN',
|
@@ -2989,7 +2989,7 @@ return array (
|
|
2989 |
'it' => 'Honduras',
|
2990 |
'es' => 'Honduras',
|
2991 |
'fr' => 'Honduras',
|
2992 |
-
'ja' => '
|
2993 |
'pt-BR' => 'Honduras',
|
2994 |
'ru' => 'Гондурас',
|
2995 |
'zh-CN' => '洪都拉斯',
|
@@ -3020,7 +3020,7 @@ return array (
|
|
3020 |
'it' => 'Croazia',
|
3021 |
'es' => 'Croacia',
|
3022 |
'fr' => 'Croatie',
|
3023 |
-
'ja' => '
|
3024 |
'pt-BR' => 'Croácia',
|
3025 |
'ru' => 'Хорватия',
|
3026 |
'zh-CN' => '克罗地亚',
|
@@ -3051,7 +3051,7 @@ return array (
|
|
3051 |
'it' => 'Haiti',
|
3052 |
'es' => 'Haití',
|
3053 |
'fr' => 'Haïti',
|
3054 |
-
'ja' => '
|
3055 |
'pt-BR' => 'Haiti',
|
3056 |
'ru' => 'Гаити',
|
3057 |
'zh-CN' => '海地',
|
@@ -3082,7 +3082,7 @@ return array (
|
|
3082 |
'it' => 'Ungheria',
|
3083 |
'es' => 'Hungría',
|
3084 |
'fr' => 'Hongrie',
|
3085 |
-
'ja' => '
|
3086 |
'pt-BR' => 'Hungria',
|
3087 |
'ru' => 'Венгрия',
|
3088 |
'zh-CN' => '匈牙利',
|
@@ -3113,7 +3113,7 @@ return array (
|
|
3113 |
'it' => 'Indonesia',
|
3114 |
'es' => 'Indonesia',
|
3115 |
'fr' => 'Indonésie',
|
3116 |
-
'ja' => '
|
3117 |
'pt-BR' => 'Indonésia',
|
3118 |
'ru' => 'Индонезия',
|
3119 |
'zh-CN' => '印度尼西亚',
|
@@ -3175,7 +3175,7 @@ return array (
|
|
3175 |
'it' => 'Israele',
|
3176 |
'es' => 'Israel',
|
3177 |
'fr' => 'Israël',
|
3178 |
-
'ja' => '
|
3179 |
'pt-BR' => 'Israel',
|
3180 |
'ru' => 'Израиль',
|
3181 |
'zh-CN' => '以色列',
|
@@ -3202,14 +3202,14 @@ return array (
|
|
3202 |
'names' =>
|
3203 |
array (
|
3204 |
'en' => 'Isle of Man',
|
3205 |
-
'de' => '
|
3206 |
'it' => 'Isola di Man',
|
3207 |
'es' => 'Isla de Man',
|
3208 |
'fr' => 'Île de Man',
|
3209 |
'ja' => 'マン島',
|
3210 |
'pt-BR' => 'Ilha de Man',
|
3211 |
-
'ru' => '
|
3212 |
-
'zh-CN' => '
|
3213 |
),
|
3214 |
),
|
3215 |
'continent' => 'EU',
|
@@ -3299,7 +3299,7 @@ return array (
|
|
3299 |
'it' => 'Iraq',
|
3300 |
'es' => 'Irak',
|
3301 |
'fr' => 'Irak',
|
3302 |
-
'ja' => '
|
3303 |
'pt-BR' => 'Iraque',
|
3304 |
'ru' => 'Ирак',
|
3305 |
'zh-CN' => '伊拉克',
|
@@ -3326,14 +3326,14 @@ return array (
|
|
3326 |
'names' =>
|
3327 |
array (
|
3328 |
'en' => 'Iran',
|
3329 |
-
'de' => 'Iran
|
3330 |
'it' => 'Iran',
|
3331 |
'es' => 'Irán',
|
3332 |
'fr' => 'Iran',
|
3333 |
-
'ja' => '
|
3334 |
'pt-BR' => 'República Islâmica do Irã',
|
3335 |
'ru' => 'Иран',
|
3336 |
-
'zh-CN' => '
|
3337 |
),
|
3338 |
),
|
3339 |
'continent' => 'AS',
|
@@ -3361,7 +3361,7 @@ return array (
|
|
3361 |
'it' => 'Islanda',
|
3362 |
'es' => 'Islandia',
|
3363 |
'fr' => 'Islande',
|
3364 |
-
'ja' => '
|
3365 |
'pt-BR' => 'Islândia',
|
3366 |
'ru' => 'Исландия',
|
3367 |
'zh-CN' => '冰岛',
|
@@ -3392,7 +3392,7 @@ return array (
|
|
3392 |
'it' => 'Italia',
|
3393 |
'es' => 'Italia',
|
3394 |
'fr' => 'Italie',
|
3395 |
-
'ja' => '
|
3396 |
'pt-BR' => 'Itália',
|
3397 |
'ru' => 'Италия',
|
3398 |
'zh-CN' => '意大利',
|
@@ -3485,7 +3485,7 @@ return array (
|
|
3485 |
'it' => 'Giordania',
|
3486 |
'es' => 'Jordania',
|
3487 |
'fr' => 'Jordanie',
|
3488 |
-
'ja' => '
|
3489 |
'pt-BR' => 'Jordânia',
|
3490 |
'ru' => 'Иордания',
|
3491 |
'zh-CN' => '约旦',
|
@@ -3547,7 +3547,7 @@ return array (
|
|
3547 |
'it' => 'Kenya',
|
3548 |
'es' => 'Kenia',
|
3549 |
'fr' => 'Kenya',
|
3550 |
-
'ja' => '
|
3551 |
'pt-BR' => 'Quênia',
|
3552 |
'ru' => 'Кения',
|
3553 |
'zh-CN' => '肯尼亚',
|
@@ -3574,14 +3574,14 @@ return array (
|
|
3574 |
'names' =>
|
3575 |
array (
|
3576 |
'en' => 'Kyrgyzstan',
|
3577 |
-
'de' => '
|
3578 |
'it' => 'Kirghizistan',
|
3579 |
'es' => 'Kirguistán',
|
3580 |
-
'fr' => '
|
3581 |
-
'ja' => '
|
3582 |
'pt-BR' => 'Quirguistão',
|
3583 |
'ru' => 'Кыргызстан',
|
3584 |
-
'zh-CN' => '
|
3585 |
),
|
3586 |
),
|
3587 |
'continent' => 'AS',
|
@@ -3609,7 +3609,7 @@ return array (
|
|
3609 |
'it' => 'Cambogia',
|
3610 |
'es' => 'Camboya',
|
3611 |
'fr' => 'Cambodge',
|
3612 |
-
'ja' => '
|
3613 |
'pt-BR' => 'Camboja',
|
3614 |
'ru' => 'Камбоджа',
|
3615 |
'zh-CN' => '柬埔寨',
|
@@ -3640,7 +3640,7 @@ return array (
|
|
3640 |
'it' => 'Kiribati',
|
3641 |
'es' => 'Kiribati',
|
3642 |
'fr' => 'Kiribati',
|
3643 |
-
'ja' => '
|
3644 |
'pt-BR' => 'Quiribati',
|
3645 |
'ru' => 'Кирибати',
|
3646 |
'zh-CN' => '基里巴斯',
|
@@ -3671,8 +3671,8 @@ return array (
|
|
3671 |
'it' => 'Comore',
|
3672 |
'es' => 'Comoras',
|
3673 |
'fr' => 'Comores',
|
3674 |
-
'ja' => '
|
3675 |
-
'pt-BR' => '
|
3676 |
'ru' => 'Коморские о-ва',
|
3677 |
'zh-CN' => '科摩罗',
|
3678 |
),
|
@@ -3698,13 +3698,13 @@ return array (
|
|
3698 |
'names' =>
|
3699 |
array (
|
3700 |
'en' => 'St Kitts and Nevis',
|
3701 |
-
'de' => '
|
3702 |
'it' => 'Saint Kitts e Nevis',
|
3703 |
'es' => 'San Cristóbal y Nieves',
|
3704 |
'fr' => 'Saint-Christophe-et-Niévès',
|
3705 |
'ja' => 'セントクリストファー・ネビス',
|
3706 |
'pt-BR' => 'São Cristóvão e Névis',
|
3707 |
-
'ru' => '
|
3708 |
'zh-CN' => '圣基茨和尼维斯',
|
3709 |
),
|
3710 |
),
|
@@ -3735,8 +3735,8 @@ return array (
|
|
3735 |
'fr' => 'Corée du Nord',
|
3736 |
'ja' => '韓国、朝鮮民主主義人民共和国',
|
3737 |
'pt-BR' => 'Coreia do Norte',
|
3738 |
-
'ru' => '
|
3739 |
-
'zh-CN' => '
|
3740 |
),
|
3741 |
),
|
3742 |
'continent' => 'AS',
|
@@ -3766,8 +3766,8 @@ return array (
|
|
3766 |
'fr' => 'Corée du Sud',
|
3767 |
'ja' => '大韓民国',
|
3768 |
'pt-BR' => 'Coreia do Sul',
|
3769 |
-
'ru' => '
|
3770 |
-
'zh-CN' => '
|
3771 |
),
|
3772 |
),
|
3773 |
'continent' => 'AS',
|
@@ -3857,7 +3857,7 @@ return array (
|
|
3857 |
'it' => 'Kazakistan',
|
3858 |
'es' => 'Kazajstán',
|
3859 |
'fr' => 'Kazakhstan',
|
3860 |
-
'ja' => '
|
3861 |
'pt-BR' => 'Cazaquistão',
|
3862 |
'ru' => 'Казахстан',
|
3863 |
'zh-CN' => '哈萨克斯坦',
|
@@ -3891,7 +3891,7 @@ return array (
|
|
3891 |
'ja' => 'ラオス',
|
3892 |
'pt-BR' => 'República Popular Democrática do Laos',
|
3893 |
'ru' => 'Лаос',
|
3894 |
-
'zh-CN' => '
|
3895 |
),
|
3896 |
),
|
3897 |
'continent' => 'AS',
|
@@ -3919,7 +3919,7 @@ return array (
|
|
3919 |
'it' => 'Libano',
|
3920 |
'es' => 'Líbano',
|
3921 |
'fr' => 'Liban',
|
3922 |
-
'ja' => '
|
3923 |
'pt-BR' => 'Líbano',
|
3924 |
'ru' => 'Ливан',
|
3925 |
'zh-CN' => '黎巴嫩',
|
@@ -3981,8 +3981,8 @@ return array (
|
|
3981 |
'it' => 'Liechtenstein',
|
3982 |
'es' => 'Liechtenstein',
|
3983 |
'fr' => 'Liechtenstein',
|
3984 |
-
'ja' => '
|
3985 |
-
'pt-BR' => '
|
3986 |
'ru' => 'Лихтенштейн',
|
3987 |
'zh-CN' => '列支敦士登',
|
3988 |
),
|
@@ -4012,7 +4012,7 @@ return array (
|
|
4012 |
'it' => 'Sri Lanka',
|
4013 |
'es' => 'Sri Lanka',
|
4014 |
'fr' => 'Sri Lanka',
|
4015 |
-
'ja' => '
|
4016 |
'pt-BR' => 'Sri Lanka',
|
4017 |
'ru' => 'Шри-Ланка',
|
4018 |
'zh-CN' => '斯里兰卡',
|
@@ -4043,7 +4043,7 @@ return array (
|
|
4043 |
'it' => 'Liberia',
|
4044 |
'es' => 'Liberia',
|
4045 |
'fr' => 'Liberia',
|
4046 |
-
'ja' => '
|
4047 |
'pt-BR' => 'Libéria',
|
4048 |
'ru' => 'Либерия',
|
4049 |
'zh-CN' => '利比里亚',
|
@@ -4074,7 +4074,7 @@ return array (
|
|
4074 |
'it' => 'Lesotho',
|
4075 |
'es' => 'Lesotho',
|
4076 |
'fr' => 'Lesotho',
|
4077 |
-
'ja' => '
|
4078 |
'pt-BR' => 'Lesoto',
|
4079 |
'ru' => 'Лесото',
|
4080 |
'zh-CN' => '莱索托',
|
@@ -4105,7 +4105,7 @@ return array (
|
|
4105 |
'it' => 'Lituania',
|
4106 |
'es' => 'Lituania',
|
4107 |
'fr' => 'Lituanie',
|
4108 |
-
'ja' => '
|
4109 |
'pt-BR' => 'Lituânia',
|
4110 |
'ru' => 'Литва',
|
4111 |
'zh-CN' => '立陶宛',
|
@@ -4136,7 +4136,7 @@ return array (
|
|
4136 |
'it' => 'Lussemburgo',
|
4137 |
'es' => 'Luxemburgo',
|
4138 |
'fr' => 'Luxembourg',
|
4139 |
-
'ja' => '
|
4140 |
'pt-BR' => 'Luxemburgo',
|
4141 |
'ru' => 'Люксембург',
|
4142 |
'zh-CN' => '卢森堡',
|
@@ -4167,7 +4167,7 @@ return array (
|
|
4167 |
'it' => 'Lettonia',
|
4168 |
'es' => 'Letonia',
|
4169 |
'fr' => 'Lettonie',
|
4170 |
-
'ja' => '
|
4171 |
'pt-BR' => 'Letônia',
|
4172 |
'ru' => 'Латвия',
|
4173 |
'zh-CN' => '拉脱维亚',
|
@@ -4176,8 +4176,8 @@ return array (
|
|
4176 |
'continent' => 'EU',
|
4177 |
'location' =>
|
4178 |
array (
|
4179 |
-
'latitude' => 56.
|
4180 |
-
'longitude' => 24.
|
4181 |
),
|
4182 |
'extra' =>
|
4183 |
array (
|
@@ -4194,14 +4194,14 @@ return array (
|
|
4194 |
'names' =>
|
4195 |
array (
|
4196 |
'en' => 'Libya',
|
4197 |
-
'de' => '
|
4198 |
'it' => 'Libia',
|
4199 |
'es' => 'Libia',
|
4200 |
'fr' => 'Libye',
|
4201 |
-
'ja' => '
|
4202 |
-
'pt-BR' => 'Líbia
|
4203 |
'ru' => 'Ливия',
|
4204 |
-
'zh-CN' => '
|
4205 |
),
|
4206 |
),
|
4207 |
'continent' => 'AF',
|
@@ -4229,7 +4229,7 @@ return array (
|
|
4229 |
'it' => 'Marocco',
|
4230 |
'es' => 'Marruecos',
|
4231 |
'fr' => 'Maroc',
|
4232 |
-
'ja' => '
|
4233 |
'pt-BR' => 'Marrocos',
|
4234 |
'ru' => 'Марокко',
|
4235 |
'zh-CN' => '摩洛哥',
|
@@ -4287,14 +4287,14 @@ return array (
|
|
4287 |
'names' =>
|
4288 |
array (
|
4289 |
'en' => 'Moldova',
|
4290 |
-
'de' => '
|
4291 |
'it' => 'Moldavia',
|
4292 |
'es' => 'Moldavia',
|
4293 |
'fr' => 'Moldavie',
|
4294 |
-
'ja' => '
|
4295 |
-
'pt-BR' => '
|
4296 |
'ru' => 'Молдова',
|
4297 |
-
'zh-CN' => '
|
4298 |
),
|
4299 |
),
|
4300 |
'continent' => 'EU',
|
@@ -4325,7 +4325,7 @@ return array (
|
|
4325 |
'ja' => 'モンテネグロ',
|
4326 |
'pt-BR' => 'Montenegro',
|
4327 |
'ru' => 'Черногория',
|
4328 |
-
'zh-CN' => '
|
4329 |
),
|
4330 |
),
|
4331 |
'continent' => 'EU',
|
@@ -4353,10 +4353,10 @@ return array (
|
|
4353 |
'it' => 'Saint Martin',
|
4354 |
'es' => 'San Martín',
|
4355 |
'fr' => 'Saint-Martin',
|
4356 |
-
'ja' => '
|
4357 |
'pt-BR' => 'São Martinho',
|
4358 |
-
'ru' => '
|
4359 |
-
'zh-CN' => '
|
4360 |
),
|
4361 |
),
|
4362 |
'continent' => 'NA',
|
@@ -4384,7 +4384,7 @@ return array (
|
|
4384 |
'it' => 'Madagascar',
|
4385 |
'es' => 'Madagascar',
|
4386 |
'fr' => 'Madagascar',
|
4387 |
-
'ja' => '
|
4388 |
'pt-BR' => 'Madagascar',
|
4389 |
'ru' => 'Мадагаскар',
|
4390 |
'zh-CN' => '马达加斯加',
|
@@ -4411,13 +4411,13 @@ return array (
|
|
4411 |
'names' =>
|
4412 |
array (
|
4413 |
'en' => 'Marshall Islands',
|
4414 |
-
'de' => '
|
4415 |
'it' => 'Isole Marshall',
|
4416 |
'es' => 'Islas Marshall',
|
4417 |
'fr' => 'Îles Marshall',
|
4418 |
-
'ja' => '
|
4419 |
'pt-BR' => 'Ilhas Marshall',
|
4420 |
-
'ru' => 'Маршалловы
|
4421 |
'zh-CN' => '马绍尔群岛',
|
4422 |
),
|
4423 |
),
|
@@ -4446,10 +4446,10 @@ return array (
|
|
4446 |
'it' => 'Macedonia del Nord',
|
4447 |
'es' => 'Macedonia del Norte',
|
4448 |
'fr' => 'Macédoine du Nord',
|
4449 |
-
'ja' => '
|
4450 |
'pt-BR' => 'Macedônia',
|
4451 |
'ru' => 'Северная Македония',
|
4452 |
-
'zh-CN' => '
|
4453 |
),
|
4454 |
),
|
4455 |
'continent' => 'EU',
|
@@ -4504,13 +4504,13 @@ return array (
|
|
4504 |
'names' =>
|
4505 |
array (
|
4506 |
'en' => 'Myanmar',
|
4507 |
-
'de' => '
|
4508 |
'it' => 'Birmania',
|
4509 |
-
'es' => 'Myanmar
|
4510 |
'fr' => 'Myanmar',
|
4511 |
'ja' => 'ミャンマー連邦',
|
4512 |
-
'pt-BR' => 'Mianmar
|
4513 |
-
'ru' => 'Мьянма',
|
4514 |
'zh-CN' => '缅甸',
|
4515 |
),
|
4516 |
),
|
@@ -4571,7 +4571,7 @@ return array (
|
|
4571 |
'es' => 'Macao',
|
4572 |
'fr' => 'Macao',
|
4573 |
'ja' => 'マカオ',
|
4574 |
-
'pt-BR' => '
|
4575 |
'ru' => 'Макао',
|
4576 |
'zh-CN' => '澳门',
|
4577 |
),
|
@@ -4598,7 +4598,7 @@ return array (
|
|
4598 |
array (
|
4599 |
'en' => 'Northern Mariana Islands',
|
4600 |
'de' => 'Nördliche Marianen',
|
4601 |
-
'it' => 'Isole Marianne
|
4602 |
'es' => 'Islas Marianas del Norte',
|
4603 |
'fr' => 'Îles Mariannes du Nord',
|
4604 |
'ja' => '北マリアナ諸島',
|
@@ -4632,10 +4632,10 @@ return array (
|
|
4632 |
'it' => 'Martinica',
|
4633 |
'es' => 'Martinica',
|
4634 |
'fr' => 'Martinique',
|
4635 |
-
'ja' => '
|
4636 |
'pt-BR' => 'Martinica',
|
4637 |
'ru' => 'Мартиника',
|
4638 |
-
'zh-CN' => '
|
4639 |
),
|
4640 |
),
|
4641 |
'continent' => 'NA',
|
@@ -4663,7 +4663,7 @@ return array (
|
|
4663 |
'it' => 'Mauritania',
|
4664 |
'es' => 'Mauritania',
|
4665 |
'fr' => 'Mauritanie',
|
4666 |
-
'ja' => '
|
4667 |
'pt-BR' => 'Mauritânia',
|
4668 |
'ru' => 'Мавритания',
|
4669 |
'zh-CN' => '毛里塔尼亚',
|
@@ -4694,10 +4694,10 @@ return array (
|
|
4694 |
'it' => 'Montserrat',
|
4695 |
'es' => 'Montserrat',
|
4696 |
'fr' => 'Montserrat',
|
4697 |
-
'ja' => '
|
4698 |
'pt-BR' => 'Montserrat',
|
4699 |
-
'ru' => '
|
4700 |
-
'zh-CN' => '
|
4701 |
),
|
4702 |
),
|
4703 |
'continent' => 'NA',
|
@@ -4787,9 +4787,9 @@ return array (
|
|
4787 |
'it' => 'Maldive',
|
4788 |
'es' => 'Maldivas',
|
4789 |
'fr' => 'Maldives',
|
4790 |
-
'ja' => '
|
4791 |
'pt-BR' => 'Maldivas',
|
4792 |
-
'ru' => '
|
4793 |
'zh-CN' => '马尔代夫',
|
4794 |
),
|
4795 |
),
|
@@ -4818,7 +4818,7 @@ return array (
|
|
4818 |
'it' => 'Malawi',
|
4819 |
'es' => 'Malaui',
|
4820 |
'fr' => 'Malawi',
|
4821 |
-
'ja' => '
|
4822 |
'pt-BR' => 'Malauí',
|
4823 |
'ru' => 'Малави',
|
4824 |
'zh-CN' => '马拉维',
|
@@ -4849,7 +4849,7 @@ return array (
|
|
4849 |
'it' => 'Messico',
|
4850 |
'es' => 'México',
|
4851 |
'fr' => 'Mexique',
|
4852 |
-
'ja' => '
|
4853 |
'pt-BR' => 'México',
|
4854 |
'ru' => 'Мексика',
|
4855 |
'zh-CN' => '墨西哥',
|
@@ -4877,7 +4877,7 @@ return array (
|
|
4877 |
array (
|
4878 |
'en' => 'Malaysia',
|
4879 |
'de' => 'Malaysia',
|
4880 |
-
'it' => '
|
4881 |
'es' => 'Malasia',
|
4882 |
'fr' => 'Malaisie',
|
4883 |
'ja' => 'マレーシア',
|
@@ -4889,8 +4889,8 @@ return array (
|
|
4889 |
'continent' => 'AS',
|
4890 |
'location' =>
|
4891 |
array (
|
4892 |
-
'latitude' => 4.
|
4893 |
-
'longitude' => 109.
|
4894 |
),
|
4895 |
'extra' =>
|
4896 |
array (
|
@@ -4911,8 +4911,8 @@ return array (
|
|
4911 |
'it' => 'Mozambico',
|
4912 |
'es' => 'Mozambique',
|
4913 |
'fr' => 'Mozambique',
|
4914 |
-
'ja' => '
|
4915 |
-
'pt-BR' => '
|
4916 |
'ru' => 'Мозамбик',
|
4917 |
'zh-CN' => '莫桑比克',
|
4918 |
),
|
@@ -4942,7 +4942,7 @@ return array (
|
|
4942 |
'it' => 'Namibia',
|
4943 |
'es' => 'Namibia',
|
4944 |
'fr' => 'Namibie',
|
4945 |
-
'ja' => '
|
4946 |
'pt-BR' => 'Namíbia',
|
4947 |
'ru' => 'Намибия',
|
4948 |
'zh-CN' => '纳米比亚',
|
@@ -5004,7 +5004,7 @@ return array (
|
|
5004 |
'it' => 'Niger',
|
5005 |
'es' => 'Níger',
|
5006 |
'fr' => 'Niger',
|
5007 |
-
'ja' => '
|
5008 |
'pt-BR' => 'Níger',
|
5009 |
'ru' => 'Нигер',
|
5010 |
'zh-CN' => '尼日尔',
|
@@ -5037,7 +5037,7 @@ return array (
|
|
5037 |
'fr' => 'Île Norfolk',
|
5038 |
'ja' => 'ノーフォーク島',
|
5039 |
'pt-BR' => 'Ilha Norfolk',
|
5040 |
-
'ru' => '
|
5041 |
'zh-CN' => '诺福克岛',
|
5042 |
),
|
5043 |
),
|
@@ -5066,7 +5066,7 @@ return array (
|
|
5066 |
'it' => 'Nigeria',
|
5067 |
'es' => 'Nigeria',
|
5068 |
'fr' => 'Nigeria',
|
5069 |
-
'ja' => '
|
5070 |
'pt-BR' => 'Nigéria',
|
5071 |
'ru' => 'Нигерия',
|
5072 |
'zh-CN' => '尼日利亚',
|
@@ -5093,11 +5093,11 @@ return array (
|
|
5093 |
'names' =>
|
5094 |
array (
|
5095 |
'en' => 'Nicaragua',
|
5096 |
-
'de' => '
|
5097 |
'it' => 'Nicaragua',
|
5098 |
'es' => 'Nicaragua',
|
5099 |
'fr' => 'Nicaragua',
|
5100 |
-
'ja' => '
|
5101 |
'pt-BR' => 'Nicarágua',
|
5102 |
'ru' => 'Никарагуа',
|
5103 |
'zh-CN' => '尼加拉瓜',
|
@@ -5128,7 +5128,7 @@ return array (
|
|
5128 |
'it' => 'Paesi Bassi',
|
5129 |
'es' => 'Holanda',
|
5130 |
'fr' => 'Pays-Bas',
|
5131 |
-
'ja' => '
|
5132 |
'pt-BR' => 'Países Baixos',
|
5133 |
'ru' => 'Нидерланды',
|
5134 |
'zh-CN' => '荷兰',
|
@@ -5159,7 +5159,7 @@ return array (
|
|
5159 |
'it' => 'Norvegia',
|
5160 |
'es' => 'Noruega',
|
5161 |
'fr' => 'Norvège',
|
5162 |
-
'ja' => '
|
5163 |
'pt-BR' => 'Noruega',
|
5164 |
'ru' => 'Норвегия',
|
5165 |
'zh-CN' => '挪威',
|
@@ -5190,7 +5190,7 @@ return array (
|
|
5190 |
'it' => 'Nepal',
|
5191 |
'es' => 'Nepal',
|
5192 |
'fr' => 'Népal',
|
5193 |
-
'ja' => '
|
5194 |
'pt-BR' => 'Nepal',
|
5195 |
'ru' => 'Непал',
|
5196 |
'zh-CN' => '尼泊尔',
|
@@ -5250,11 +5250,11 @@ return array (
|
|
5250 |
'en' => 'Niue',
|
5251 |
'de' => 'Niue',
|
5252 |
'it' => 'Niue',
|
5253 |
-
'es' => '
|
5254 |
-
'fr' => '
|
5255 |
-
'ja' => '
|
5256 |
'pt-BR' => 'Niue',
|
5257 |
-
'ru' => '
|
5258 |
'zh-CN' => '纽埃',
|
5259 |
),
|
5260 |
),
|
@@ -5314,7 +5314,7 @@ return array (
|
|
5314 |
'it' => 'Oman',
|
5315 |
'es' => 'Omán',
|
5316 |
'fr' => 'Oman',
|
5317 |
-
'ja' => '
|
5318 |
'pt-BR' => 'Omã',
|
5319 |
'ru' => 'Оман',
|
5320 |
'zh-CN' => '阿曼',
|
@@ -5376,7 +5376,7 @@ return array (
|
|
5376 |
'it' => 'Perù',
|
5377 |
'es' => 'Perú',
|
5378 |
'fr' => 'Pérou',
|
5379 |
-
'ja' => '
|
5380 |
'pt-BR' => 'Peru',
|
5381 |
'ru' => 'Перу',
|
5382 |
'zh-CN' => '秘鲁',
|
@@ -5406,7 +5406,7 @@ return array (
|
|
5406 |
'de' => 'Französisch-Polynesien',
|
5407 |
'it' => 'Polinesia francese',
|
5408 |
'es' => 'Polinesia Francesa',
|
5409 |
-
'fr' => 'Polynésie
|
5410 |
'ja' => '仏領ポリネシア',
|
5411 |
'pt-BR' => 'Polinésia Francesa',
|
5412 |
'ru' => 'Французская Полинезия',
|
@@ -5437,8 +5437,8 @@ return array (
|
|
5437 |
'de' => 'Papua-Neuguinea',
|
5438 |
'it' => 'Papua Nuova Guinea',
|
5439 |
'es' => 'Papúa-Nueva Guinea',
|
5440 |
-
'fr' => 'Papouasie-Nouvelle
|
5441 |
-
'ja' => '
|
5442 |
'pt-BR' => 'Papua-Nova Guiné',
|
5443 |
'ru' => 'Папуа – Новая Гвинея',
|
5444 |
'zh-CN' => '巴布亚新几内亚',
|
@@ -5469,7 +5469,7 @@ return array (
|
|
5469 |
'it' => 'Filippine',
|
5470 |
'es' => 'Filipinas',
|
5471 |
'fr' => 'Philippines',
|
5472 |
-
'ja' => '
|
5473 |
'pt-BR' => 'Filipinas',
|
5474 |
'ru' => 'Филиппины',
|
5475 |
'zh-CN' => '菲律宾',
|
@@ -5500,7 +5500,7 @@ return array (
|
|
5500 |
'it' => 'Pakistan',
|
5501 |
'es' => 'Pakistán',
|
5502 |
'fr' => 'Pakistan',
|
5503 |
-
'ja' => '
|
5504 |
'pt-BR' => 'Paquistão',
|
5505 |
'ru' => 'Пакистан',
|
5506 |
'zh-CN' => '巴基斯坦',
|
@@ -5531,7 +5531,7 @@ return array (
|
|
5531 |
'it' => 'Polonia',
|
5532 |
'es' => 'Polonia',
|
5533 |
'fr' => 'Pologne',
|
5534 |
-
'ja' => '
|
5535 |
'pt-BR' => 'Polônia',
|
5536 |
'ru' => 'Польша',
|
5537 |
'zh-CN' => '波兰',
|
@@ -5559,13 +5559,13 @@ return array (
|
|
5559 |
array (
|
5560 |
'en' => 'Saint Pierre and Miquelon',
|
5561 |
'de' => 'St. Pierre und Miquelon',
|
5562 |
-
'it' => 'Saint
|
5563 |
'es' => 'San Pedro y Miquelón',
|
5564 |
'fr' => 'Saint-Pierre et Miquelon',
|
5565 |
'ja' => 'サンピエール島・ミクロン島',
|
5566 |
-
'pt-BR' => '
|
5567 |
'ru' => 'Сен-Пьер и Микелон',
|
5568 |
-
'zh-CN' => '
|
5569 |
),
|
5570 |
),
|
5571 |
'continent' => 'NA',
|
@@ -5589,13 +5589,13 @@ return array (
|
|
5589 |
'names' =>
|
5590 |
array (
|
5591 |
'en' => 'Pitcairn Islands',
|
5592 |
-
'de' => '
|
5593 |
-
'it' => 'Pitcairn',
|
5594 |
'es' => 'Islas Pitcairn',
|
5595 |
'fr' => 'Pitcairn',
|
5596 |
-
'ja' => '
|
5597 |
-
'pt-BR' => 'Pitcairn',
|
5598 |
-
'ru' => 'Питкэрн',
|
5599 |
'zh-CN' => '皮特凯恩群岛',
|
5600 |
),
|
5601 |
),
|
@@ -5651,14 +5651,14 @@ return array (
|
|
5651 |
'names' =>
|
5652 |
array (
|
5653 |
'en' => 'Palestine',
|
5654 |
-
'de' => '
|
5655 |
'it' => 'Palestina',
|
5656 |
-
'es' => '
|
5657 |
-
'fr' => '
|
5658 |
'ja' => 'パレスチナ',
|
5659 |
-
'pt-BR' => '
|
5660 |
-
'ru' => '
|
5661 |
-
'zh-CN' => '
|
5662 |
),
|
5663 |
),
|
5664 |
'continent' => 'AS',
|
@@ -5686,7 +5686,7 @@ return array (
|
|
5686 |
'it' => 'Portogallo',
|
5687 |
'es' => 'Portugal',
|
5688 |
'fr' => 'Portugal',
|
5689 |
-
'ja' => '
|
5690 |
'pt-BR' => 'Portugal',
|
5691 |
'ru' => 'Португалия',
|
5692 |
'zh-CN' => '葡萄牙',
|
@@ -5748,7 +5748,7 @@ return array (
|
|
5748 |
'it' => 'Paraguay',
|
5749 |
'es' => 'Paraguay',
|
5750 |
'fr' => 'Paraguay',
|
5751 |
-
'ja' => '
|
5752 |
'pt-BR' => 'Paraguai',
|
5753 |
'ru' => 'Парагвай',
|
5754 |
'zh-CN' => '巴拉圭',
|
@@ -5777,7 +5777,7 @@ return array (
|
|
5777 |
'en' => 'Qatar',
|
5778 |
'de' => 'Katar',
|
5779 |
'it' => 'Qatar',
|
5780 |
-
'es' => '
|
5781 |
'fr' => 'Qatar',
|
5782 |
'ja' => 'カタール',
|
5783 |
'pt-BR' => 'Catar',
|
@@ -5807,10 +5807,10 @@ return array (
|
|
5807 |
array (
|
5808 |
'en' => 'Réunion',
|
5809 |
'de' => 'Réunion',
|
5810 |
-
'it' => '
|
5811 |
'es' => 'Reunión',
|
5812 |
'fr' => 'Réunion',
|
5813 |
-
'ja' => '
|
5814 |
'pt-BR' => 'Reunião',
|
5815 |
'ru' => 'Реюньон',
|
5816 |
'zh-CN' => '留尼汪',
|
@@ -5965,7 +5965,7 @@ return array (
|
|
5965 |
'it' => 'Arabia Saudita',
|
5966 |
'es' => 'Arabia Saudí',
|
5967 |
'fr' => 'Arabie saoudite',
|
5968 |
-
'ja' => '
|
5969 |
'pt-BR' => 'Arábia Saudita',
|
5970 |
'ru' => 'Саудовская Аравия',
|
5971 |
'zh-CN' => '沙特阿拉伯',
|
@@ -5992,13 +5992,13 @@ return array (
|
|
5992 |
'names' =>
|
5993 |
array (
|
5994 |
'en' => 'Solomon Islands',
|
5995 |
-
'de' => '
|
5996 |
'it' => 'Isole Salomone',
|
5997 |
'es' => 'Islas Salomón',
|
5998 |
'fr' => 'Îles Salomon',
|
5999 |
'ja' => 'ソロモン諸島',
|
6000 |
'pt-BR' => 'Ilhas Salomão',
|
6001 |
-
'ru' => '
|
6002 |
'zh-CN' => '所罗门群岛',
|
6003 |
),
|
6004 |
),
|
@@ -6027,17 +6027,17 @@ return array (
|
|
6027 |
'it' => 'Seychelles',
|
6028 |
'es' => 'Seychelles',
|
6029 |
'fr' => 'Seychelles',
|
6030 |
-
'ja' => '
|
6031 |
'pt-BR' => 'Ilhas Seychelles',
|
6032 |
'ru' => 'Сейшельские о-ва',
|
6033 |
-
'zh-CN' => '
|
6034 |
),
|
6035 |
),
|
6036 |
'continent' => 'AF',
|
6037 |
'location' =>
|
6038 |
array (
|
6039 |
-
'latitude' => -7.
|
6040 |
-
'longitude' => 51.
|
6041 |
),
|
6042 |
'extra' =>
|
6043 |
array (
|
@@ -6058,7 +6058,7 @@ return array (
|
|
6058 |
'it' => 'Sudan',
|
6059 |
'es' => 'Sudán',
|
6060 |
'fr' => 'Soudan',
|
6061 |
-
'ja' => '
|
6062 |
'pt-BR' => 'Sudão',
|
6063 |
'ru' => 'Судан',
|
6064 |
'zh-CN' => '苏丹',
|
@@ -6089,7 +6089,7 @@ return array (
|
|
6089 |
'it' => 'Svezia',
|
6090 |
'es' => 'Suecia',
|
6091 |
'fr' => 'Suède',
|
6092 |
-
'ja' => '
|
6093 |
'pt-BR' => 'Suécia',
|
6094 |
'ru' => 'Швеция',
|
6095 |
'zh-CN' => '瑞典',
|
@@ -6121,7 +6121,7 @@ return array (
|
|
6121 |
'es' => 'Singapur',
|
6122 |
'fr' => 'Singapour',
|
6123 |
'ja' => 'シンガポール',
|
6124 |
-
'pt-BR' => '
|
6125 |
'ru' => 'Сингапур',
|
6126 |
'zh-CN' => '新加坡',
|
6127 |
),
|
@@ -6153,7 +6153,7 @@ return array (
|
|
6153 |
'fr' => 'Sainte-Hélène',
|
6154 |
'ja' => 'セントヘレナ',
|
6155 |
'pt-BR' => 'Santa Helena',
|
6156 |
-
'ru' => '
|
6157 |
'zh-CN' => '圣赫勒拿',
|
6158 |
),
|
6159 |
),
|
@@ -6209,14 +6209,14 @@ return array (
|
|
6209 |
'names' =>
|
6210 |
array (
|
6211 |
'en' => 'Svalbard and Jan Mayen',
|
6212 |
-
'de' => '
|
6213 |
'it' => 'Svalbard e Jan Mayen',
|
6214 |
'es' => 'Svalbard y Jan Mayen',
|
6215 |
'fr' => 'Svalbard et Jan Mayen',
|
6216 |
'ja' => 'スバールバル諸島・ヤンマイエン島',
|
6217 |
'pt-BR' => 'Svalbard e Jan Mayen',
|
6218 |
-
'ru' => '
|
6219 |
-
'zh-CN' => '
|
6220 |
),
|
6221 |
),
|
6222 |
'continent' => 'EU',
|
@@ -6240,14 +6240,14 @@ return array (
|
|
6240 |
'names' =>
|
6241 |
array (
|
6242 |
'en' => 'Slovakia',
|
6243 |
-
'de' => 'Slowakei
|
6244 |
'it' => 'Slovacchia',
|
6245 |
'es' => 'Eslovaquia',
|
6246 |
'fr' => 'Slovaquie',
|
6247 |
-
'ja' => 'スロバキア
|
6248 |
'pt-BR' => 'Eslováquia',
|
6249 |
'ru' => 'Словакия',
|
6250 |
-
'zh-CN' => '
|
6251 |
),
|
6252 |
),
|
6253 |
'continent' => 'EU',
|
@@ -6306,7 +6306,7 @@ return array (
|
|
6306 |
'it' => 'San Marino',
|
6307 |
'es' => 'San Marino',
|
6308 |
'fr' => 'Saint-Marin',
|
6309 |
-
'ja' => '
|
6310 |
'pt-BR' => 'San Marino',
|
6311 |
'ru' => 'Сан-Марино',
|
6312 |
'zh-CN' => '圣马力诺',
|
@@ -6337,7 +6337,7 @@ return array (
|
|
6337 |
'it' => 'Senegal',
|
6338 |
'es' => 'Senegal',
|
6339 |
'fr' => 'Sénégal',
|
6340 |
-
'ja' => '
|
6341 |
'pt-BR' => 'Senegal',
|
6342 |
'ru' => 'Сенегал',
|
6343 |
'zh-CN' => '塞内加尔',
|
@@ -6398,8 +6398,8 @@ return array (
|
|
6398 |
'de' => 'Suriname',
|
6399 |
'it' => 'Suriname',
|
6400 |
'es' => 'Surinam',
|
6401 |
-
'fr' => '
|
6402 |
-
'ja' => '
|
6403 |
'pt-BR' => 'Suriname',
|
6404 |
'ru' => 'Суринам',
|
6405 |
'zh-CN' => '苏里南',
|
@@ -6427,11 +6427,11 @@ return array (
|
|
6427 |
array (
|
6428 |
'en' => 'South Sudan',
|
6429 |
'de' => 'Südsudan',
|
6430 |
-
'it' => 'Sudan
|
6431 |
'es' => 'Sudán del Sur',
|
6432 |
-
'fr' => 'Sud
|
6433 |
-
'ja' => '
|
6434 |
-
'pt-BR' => 'Sudão do Sul',
|
6435 |
'ru' => 'Южный Судан',
|
6436 |
'zh-CN' => '南苏丹',
|
6437 |
),
|
@@ -6457,13 +6457,13 @@ return array (
|
|
6457 |
'names' =>
|
6458 |
array (
|
6459 |
'en' => 'São Tomé and Príncipe',
|
6460 |
-
'de' => '
|
6461 |
'it' => 'São Tomé e Príncipe',
|
6462 |
'es' => 'Santo Tomé y Príncipe',
|
6463 |
-
'fr' => '
|
6464 |
-
'ja' => '
|
6465 |
-
'pt-BR' => '
|
6466 |
-
'ru' => 'Сан-Томе и
|
6467 |
'zh-CN' => '圣多美和普林西比',
|
6468 |
),
|
6469 |
),
|
@@ -6521,7 +6521,7 @@ return array (
|
|
6521 |
'en' => 'Sint Maarten',
|
6522 |
'de' => 'Sint Maarten',
|
6523 |
'it' => 'Sint Maarten',
|
6524 |
-
'es' => 'San Martín',
|
6525 |
'fr' => 'Saint-Martin',
|
6526 |
'ja' => 'シント・マールテン',
|
6527 |
'pt-BR' => 'São Martinho',
|
@@ -6554,9 +6554,9 @@ return array (
|
|
6554 |
'it' => 'Siria',
|
6555 |
'es' => 'Siria',
|
6556 |
'fr' => 'Syrie',
|
6557 |
-
'ja' => '
|
6558 |
'pt-BR' => 'Síria',
|
6559 |
-
'ru' => '
|
6560 |
'zh-CN' => '叙利亚',
|
6561 |
),
|
6562 |
),
|
@@ -6581,13 +6581,13 @@ return array (
|
|
6581 |
'names' =>
|
6582 |
array (
|
6583 |
'en' => 'Eswatini',
|
6584 |
-
'de' => '
|
6585 |
'it' => 'Swaziland',
|
6586 |
-
'es' => '
|
6587 |
'fr' => 'Swaziland',
|
6588 |
-
'ja' => '
|
6589 |
-
'pt-BR' => '
|
6590 |
-
'ru' => '
|
6591 |
'zh-CN' => '斯威士兰',
|
6592 |
),
|
6593 |
),
|
@@ -6616,9 +6616,9 @@ return array (
|
|
6616 |
'it' => 'Isole Turks e Caicos',
|
6617 |
'es' => 'Islas Turcas y Caicos',
|
6618 |
'fr' => 'Îles Turques-et-Caïques',
|
6619 |
-
'ja' => '
|
6620 |
-
'pt-BR' => 'Ilhas
|
6621 |
-
'ru' => '
|
6622 |
'zh-CN' => '特克斯和凯科斯群岛',
|
6623 |
),
|
6624 |
),
|
@@ -6647,7 +6647,7 @@ return array (
|
|
6647 |
'it' => 'Ciad',
|
6648 |
'es' => 'Chad',
|
6649 |
'fr' => 'Tchad',
|
6650 |
-
'ja' => '
|
6651 |
'pt-BR' => 'Chade',
|
6652 |
'ru' => 'Чад',
|
6653 |
'zh-CN' => '乍得',
|
@@ -6675,13 +6675,13 @@ return array (
|
|
6675 |
array (
|
6676 |
'en' => 'French Southern Territories',
|
6677 |
'de' => 'Französische Süd- und Antarktisgebiete',
|
6678 |
-
'it' => 'Terre australi
|
6679 |
'es' => 'Territorios Australes Franceses',
|
6680 |
'fr' => 'Terres australes françaises',
|
6681 |
'ja' => '仏領極南諸島',
|
6682 |
'pt-BR' => 'Territórios Franceses do Sul',
|
6683 |
-
'ru' => 'Французские Южные
|
6684 |
-
'zh-CN' => '
|
6685 |
),
|
6686 |
),
|
6687 |
'continent' => 'AN',
|
@@ -6709,7 +6709,7 @@ return array (
|
|
6709 |
'it' => 'Togo',
|
6710 |
'es' => 'Togo',
|
6711 |
'fr' => 'Togo',
|
6712 |
-
'ja' => '
|
6713 |
'pt-BR' => 'Togo',
|
6714 |
'ru' => 'Того',
|
6715 |
'zh-CN' => '多哥',
|
@@ -6742,7 +6742,7 @@ return array (
|
|
6742 |
'fr' => 'Thaïlande',
|
6743 |
'ja' => 'タイ',
|
6744 |
'pt-BR' => 'Tailândia',
|
6745 |
-
'ru' => '
|
6746 |
'zh-CN' => '泰国',
|
6747 |
),
|
6748 |
),
|
@@ -6771,8 +6771,8 @@ return array (
|
|
6771 |
'it' => 'Tagikistan',
|
6772 |
'es' => 'Tayikistán',
|
6773 |
'fr' => 'Tadjikistan',
|
6774 |
-
'ja' => '
|
6775 |
-
'pt-BR' => '
|
6776 |
'ru' => 'Таджикистан',
|
6777 |
'zh-CN' => '塔吉克斯坦',
|
6778 |
),
|
@@ -6802,7 +6802,7 @@ return array (
|
|
6802 |
'it' => 'Tokelau',
|
6803 |
'es' => 'Tokelau',
|
6804 |
'fr' => 'Tokelau',
|
6805 |
-
'ja' => '
|
6806 |
'pt-BR' => 'Tokelau',
|
6807 |
'ru' => 'Токелау',
|
6808 |
'zh-CN' => '托克劳',
|
@@ -6831,11 +6831,11 @@ return array (
|
|
6831 |
'en' => 'Timor-Leste',
|
6832 |
'de' => 'Timor-Leste',
|
6833 |
'it' => 'Timor Est',
|
6834 |
-
'es' => 'Timor
|
6835 |
'fr' => 'Timor Oriental',
|
6836 |
'ja' => '東ティモール共和国',
|
6837 |
-
'pt-BR' => '
|
6838 |
-
'ru' => '
|
6839 |
'zh-CN' => '东帝汶',
|
6840 |
),
|
6841 |
),
|
@@ -6895,7 +6895,7 @@ return array (
|
|
6895 |
'it' => 'Tunisia',
|
6896 |
'es' => 'Túnez',
|
6897 |
'fr' => 'Tunisie',
|
6898 |
-
'ja' => '
|
6899 |
'pt-BR' => 'Tunísia',
|
6900 |
'ru' => 'Тунис',
|
6901 |
'zh-CN' => '突尼斯',
|
@@ -6926,7 +6926,7 @@ return array (
|
|
6926 |
'it' => 'Tonga',
|
6927 |
'es' => 'Tonga',
|
6928 |
'fr' => 'Tonga',
|
6929 |
-
'ja' => '
|
6930 |
'pt-BR' => 'Tonga',
|
6931 |
'ru' => 'Тонга',
|
6932 |
'zh-CN' => '汤加',
|
@@ -6957,7 +6957,7 @@ return array (
|
|
6957 |
'it' => 'Turchia',
|
6958 |
'es' => 'Turquía',
|
6959 |
'fr' => 'Turquie',
|
6960 |
-
'ja' => '
|
6961 |
'pt-BR' => 'Turquia',
|
6962 |
'ru' => 'Турция',
|
6963 |
'zh-CN' => '土耳其',
|
@@ -6987,9 +6987,9 @@ return array (
|
|
6987 |
'de' => 'Trinidad und Tobago',
|
6988 |
'it' => 'Trinidad e Tobago',
|
6989 |
'es' => 'Trinidad y Tobago',
|
6990 |
-
'fr' => '
|
6991 |
-
'ja' => '
|
6992 |
-
'pt-BR' => '
|
6993 |
'ru' => 'Тринидад и Тобаго',
|
6994 |
'zh-CN' => '特立尼达和多巴哥',
|
6995 |
),
|
@@ -7015,7 +7015,7 @@ return array (
|
|
7015 |
'names' =>
|
7016 |
array (
|
7017 |
'en' => 'Tuvalu',
|
7018 |
-
'de' => '
|
7019 |
'it' => 'Tuvalu',
|
7020 |
'es' => 'Tuvalu',
|
7021 |
'fr' => 'Tuvalu',
|
@@ -7050,10 +7050,10 @@ return array (
|
|
7050 |
'it' => 'Taiwan',
|
7051 |
'es' => 'Taiwán',
|
7052 |
'fr' => 'Taïwan',
|
7053 |
-
'ja' => '
|
7054 |
'pt-BR' => 'Taiwan',
|
7055 |
'ru' => 'Тайвань',
|
7056 |
-
'zh-CN' => '
|
7057 |
),
|
7058 |
),
|
7059 |
'continent' => 'AS',
|
@@ -7081,7 +7081,7 @@ return array (
|
|
7081 |
'it' => 'Tanzania',
|
7082 |
'es' => 'Tanzania',
|
7083 |
'fr' => 'Tanzanie',
|
7084 |
-
'ja' => '
|
7085 |
'pt-BR' => 'Tanzânia',
|
7086 |
'ru' => 'Танзания',
|
7087 |
'zh-CN' => '坦桑尼亚',
|
@@ -7112,7 +7112,7 @@ return array (
|
|
7112 |
'it' => 'Ucraina',
|
7113 |
'es' => 'Ucrania',
|
7114 |
'fr' => 'Ukraine',
|
7115 |
-
'ja' => '
|
7116 |
'pt-BR' => 'Ucrânia',
|
7117 |
'ru' => 'Украина',
|
7118 |
'zh-CN' => '乌克兰',
|
@@ -7143,7 +7143,7 @@ return array (
|
|
7143 |
'it' => 'Uganda',
|
7144 |
'es' => 'Uganda',
|
7145 |
'fr' => 'Ouganda',
|
7146 |
-
'ja' => '
|
7147 |
'pt-BR' => 'Uganda',
|
7148 |
'ru' => 'Уганда',
|
7149 |
'zh-CN' => '乌干达',
|
@@ -7169,15 +7169,15 @@ return array (
|
|
7169 |
'geoname_id' => 5854968,
|
7170 |
'names' =>
|
7171 |
array (
|
7172 |
-
'en' => 'U.S.
|
7173 |
-
'de' => '
|
7174 |
-
'it' => '
|
7175 |
-
'es' => 'Islas menores alejadas de
|
7176 |
'fr' => 'Îles mineures éloignées des États-Unis',
|
7177 |
-
'ja' => '
|
7178 |
-
'pt-BR' => 'Ilhas Menores Distantes dos
|
7179 |
-
'ru' => 'Внешние малые
|
7180 |
-
'zh-CN' => '
|
7181 |
),
|
7182 |
),
|
7183 |
'continent' => 'OC',
|
@@ -7202,11 +7202,11 @@ return array (
|
|
7202 |
array (
|
7203 |
'en' => 'United States',
|
7204 |
'de' => 'USA',
|
7205 |
-
'it' => '
|
7206 |
-
'es' => '
|
7207 |
-
'fr' => '
|
7208 |
-
'ja' => '
|
7209 |
-
'pt-BR' => '
|
7210 |
'ru' => 'США',
|
7211 |
'zh-CN' => '美国',
|
7212 |
),
|
@@ -7236,7 +7236,7 @@ return array (
|
|
7236 |
'it' => 'Uruguay',
|
7237 |
'es' => 'Uruguay',
|
7238 |
'fr' => 'Uruguay',
|
7239 |
-
'ja' => '
|
7240 |
'pt-BR' => 'Uruguai',
|
7241 |
'ru' => 'Уругвай',
|
7242 |
'zh-CN' => '乌拉圭',
|
@@ -7267,7 +7267,7 @@ return array (
|
|
7267 |
'it' => 'Uzbekistan',
|
7268 |
'es' => 'Uzbekistán',
|
7269 |
'fr' => 'Ouzbékistan',
|
7270 |
-
'ja' => '
|
7271 |
'pt-BR' => 'Uzbequistão',
|
7272 |
'ru' => 'Узбекистан',
|
7273 |
'zh-CN' => '乌兹别克斯坦',
|
@@ -7294,14 +7294,14 @@ return array (
|
|
7294 |
'names' =>
|
7295 |
array (
|
7296 |
'en' => 'Vatican City',
|
7297 |
-
'de' => '
|
7298 |
'it' => 'Vaticano',
|
7299 |
'es' => 'Ciudad del Vaticano',
|
7300 |
'fr' => 'Vatican',
|
7301 |
'ja' => 'ローマ法王庁 (バチカン市国)',
|
7302 |
'pt-BR' => 'Vaticano',
|
7303 |
'ru' => 'Ватикан',
|
7304 |
-
'zh-CN' => '
|
7305 |
),
|
7306 |
),
|
7307 |
'continent' => 'EU',
|
@@ -7329,8 +7329,8 @@ return array (
|
|
7329 |
'it' => 'Saint Vincent e Grenadine',
|
7330 |
'es' => 'San Vicente y las Granadinas',
|
7331 |
'fr' => 'Saint-Vincent-et-les-Grenadines',
|
7332 |
-
'ja' => '
|
7333 |
-
'pt-BR' => 'São
|
7334 |
'ru' => 'Сент-Винсент и Гренадины',
|
7335 |
'zh-CN' => '圣文森特和格林纳丁斯',
|
7336 |
),
|
@@ -7338,8 +7338,8 @@ return array (
|
|
7338 |
'continent' => 'NA',
|
7339 |
'location' =>
|
7340 |
array (
|
7341 |
-
'latitude' => 12.
|
7342 |
-
'longitude' => -61.
|
7343 |
),
|
7344 |
'extra' =>
|
7345 |
array (
|
@@ -7360,7 +7360,7 @@ return array (
|
|
7360 |
'it' => 'Venezuela',
|
7361 |
'es' => 'Venezuela',
|
7362 |
'fr' => 'Vénézuéla',
|
7363 |
-
'ja' => '
|
7364 |
'pt-BR' => 'Venezuela',
|
7365 |
'ru' => 'Венесуэла',
|
7366 |
'zh-CN' => '委内瑞拉',
|
@@ -7393,8 +7393,8 @@ return array (
|
|
7393 |
'fr' => 'Îles Vierges',
|
7394 |
'ja' => '英領ヴァージン諸島',
|
7395 |
'pt-BR' => 'Ilhas Virgens Britânicas',
|
7396 |
-
'ru' => '
|
7397 |
-
'zh-CN' => '
|
7398 |
),
|
7399 |
),
|
7400 |
'continent' => 'NA',
|
@@ -7420,12 +7420,12 @@ return array (
|
|
7420 |
'en' => 'U.S. Virgin Islands',
|
7421 |
'de' => 'Amerikanische Jungferninseln',
|
7422 |
'it' => 'Isole Vergini Americane',
|
7423 |
-
'es' => 'Islas Vírgenes de
|
7424 |
'fr' => 'Îles Vierges des États-Unis',
|
7425 |
'ja' => '米領ヴァージン諸島',
|
7426 |
-
'pt-BR' => 'Ilhas Virgens
|
7427 |
'ru' => 'Виргинские о-ва (США)',
|
7428 |
-
'zh-CN' => '
|
7429 |
),
|
7430 |
),
|
7431 |
'continent' => 'NA',
|
@@ -7452,7 +7452,7 @@ return array (
|
|
7452 |
'de' => 'Vietnam',
|
7453 |
'it' => 'Vietnam',
|
7454 |
'es' => 'Vietnam',
|
7455 |
-
'fr' => '
|
7456 |
'ja' => 'ベトナム',
|
7457 |
'pt-BR' => 'Vietnã',
|
7458 |
'ru' => 'Вьетнам',
|
@@ -7484,7 +7484,7 @@ return array (
|
|
7484 |
'it' => 'Vanuatu',
|
7485 |
'es' => 'Vanuatu',
|
7486 |
'fr' => 'Vanuatu',
|
7487 |
-
'ja' => '
|
7488 |
'pt-BR' => 'Vanuatu',
|
7489 |
'ru' => 'Вануату',
|
7490 |
'zh-CN' => '瓦努阿图',
|
@@ -7515,8 +7515,8 @@ return array (
|
|
7515 |
'it' => 'Wallis e Futuna',
|
7516 |
'es' => 'Wallis y Futuna',
|
7517 |
'fr' => 'Wallis-et-Futuna',
|
7518 |
-
'ja' => '
|
7519 |
-
'pt-BR' => '
|
7520 |
'ru' => 'Уоллис и Футуна',
|
7521 |
'zh-CN' => '瓦利斯和富图纳',
|
7522 |
),
|
@@ -7546,7 +7546,7 @@ return array (
|
|
7546 |
'it' => 'Samoa',
|
7547 |
'es' => 'Samoa',
|
7548 |
'fr' => 'Samoa',
|
7549 |
-
'ja' => '
|
7550 |
'pt-BR' => 'Samoa',
|
7551 |
'ru' => 'Самоа',
|
7552 |
'zh-CN' => '萨摩亚',
|
@@ -7574,7 +7574,7 @@ return array (
|
|
7574 |
array (
|
7575 |
'en' => 'Kosovo',
|
7576 |
'de' => 'Kosovo',
|
7577 |
-
'it' => '
|
7578 |
'es' => 'Kosovo',
|
7579 |
'fr' => 'Kosovo',
|
7580 |
'ja' => 'コソボ',
|
@@ -7608,7 +7608,7 @@ return array (
|
|
7608 |
'it' => 'Yemen',
|
7609 |
'es' => 'Yemen',
|
7610 |
'fr' => 'Yémen',
|
7611 |
-
'ja' => '
|
7612 |
'pt-BR' => 'Iêmen',
|
7613 |
'ru' => 'Йемен',
|
7614 |
'zh-CN' => '也门',
|
@@ -7701,7 +7701,7 @@ return array (
|
|
7701 |
'it' => 'Zambia',
|
7702 |
'es' => 'Zambia',
|
7703 |
'fr' => 'Zambie',
|
7704 |
-
'ja' => '
|
7705 |
'pt-BR' => 'Zâmbia',
|
7706 |
'ru' => 'Замбия',
|
7707 |
'zh-CN' => '赞比亚',
|
@@ -7732,7 +7732,7 @@ return array (
|
|
7732 |
'it' => 'Zimbabwe',
|
7733 |
'es' => 'Zimbawe',
|
7734 |
'fr' => 'Zimbabwe',
|
7735 |
-
'ja' => '
|
7736 |
'pt-BR' => 'Zimbábue',
|
7737 |
'ru' => 'Зимбабве',
|
7738 |
'zh-CN' => '津巴布韦',
|
1 |
<?php
|
2 |
+
// Generated at Mon, 08 Nov 2021 16:29:58 +0100
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
109 |
'de' => 'Antigua und Barbuda',
|
110 |
'it' => 'Antigua e Barbuda',
|
111 |
'es' => 'Antigua y Barbuda',
|
112 |
+
'fr' => 'Antigua-et-Barbuda',
|
113 |
+
'ja' => 'アンティグア・バーブーダ',
|
114 |
'pt-BR' => 'Antígua e Barbuda',
|
115 |
'ru' => 'Антигуа и Барбуда',
|
116 |
'zh-CN' => '安提瓜和巴布达',
|
172 |
'it' => 'Albania',
|
173 |
'es' => 'Albania',
|
174 |
'fr' => 'Albanie',
|
175 |
+
'ja' => 'アルバニア',
|
176 |
'pt-BR' => 'Albânia',
|
177 |
'ru' => 'Албания',
|
178 |
'zh-CN' => '阿尔巴尼亚',
|
203 |
'it' => 'Armenia',
|
204 |
'es' => 'Armenia',
|
205 |
'fr' => 'Arménie',
|
206 |
+
'ja' => 'アルメニア',
|
207 |
'pt-BR' => 'Armênia',
|
208 |
'ru' => 'Армения',
|
209 |
'zh-CN' => '亚美尼亚',
|
234 |
'it' => 'Angola',
|
235 |
'es' => 'Angola',
|
236 |
'fr' => 'Angola',
|
237 |
+
'ja' => 'アンゴラ',
|
238 |
'pt-BR' => 'Angola',
|
239 |
'ru' => 'Ангола',
|
240 |
'zh-CN' => '安哥拉',
|
292 |
'it' => 'Argentina',
|
293 |
'es' => 'Argentina',
|
294 |
'fr' => 'Argentine',
|
295 |
+
'ja' => 'アルゼンチン',
|
296 |
'pt-BR' => 'Argentina',
|
297 |
'ru' => 'Аргентина',
|
298 |
'zh-CN' => '阿根廷',
|
354 |
'it' => 'Austria',
|
355 |
'es' => 'Austria',
|
356 |
'fr' => 'Autriche',
|
357 |
+
'ja' => 'オーストリア',
|
358 |
'pt-BR' => 'Áustria',
|
359 |
'ru' => 'Австрия',
|
360 |
'zh-CN' => '奥地利',
|
443 |
'names' =>
|
444 |
array (
|
445 |
'en' => 'Åland',
|
446 |
+
'de' => 'Ålandinseln',
|
447 |
'it' => 'Isole Åland',
|
448 |
+
'es' => 'Islas Aland',
|
449 |
'fr' => 'Îles Åland',
|
450 |
'ja' => 'オーランド諸島',
|
451 |
'pt-BR' => 'Alanda',
|
478 |
'it' => 'Azerbaigian',
|
479 |
'es' => 'Azerbaiyán',
|
480 |
'fr' => 'Azerbaïdjan',
|
481 |
+
'ja' => 'アゼルバイジャン',
|
482 |
'pt-BR' => 'Azerbaijão',
|
483 |
'ru' => 'Азербайджан',
|
484 |
'zh-CN' => '阿塞拜疆',
|
509 |
'it' => 'Bosnia ed Erzegovina',
|
510 |
'es' => 'Bosnia-Herzegovina',
|
511 |
'fr' => 'Bosnie-Herzégovine',
|
512 |
+
'ja' => 'ボスニア・ヘルツェゴビナ',
|
513 |
+
'pt-BR' => 'Bósnia e Herzegovina',
|
514 |
+
'ru' => 'Босния и Герцеговина',
|
515 |
+
'zh-CN' => '波斯尼亚和黑塞哥维那',
|
516 |
),
|
517 |
),
|
518 |
'continent' => 'EU',
|
571 |
'it' => 'Bangladesh',
|
572 |
'es' => 'Bangladesh',
|
573 |
'fr' => 'Bangladesh',
|
574 |
+
'ja' => 'バングラデシュ',
|
575 |
+
'pt-BR' => 'Bangladesh',
|
576 |
'ru' => 'Бангладеш',
|
577 |
+
'zh-CN' => '孟加拉国',
|
578 |
),
|
579 |
),
|
580 |
'continent' => 'AS',
|
602 |
'it' => 'Belgio',
|
603 |
'es' => 'Bélgica',
|
604 |
'fr' => 'Belgique',
|
605 |
+
'ja' => 'ベルギー',
|
606 |
'pt-BR' => 'Bélgica',
|
607 |
'ru' => 'Бельгия',
|
608 |
'zh-CN' => '比利时',
|
634 |
'es' => 'Burkina Faso',
|
635 |
'fr' => 'Burkina Faso',
|
636 |
'ja' => 'ブルキナファソ',
|
637 |
+
'pt-BR' => 'Burquina Faso',
|
638 |
+
'ru' => 'Буркина-Фасо',
|
639 |
'zh-CN' => '布基纳法索',
|
640 |
),
|
641 |
),
|
664 |
'it' => 'Bulgaria',
|
665 |
'es' => 'Bulgaria',
|
666 |
'fr' => 'Bulgarie',
|
667 |
+
'ja' => 'ブルガリア',
|
668 |
'pt-BR' => 'Bulgária',
|
669 |
'ru' => 'Болгария',
|
670 |
'zh-CN' => '保加利亚',
|
726 |
'it' => 'Burundi',
|
727 |
'es' => 'Burundi',
|
728 |
'fr' => 'Burundi',
|
729 |
+
'ja' => 'ブルンジ',
|
730 |
'pt-BR' => 'Burundi',
|
731 |
'ru' => 'Бурунди',
|
732 |
'zh-CN' => '布隆迪',
|
757 |
'it' => 'Benin',
|
758 |
'es' => 'Benín',
|
759 |
'fr' => 'Bénin',
|
760 |
+
'ja' => 'ベナン',
|
761 |
'pt-BR' => 'Benin',
|
762 |
'ru' => 'Бенин',
|
763 |
'zh-CN' => '贝宁',
|
785 |
array (
|
786 |
'en' => 'Saint Barthélemy',
|
787 |
'de' => 'St. Barthélemy',
|
788 |
+
'it' => 'Saint-Barthélemy',
|
789 |
'es' => 'San Bartolomé',
|
790 |
'fr' => 'Saint-Barthélemy',
|
791 |
'ja' => 'サン・バルテルミー',
|
849 |
'de' => 'Brunei',
|
850 |
'it' => 'Brunei',
|
851 |
'es' => 'Brunéi',
|
852 |
+
'fr' => 'Brunei',
|
853 |
'ja' => 'ブルネイ',
|
854 |
'pt-BR' => 'Brunei',
|
855 |
+
'ru' => 'Бруней-Даруссалам',
|
856 |
'zh-CN' => '文莱',
|
857 |
),
|
858 |
),
|
881 |
'it' => 'Bolivia',
|
882 |
'es' => 'Bolivia',
|
883 |
'fr' => 'Bolivie',
|
884 |
+
'ja' => 'ボリビア',
|
885 |
'pt-BR' => 'Bolívia',
|
886 |
'ru' => 'Боливия',
|
887 |
'zh-CN' => '玻利维亚',
|
908 |
'names' =>
|
909 |
array (
|
910 |
'en' => 'Bonaire, Sint Eustatius, and Saba',
|
911 |
+
'de' => 'Karibische Niederlande',
|
912 |
+
'it' => 'Caraibi olandesi',
|
913 |
'es' => 'Bonaire',
|
914 |
+
'fr' => 'Pays-Bas caribéens',
|
915 |
'ja' => 'ボネール、シント・ユースタティウスおよびサバ',
|
916 |
'pt-BR' => 'Bonaire',
|
917 |
'ru' => 'Бонайре, Синт-Эстатиус и Саба',
|
943 |
'it' => 'Brasile',
|
944 |
'es' => 'Brasil',
|
945 |
'fr' => 'Brésil',
|
946 |
+
'ja' => 'ブラジル',
|
947 |
'pt-BR' => 'Brasil',
|
948 |
'ru' => 'Бразилия',
|
949 |
'zh-CN' => '巴西',
|
974 |
'it' => 'Bahamas',
|
975 |
'es' => 'Bahamas',
|
976 |
'fr' => 'Bahamas',
|
977 |
+
'ja' => 'バハマ',
|
978 |
'pt-BR' => 'Bahamas',
|
979 |
'ru' => 'Багамы',
|
980 |
'zh-CN' => '巴哈马',
|
1005 |
'it' => 'Bhutan',
|
1006 |
'es' => 'Bután',
|
1007 |
'fr' => 'Bhoutan',
|
1008 |
+
'ja' => 'ブータン',
|
1009 |
'pt-BR' => 'Butão',
|
1010 |
'ru' => 'Бутан',
|
1011 |
'zh-CN' => '不丹',
|
1038 |
'fr' => 'Île Bouvet',
|
1039 |
'ja' => 'ブーベ島',
|
1040 |
'pt-BR' => 'Ilha Bouvet',
|
1041 |
+
'ru' => 'о-в Буве',
|
1042 |
+
'zh-CN' => '布韦岛',
|
1043 |
),
|
1044 |
),
|
1045 |
'continent' => 'AN',
|
1067 |
'it' => 'Botswana',
|
1068 |
'es' => 'Botsuana',
|
1069 |
'fr' => 'Botswana',
|
1070 |
+
'ja' => 'ボツワナ',
|
1071 |
'pt-BR' => 'Botsuana',
|
1072 |
'ru' => 'Ботсвана',
|
1073 |
'zh-CN' => '博茨瓦纳',
|
1094 |
'names' =>
|
1095 |
array (
|
1096 |
'en' => 'Belarus',
|
1097 |
+
'de' => 'Belarus',
|
1098 |
'it' => 'Bielorussia',
|
1099 |
'es' => 'Bielorrusia',
|
1100 |
'fr' => 'Biélorussie',
|
1101 |
+
'ja' => 'ベラルーシ',
|
1102 |
+
'pt-BR' => 'Bielorrússia',
|
1103 |
'ru' => 'Беларусь',
|
1104 |
'zh-CN' => '白俄罗斯',
|
1105 |
),
|
1186 |
'geoname_id' => 1547376,
|
1187 |
'names' =>
|
1188 |
array (
|
1189 |
+
'en' => 'Cocos (Keeling) Islands',
|
1190 |
'de' => 'Kokosinseln',
|
1191 |
+
'it' => 'Isole Cocos (Keeling)',
|
1192 |
'es' => 'Islas Cocos',
|
1193 |
'fr' => 'Îles Cocos',
|
1194 |
+
'ja' => 'ココス(キーリング)諸島',
|
1195 |
+
'pt-BR' => 'Ilhas Cocos (Keeling)',
|
1196 |
'ru' => 'Кокосовые о-ва',
|
1197 |
+
'zh-CN' => '科科斯(基林)群岛',
|
1198 |
),
|
1199 |
),
|
1200 |
'continent' => 'AS',
|
1223 |
'es' => 'Congo Democrático',
|
1224 |
'fr' => 'RDC',
|
1225 |
'ja' => 'コンゴ民主共和国',
|
1226 |
+
'pt-BR' => 'Congo - Kinshasa',
|
1227 |
'ru' => 'Заир',
|
1228 |
'zh-CN' => '扎伊尔',
|
1229 |
),
|
1255 |
'fr' => 'Centrafrique',
|
1256 |
'ja' => '中央アフリカ共和国',
|
1257 |
'pt-BR' => 'República Centro-Africana',
|
1258 |
+
'ru' => 'Центрально-Африканская Республика',
|
1259 |
'zh-CN' => '中非共和国',
|
1260 |
),
|
1261 |
),
|
1281 |
array (
|
1282 |
'en' => 'Congo Republic',
|
1283 |
'de' => 'Kongo (Republik Kongo)',
|
1284 |
+
'it' => 'Congo-Brazzaville',
|
1285 |
+
'es' => 'Congo',
|
1286 |
'fr' => 'Congo-Brazzaville',
|
1287 |
+
'ja' => 'コンゴ共和国',
|
1288 |
'pt-BR' => 'Congo',
|
1289 |
+
'ru' => 'Республика Конго',
|
1290 |
+
'zh-CN' => '刚果共和国',
|
1291 |
),
|
1292 |
),
|
1293 |
'continent' => 'AF',
|
1315 |
'it' => 'Svizzera',
|
1316 |
'es' => 'Suiza',
|
1317 |
'fr' => 'Suisse',
|
1318 |
+
'ja' => 'スイス',
|
1319 |
'pt-BR' => 'Suíça',
|
1320 |
'ru' => 'Швейцария',
|
1321 |
'zh-CN' => '瑞士',
|
1343 |
array (
|
1344 |
'en' => 'Ivory Coast',
|
1345 |
'de' => 'Elfenbeinküste',
|
1346 |
+
'it' => 'Côte d’Ivoire',
|
1347 |
+
'es' => 'Côte d’Ivoire',
|
1348 |
'fr' => 'Côte d\'Ivoire',
|
1349 |
'ja' => '象牙海岸',
|
1350 |
+
'pt-BR' => 'Côte d’Ivoire',
|
1351 |
+
'ru' => 'Кот-д’Ивуар',
|
1352 |
'zh-CN' => '象牙海岸',
|
1353 |
),
|
1354 |
),
|
1408 |
'it' => 'Cile',
|
1409 |
'es' => 'Chile',
|
1410 |
'fr' => 'Chili',
|
1411 |
+
'ja' => 'チリ',
|
1412 |
'pt-BR' => 'Chile',
|
1413 |
'ru' => 'Чили',
|
1414 |
'zh-CN' => '智利',
|
1439 |
'it' => 'Camerun',
|
1440 |
'es' => 'Camerún',
|
1441 |
'fr' => 'Cameroun',
|
1442 |
+
'ja' => 'カメルーン',
|
1443 |
'pt-BR' => 'Camarões',
|
1444 |
'ru' => 'Камерун',
|
1445 |
'zh-CN' => '喀麦隆',
|
1501 |
'it' => 'Colombia',
|
1502 |
'es' => 'Colombia',
|
1503 |
'fr' => 'Colombie',
|
1504 |
+
'ja' => 'コロンビア',
|
1505 |
'pt-BR' => 'Colômbia',
|
1506 |
'ru' => 'Колумбия',
|
1507 |
'zh-CN' => '哥伦比亚',
|
1563 |
'it' => 'Cuba',
|
1564 |
'es' => 'Cuba',
|
1565 |
'fr' => 'Cuba',
|
1566 |
+
'ja' => 'キューバ',
|
1567 |
'pt-BR' => 'Cuba',
|
1568 |
'ru' => 'Куба',
|
1569 |
'zh-CN' => '古巴',
|
1596 |
'fr' => 'Cap-Vert',
|
1597 |
'ja' => 'カーボベルデ',
|
1598 |
'pt-BR' => 'Cabo Verde',
|
1599 |
+
'ru' => 'Кабо-Верде',
|
1600 |
'zh-CN' => '佛得角',
|
1601 |
),
|
1602 |
),
|
1622 |
array (
|
1623 |
'en' => 'Curaçao',
|
1624 |
'de' => 'Curaçao',
|
1625 |
+
'it' => 'Curaçao',
|
1626 |
'es' => 'Curazao',
|
1627 |
'fr' => 'Curaçao',
|
1628 |
'ja' => 'キュラソー',
|
1653 |
array (
|
1654 |
'en' => 'Christmas Island',
|
1655 |
'de' => 'Weihnachtsinsel',
|
1656 |
+
'it' => 'Isola Christmas',
|
1657 |
+
'es' => 'Isla de Navidad',
|
1658 |
'fr' => 'Île Christmas',
|
1659 |
'ja' => 'クリスマス島',
|
1660 |
+
'pt-BR' => 'Ilha Christmas',
|
1661 |
+
'ru' => 'о-в Рождества',
|
1662 |
'zh-CN' => '圣诞岛',
|
1663 |
),
|
1664 |
),
|
1687 |
'it' => 'Cipro',
|
1688 |
'es' => 'Chipre',
|
1689 |
'fr' => 'Chypre',
|
1690 |
+
'ja' => 'キプロス',
|
1691 |
'pt-BR' => 'Chipre',
|
1692 |
'ru' => 'Кипр',
|
1693 |
'zh-CN' => '塞浦路斯',
|
1696 |
'continent' => 'EU',
|
1697 |
'location' =>
|
1698 |
array (
|
1699 |
+
'latitude' => 35.16361872019715,
|
1700 |
+
'longitude' => 33.4293630330958,
|
1701 |
),
|
1702 |
'extra' =>
|
1703 |
array (
|
1716 |
'en' => 'Czechia',
|
1717 |
'de' => 'Tschechien',
|
1718 |
'it' => 'Cechia',
|
1719 |
+
'es' => 'Chequia',
|
1720 |
+
'fr' => 'Tchéquie',
|
1721 |
+
'ja' => 'チェコ',
|
1722 |
+
'pt-BR' => 'Chéquia',
|
1723 |
+
'ru' => 'Чехия',
|
1724 |
+
'zh-CN' => '捷克',
|
1725 |
),
|
1726 |
),
|
1727 |
'continent' => 'EU',
|
1749 |
'it' => 'Germania',
|
1750 |
'es' => 'Alemania',
|
1751 |
'fr' => 'Allemagne',
|
1752 |
+
'ja' => 'ドイツ',
|
1753 |
'pt-BR' => 'Alemanha',
|
1754 |
'ru' => 'Германия',
|
1755 |
'zh-CN' => '德国',
|
1811 |
'it' => 'Danimarca',
|
1812 |
'es' => 'Dinamarca',
|
1813 |
'fr' => 'Danemark',
|
1814 |
+
'ja' => 'デンマーク',
|
1815 |
'pt-BR' => 'Dinamarca',
|
1816 |
'ru' => 'Дания',
|
1817 |
'zh-CN' => '丹麦',
|
1844 |
'fr' => 'Dominique',
|
1845 |
'ja' => 'ドミニカ国',
|
1846 |
'pt-BR' => 'Dominica',
|
1847 |
+
'ru' => 'Доминика',
|
1848 |
+
'zh-CN' => '多米尼克',
|
1849 |
),
|
1850 |
),
|
1851 |
'continent' => 'NA',
|
1871 |
'en' => 'Dominican Republic',
|
1872 |
'de' => 'Dom. Republik',
|
1873 |
'it' => 'Repubblica Dominicana',
|
1874 |
+
'es' => 'Santo Domingo',
|
1875 |
+
'fr' => 'République dominicaine',
|
1876 |
'ja' => 'ドミニカ共和国',
|
1877 |
'pt-BR' => 'República Dominicana',
|
1878 |
'ru' => 'Доминиканская Республика',
|
1904 |
'it' => 'Algeria',
|
1905 |
'es' => 'Argelia',
|
1906 |
'fr' => 'Algérie',
|
1907 |
+
'ja' => 'アルジェリア',
|
1908 |
'pt-BR' => 'Argélia',
|
1909 |
'ru' => 'Алжир',
|
1910 |
'zh-CN' => '阿尔及利亚',
|
1935 |
'it' => 'Ecuador',
|
1936 |
'es' => 'Ecuador',
|
1937 |
'fr' => 'Équateur',
|
1938 |
+
'ja' => 'エクアドル',
|
1939 |
'pt-BR' => 'Equador',
|
1940 |
'ru' => 'Эквадор',
|
1941 |
'zh-CN' => '厄瓜多尔',
|
1966 |
'it' => 'Estonia',
|
1967 |
'es' => 'Estonia',
|
1968 |
'fr' => 'Estonie',
|
1969 |
+
'ja' => 'エストニア',
|
1970 |
'pt-BR' => 'Estônia',
|
1971 |
'ru' => 'Эстония',
|
1972 |
'zh-CN' => '爱沙尼亚',
|
1997 |
'it' => 'Egitto',
|
1998 |
'es' => 'Egipto',
|
1999 |
'fr' => 'Égypte',
|
2000 |
+
'ja' => 'エジプト',
|
2001 |
'pt-BR' => 'Egito',
|
2002 |
'ru' => 'Египет',
|
2003 |
'zh-CN' => '埃及',
|
2068 |
'continent' => 'AF',
|
2069 |
'location' =>
|
2070 |
array (
|
2071 |
+
'latitude' => 15.17957158800005,
|
2072 |
+
'longitude' => 39.785447160500055,
|
2073 |
),
|
2074 |
'extra' =>
|
2075 |
array (
|
2152 |
'it' => 'Finlandia',
|
2153 |
'es' => 'Finlandia',
|
2154 |
'fr' => 'Finlande',
|
2155 |
+
'ja' => 'フィンランド',
|
2156 |
'pt-BR' => 'Finlândia',
|
2157 |
'ru' => 'Финляндия',
|
2158 |
'zh-CN' => '芬兰',
|
2247 |
'fr' => 'Micronésie',
|
2248 |
'ja' => 'ミクロネシア連邦',
|
2249 |
'pt-BR' => 'Micronésia',
|
2250 |
+
'ru' => 'Федеративные Штаты Микронезии',
|
2251 |
'zh-CN' => '密克罗尼西亚',
|
2252 |
),
|
2253 |
),
|
2272 |
'names' =>
|
2273 |
array (
|
2274 |
'en' => 'Faroe Islands',
|
2275 |
+
'de' => 'Färöer',
|
2276 |
'it' => 'Isole Faroe',
|
2277 |
'es' => 'Islas Feroe',
|
2278 |
'fr' => 'Îles Féroé',
|
2279 |
'ja' => 'フェロー諸島',
|
2280 |
+
'pt-BR' => 'Ilhas Faroé',
|
2281 |
'ru' => 'Фарерские о-ва',
|
2282 |
'zh-CN' => '法罗群岛',
|
2283 |
),
|
2307 |
'it' => 'Francia',
|
2308 |
'es' => 'Francia',
|
2309 |
'fr' => 'France',
|
2310 |
+
'ja' => 'フランス',
|
2311 |
'pt-BR' => 'França',
|
2312 |
'ru' => 'Франция',
|
2313 |
'zh-CN' => '法国',
|
2338 |
'it' => 'Gabon',
|
2339 |
'es' => 'Gabón',
|
2340 |
'fr' => 'Gabon',
|
2341 |
+
'ja' => 'ガボン',
|
2342 |
'pt-BR' => 'Gabão',
|
2343 |
'ru' => 'Габон',
|
2344 |
'zh-CN' => '加蓬',
|
2365 |
'names' =>
|
2366 |
array (
|
2367 |
'en' => 'United Kingdom',
|
2368 |
+
'de' => 'UK',
|
2369 |
+
'it' => 'UK',
|
2370 |
+
'es' => 'RU',
|
2371 |
+
'fr' => 'R.-U.',
|
2372 |
+
'ja' => '英国',
|
2373 |
'pt-BR' => 'Reino Unido',
|
2374 |
+
'ru' => 'Британия',
|
2375 |
'zh-CN' => '英国',
|
2376 |
),
|
2377 |
),
|
2409 |
'continent' => 'NA',
|
2410 |
'location' =>
|
2411 |
array (
|
2412 |
+
'latitude' => 12.15261892566325,
|
2413 |
+
'longitude' => -61.689622955355155,
|
2414 |
),
|
2415 |
'extra' =>
|
2416 |
array (
|
2459 |
array (
|
2460 |
'en' => 'French Guiana',
|
2461 |
'de' => 'Französisch-Guayana',
|
2462 |
+
'it' => 'Guyana francese',
|
2463 |
'es' => 'Guayana Francesa',
|
2464 |
'fr' => 'Guyane',
|
2465 |
'ja' => '仏領ギアナ',
|
2491 |
'en' => 'Guernsey',
|
2492 |
'de' => 'Guernsey',
|
2493 |
'it' => 'Guernsey',
|
2494 |
+
'es' => 'Guernesey',
|
2495 |
'fr' => 'Guernesey',
|
2496 |
'ja' => 'ガーンジー',
|
2497 |
'pt-BR' => 'Guernsey',
|
2498 |
'ru' => 'Гернси',
|
2499 |
+
'zh-CN' => '根西岛',
|
2500 |
),
|
2501 |
),
|
2502 |
'continent' => 'EU',
|
2524 |
'it' => 'Ghana',
|
2525 |
'es' => 'Ghana',
|
2526 |
'fr' => 'Ghana',
|
2527 |
+
'ja' => 'ガーナ',
|
2528 |
'pt-BR' => 'Gana',
|
2529 |
'ru' => 'Гана',
|
2530 |
'zh-CN' => '加纳',
|
2558 |
'ja' => 'ジブラルタル',
|
2559 |
'pt-BR' => 'Gibraltar',
|
2560 |
'ru' => 'Гибралтар',
|
2561 |
+
'zh-CN' => '直布罗陀',
|
2562 |
),
|
2563 |
),
|
2564 |
'continent' => 'EU',
|
2587 |
'es' => 'Groenlandia',
|
2588 |
'fr' => 'Groenland',
|
2589 |
'ja' => 'グリーンランド',
|
2590 |
+
'pt-BR' => 'Groenlândia',
|
2591 |
'ru' => 'Гренландия',
|
2592 |
'zh-CN' => '格陵兰',
|
2593 |
),
|
2612 |
'geoname_id' => 2413451,
|
2613 |
'names' =>
|
2614 |
array (
|
2615 |
+
'en' => 'The Gambia',
|
2616 |
'de' => 'Gambia',
|
2617 |
'it' => 'Gambia',
|
2618 |
'es' => 'Gambia',
|
2619 |
'fr' => 'Gambie',
|
2620 |
+
'ja' => 'ガンビア',
|
2621 |
'pt-BR' => 'Gâmbia',
|
2622 |
'ru' => 'Гамбия',
|
2623 |
'zh-CN' => '冈比亚',
|
2648 |
'it' => 'Guinea',
|
2649 |
'es' => 'Guinea',
|
2650 |
'fr' => 'Guinée',
|
2651 |
+
'ja' => 'ギニア',
|
2652 |
'pt-BR' => 'Guiné',
|
2653 |
'ru' => 'Гвинея',
|
2654 |
'zh-CN' => '几内亚',
|
2682 |
'ja' => 'グアドループ',
|
2683 |
'pt-BR' => 'Guadalupe',
|
2684 |
'ru' => 'Гваделупа',
|
2685 |
+
'zh-CN' => '瓜德罗普',
|
2686 |
),
|
2687 |
),
|
2688 |
'continent' => 'NA',
|
2710 |
'it' => 'Guinea Equatoriale',
|
2711 |
'es' => 'Guinea Ecuatorial',
|
2712 |
'fr' => 'Guinée équatoriale',
|
2713 |
+
'ja' => '赤道ギニア',
|
2714 |
'pt-BR' => 'Guiné Equatorial',
|
2715 |
'ru' => 'Экваториальная Гвинея',
|
2716 |
'zh-CN' => '赤道几内亚',
|
2719 |
'continent' => 'AF',
|
2720 |
'location' =>
|
2721 |
array (
|
2722 |
+
'latitude' => 1.634390595,
|
2723 |
+
'longitude' => 10.339065555,
|
2724 |
),
|
2725 |
'extra' =>
|
2726 |
array (
|
2741 |
'it' => 'Grecia',
|
2742 |
'es' => 'Grecia',
|
2743 |
'fr' => 'Grèce',
|
2744 |
+
'ja' => 'ギリシャ',
|
2745 |
'pt-BR' => 'Grécia',
|
2746 |
'ru' => 'Греция',
|
2747 |
'zh-CN' => '希腊',
|
2769 |
array (
|
2770 |
'en' => 'South Georgia and South Sandwich Islands',
|
2771 |
'de' => 'Südgeorgien und die Südlichen Sandwichinseln',
|
2772 |
+
'it' => 'Georgia del Sud e Sandwich australi',
|
2773 |
'es' => 'Islas Georgia del Sur y Sandwich del Sur',
|
2774 |
'fr' => 'Géorgie du Sud-et-les îles Sandwich du Sud',
|
2775 |
+
'ja' => 'サウスジョージア・サウスサンドウィッチ諸島',
|
2776 |
+
'pt-BR' => 'Ilhas Geórgia do Sul e Sandwich do Sul',
|
2777 |
+
'ru' => 'Южная Георгия и Южные Сандвичевы о-ва',
|
2778 |
+
'zh-CN' => '南乔治亚和南桑威奇群岛',
|
2779 |
),
|
2780 |
),
|
2781 |
'continent' => 'AN',
|
2865 |
'it' => 'Guinea-Bissau',
|
2866 |
'es' => 'Guinea-Bissáu',
|
2867 |
'fr' => 'Guinée-Bissau',
|
2868 |
+
'ja' => 'ギニアビサウ',
|
2869 |
+
'pt-BR' => 'Guiné-Bissau',
|
2870 |
+
'ru' => 'Гвинея-Бисау',
|
2871 |
'zh-CN' => '几内亚比绍',
|
2872 |
),
|
2873 |
),
|
2953 |
'geoname_id' => 1547314,
|
2954 |
'names' =>
|
2955 |
array (
|
2956 |
+
'en' => 'Heard and McDonald Islands',
|
2957 |
+
'de' => 'Heard und McDonaldinseln',
|
2958 |
'it' => 'Isole Heard e McDonald',
|
2959 |
'es' => 'Islas Heard y McDonald',
|
2960 |
'fr' => 'Île Heard et îles McDonald',
|
2961 |
'ja' => 'ハード島・マクドナルド諸島',
|
2962 |
+
'pt-BR' => 'Ilhas Heard e McDonald',
|
2963 |
+
'ru' => 'о-ва Херд и Макдональд',
|
2964 |
+
'zh-CN' => '赫德岛和麦克唐纳群岛',
|
2965 |
),
|
2966 |
),
|
2967 |
'continent' => 'AN',
|
2989 |
'it' => 'Honduras',
|
2990 |
'es' => 'Honduras',
|
2991 |
'fr' => 'Honduras',
|
2992 |
+
'ja' => 'ホンジュラス',
|
2993 |
'pt-BR' => 'Honduras',
|
2994 |
'ru' => 'Гондурас',
|
2995 |
'zh-CN' => '洪都拉斯',
|
3020 |
'it' => 'Croazia',
|
3021 |
'es' => 'Croacia',
|
3022 |
'fr' => 'Croatie',
|
3023 |
+
'ja' => 'クロアチア',
|
3024 |
'pt-BR' => 'Croácia',
|
3025 |
'ru' => 'Хорватия',
|
3026 |
'zh-CN' => '克罗地亚',
|
3051 |
'it' => 'Haiti',
|
3052 |
'es' => 'Haití',
|
3053 |
'fr' => 'Haïti',
|
3054 |
+
'ja' => 'ハイチ',
|
3055 |
'pt-BR' => 'Haiti',
|
3056 |
'ru' => 'Гаити',
|
3057 |
'zh-CN' => '海地',
|
3082 |
'it' => 'Ungheria',
|
3083 |
'es' => 'Hungría',
|
3084 |
'fr' => 'Hongrie',
|
3085 |
+
'ja' => 'ハンガリー',
|
3086 |
'pt-BR' => 'Hungria',
|
3087 |
'ru' => 'Венгрия',
|
3088 |
'zh-CN' => '匈牙利',
|
3113 |
'it' => 'Indonesia',
|
3114 |
'es' => 'Indonesia',
|
3115 |
'fr' => 'Indonésie',
|
3116 |
+
'ja' => 'インドネシア',
|
3117 |
'pt-BR' => 'Indonésia',
|
3118 |
'ru' => 'Индонезия',
|
3119 |
'zh-CN' => '印度尼西亚',
|
3175 |
'it' => 'Israele',
|
3176 |
'es' => 'Israel',
|
3177 |
'fr' => 'Israël',
|
3178 |
+
'ja' => 'イスラエル',
|
3179 |
'pt-BR' => 'Israel',
|
3180 |
'ru' => 'Израиль',
|
3181 |
'zh-CN' => '以色列',
|
3202 |
'names' =>
|
3203 |
array (
|
3204 |
'en' => 'Isle of Man',
|
3205 |
+
'de' => 'Isle of Man',
|
3206 |
'it' => 'Isola di Man',
|
3207 |
'es' => 'Isla de Man',
|
3208 |
'fr' => 'Île de Man',
|
3209 |
'ja' => 'マン島',
|
3210 |
'pt-BR' => 'Ilha de Man',
|
3211 |
+
'ru' => 'о-в Мэн',
|
3212 |
+
'zh-CN' => '马恩岛',
|
3213 |
),
|
3214 |
),
|
3215 |
'continent' => 'EU',
|
3299 |
'it' => 'Iraq',
|
3300 |
'es' => 'Irak',
|
3301 |
'fr' => 'Irak',
|
3302 |
+
'ja' => 'イラク',
|
3303 |
'pt-BR' => 'Iraque',
|
3304 |
'ru' => 'Ирак',
|
3305 |
'zh-CN' => '伊拉克',
|
3326 |
'names' =>
|
3327 |
array (
|
3328 |
'en' => 'Iran',
|
3329 |
+
'de' => 'Iran',
|
3330 |
'it' => 'Iran',
|
3331 |
'es' => 'Irán',
|
3332 |
'fr' => 'Iran',
|
3333 |
+
'ja' => 'イラン',
|
3334 |
'pt-BR' => 'República Islâmica do Irã',
|
3335 |
'ru' => 'Иран',
|
3336 |
+
'zh-CN' => '伊朗',
|
3337 |
),
|
3338 |
),
|
3339 |
'continent' => 'AS',
|
3361 |
'it' => 'Islanda',
|
3362 |
'es' => 'Islandia',
|
3363 |
'fr' => 'Islande',
|
3364 |
+
'ja' => 'アイスランド',
|
3365 |
'pt-BR' => 'Islândia',
|
3366 |
'ru' => 'Исландия',
|
3367 |
'zh-CN' => '冰岛',
|
3392 |
'it' => 'Italia',
|
3393 |
'es' => 'Italia',
|
3394 |
'fr' => 'Italie',
|
3395 |
+
'ja' => 'イタリア',
|
3396 |
'pt-BR' => 'Itália',
|
3397 |
'ru' => 'Италия',
|
3398 |
'zh-CN' => '意大利',
|
3485 |
'it' => 'Giordania',
|
3486 |
'es' => 'Jordania',
|
3487 |
'fr' => 'Jordanie',
|
3488 |
+
'ja' => 'ヨルダン',
|
3489 |
'pt-BR' => 'Jordânia',
|
3490 |
'ru' => 'Иордания',
|
3491 |
'zh-CN' => '约旦',
|
3547 |
'it' => 'Kenya',
|
3548 |
'es' => 'Kenia',
|
3549 |
'fr' => 'Kenya',
|
3550 |
+
'ja' => 'ケニア',
|
3551 |
'pt-BR' => 'Quênia',
|
3552 |
'ru' => 'Кения',
|
3553 |
'zh-CN' => '肯尼亚',
|
3574 |
'names' =>
|
3575 |
array (
|
3576 |
'en' => 'Kyrgyzstan',
|
3577 |
+
'de' => 'Kirgisistan',
|
3578 |
'it' => 'Kirghizistan',
|
3579 |
'es' => 'Kirguistán',
|
3580 |
+
'fr' => 'Kirghizstan',
|
3581 |
+
'ja' => 'キルギス',
|
3582 |
'pt-BR' => 'Quirguistão',
|
3583 |
'ru' => 'Кыргызстан',
|
3584 |
+
'zh-CN' => '吉尔吉斯斯坦',
|
3585 |
),
|
3586 |
),
|
3587 |
'continent' => 'AS',
|
3609 |
'it' => 'Cambogia',
|
3610 |
'es' => 'Camboya',
|
3611 |
'fr' => 'Cambodge',
|
3612 |
+
'ja' => 'カンボジア',
|
3613 |
'pt-BR' => 'Camboja',
|
3614 |
'ru' => 'Камбоджа',
|
3615 |
'zh-CN' => '柬埔寨',
|
3640 |
'it' => 'Kiribati',
|
3641 |
'es' => 'Kiribati',
|
3642 |
'fr' => 'Kiribati',
|
3643 |
+
'ja' => 'キリバス',
|
3644 |
'pt-BR' => 'Quiribati',
|
3645 |
'ru' => 'Кирибати',
|
3646 |
'zh-CN' => '基里巴斯',
|
3671 |
'it' => 'Comore',
|
3672 |
'es' => 'Comoras',
|
3673 |
'fr' => 'Comores',
|
3674 |
+
'ja' => 'コモロ',
|
3675 |
+
'pt-BR' => 'Comores',
|
3676 |
'ru' => 'Коморские о-ва',
|
3677 |
'zh-CN' => '科摩罗',
|
3678 |
),
|
3698 |
'names' =>
|
3699 |
array (
|
3700 |
'en' => 'St Kitts and Nevis',
|
3701 |
+
'de' => 'St. Kitts und Nevis',
|
3702 |
'it' => 'Saint Kitts e Nevis',
|
3703 |
'es' => 'San Cristóbal y Nieves',
|
3704 |
'fr' => 'Saint-Christophe-et-Niévès',
|
3705 |
'ja' => 'セントクリストファー・ネビス',
|
3706 |
'pt-BR' => 'São Cristóvão e Névis',
|
3707 |
+
'ru' => 'Сент-Китс и Невис',
|
3708 |
'zh-CN' => '圣基茨和尼维斯',
|
3709 |
),
|
3710 |
),
|
3735 |
'fr' => 'Corée du Nord',
|
3736 |
'ja' => '韓国、朝鮮民主主義人民共和国',
|
3737 |
'pt-BR' => 'Coreia do Norte',
|
3738 |
+
'ru' => 'КНДР',
|
3739 |
+
'zh-CN' => '朝鲜',
|
3740 |
),
|
3741 |
),
|
3742 |
'continent' => 'AS',
|
3766 |
'fr' => 'Corée du Sud',
|
3767 |
'ja' => '大韓民国',
|
3768 |
'pt-BR' => 'Coreia do Sul',
|
3769 |
+
'ru' => 'Республика Корея',
|
3770 |
+
'zh-CN' => '韩国',
|
3771 |
),
|
3772 |
),
|
3773 |
'continent' => 'AS',
|
3857 |
'it' => 'Kazakistan',
|
3858 |
'es' => 'Kazajstán',
|
3859 |
'fr' => 'Kazakhstan',
|
3860 |
+
'ja' => 'カザフスタン',
|
3861 |
'pt-BR' => 'Cazaquistão',
|
3862 |
'ru' => 'Казахстан',
|
3863 |
'zh-CN' => '哈萨克斯坦',
|
3891 |
'ja' => 'ラオス',
|
3892 |
'pt-BR' => 'República Popular Democrática do Laos',
|
3893 |
'ru' => 'Лаос',
|
3894 |
+
'zh-CN' => '老挝',
|
3895 |
),
|
3896 |
),
|
3897 |
'continent' => 'AS',
|
3919 |
'it' => 'Libano',
|
3920 |
'es' => 'Líbano',
|
3921 |
'fr' => 'Liban',
|
3922 |
+
'ja' => 'レバノン',
|
3923 |
'pt-BR' => 'Líbano',
|
3924 |
'ru' => 'Ливан',
|
3925 |
'zh-CN' => '黎巴嫩',
|
3981 |
'it' => 'Liechtenstein',
|
3982 |
'es' => 'Liechtenstein',
|
3983 |
'fr' => 'Liechtenstein',
|
3984 |
+
'ja' => 'リヒテンシュタイン',
|
3985 |
+
'pt-BR' => 'Liechtenstein',
|
3986 |
'ru' => 'Лихтенштейн',
|
3987 |
'zh-CN' => '列支敦士登',
|
3988 |
),
|
4012 |
'it' => 'Sri Lanka',
|
4013 |
'es' => 'Sri Lanka',
|
4014 |
'fr' => 'Sri Lanka',
|
4015 |
+
'ja' => 'スリランカ',
|
4016 |
'pt-BR' => 'Sri Lanka',
|
4017 |
'ru' => 'Шри-Ланка',
|
4018 |
'zh-CN' => '斯里兰卡',
|
4043 |
'it' => 'Liberia',
|
4044 |
'es' => 'Liberia',
|
4045 |
'fr' => 'Liberia',
|
4046 |
+
'ja' => 'リベリア',
|
4047 |
'pt-BR' => 'Libéria',
|
4048 |
'ru' => 'Либерия',
|
4049 |
'zh-CN' => '利比里亚',
|
4074 |
'it' => 'Lesotho',
|
4075 |
'es' => 'Lesotho',
|
4076 |
'fr' => 'Lesotho',
|
4077 |
+
'ja' => 'レソト',
|
4078 |
'pt-BR' => 'Lesoto',
|
4079 |
'ru' => 'Лесото',
|
4080 |
'zh-CN' => '莱索托',
|
4105 |
'it' => 'Lituania',
|
4106 |
'es' => 'Lituania',
|
4107 |
'fr' => 'Lituanie',
|
4108 |
+
'ja' => 'リトアニア',
|
4109 |
'pt-BR' => 'Lituânia',
|
4110 |
'ru' => 'Литва',
|
4111 |
'zh-CN' => '立陶宛',
|
4136 |
'it' => 'Lussemburgo',
|
4137 |
'es' => 'Luxemburgo',
|
4138 |
'fr' => 'Luxembourg',
|
4139 |
+
'ja' => 'ルクセンブルク',
|
4140 |
'pt-BR' => 'Luxemburgo',
|
4141 |
'ru' => 'Люксембург',
|
4142 |
'zh-CN' => '卢森堡',
|
4167 |
'it' => 'Lettonia',
|
4168 |
'es' => 'Letonia',
|
4169 |
'fr' => 'Lettonie',
|
4170 |
+
'ja' => 'ラトビア',
|
4171 |
'pt-BR' => 'Letônia',
|
4172 |
'ru' => 'Латвия',
|
4173 |
'zh-CN' => '拉脱维亚',
|
4176 |
'continent' => 'EU',
|
4177 |
'location' =>
|
4178 |
array (
|
4179 |
+
'latitude' => 56.8801250823077,
|
4180 |
+
'longitude' => 24.60180649830315,
|
4181 |
),
|
4182 |
'extra' =>
|
4183 |
array (
|
4194 |
'names' =>
|
4195 |
array (
|
4196 |
'en' => 'Libya',
|
4197 |
+
'de' => 'Libyen',
|
4198 |
'it' => 'Libia',
|
4199 |
'es' => 'Libia',
|
4200 |
'fr' => 'Libye',
|
4201 |
+
'ja' => 'リビア',
|
4202 |
+
'pt-BR' => 'Líbia',
|
4203 |
'ru' => 'Ливия',
|
4204 |
+
'zh-CN' => '利比亚',
|
4205 |
),
|
4206 |
),
|
4207 |
'continent' => 'AF',
|
4229 |
'it' => 'Marocco',
|
4230 |
'es' => 'Marruecos',
|
4231 |
'fr' => 'Maroc',
|
4232 |
+
'ja' => 'モロッコ',
|
4233 |
'pt-BR' => 'Marrocos',
|
4234 |
'ru' => 'Марокко',
|
4235 |
'zh-CN' => '摩洛哥',
|
4287 |
'names' =>
|
4288 |
array (
|
4289 |
'en' => 'Moldova',
|
4290 |
+
'de' => 'Republik Moldau',
|
4291 |
'it' => 'Moldavia',
|
4292 |
'es' => 'Moldavia',
|
4293 |
'fr' => 'Moldavie',
|
4294 |
+
'ja' => 'モルドバ',
|
4295 |
+
'pt-BR' => 'Moldávia',
|
4296 |
'ru' => 'Молдова',
|
4297 |
+
'zh-CN' => '摩尔多瓦',
|
4298 |
),
|
4299 |
),
|
4300 |
'continent' => 'EU',
|
4325 |
'ja' => 'モンテネグロ',
|
4326 |
'pt-BR' => 'Montenegro',
|
4327 |
'ru' => 'Черногория',
|
4328 |
+
'zh-CN' => '黑山',
|
4329 |
),
|
4330 |
),
|
4331 |
'continent' => 'EU',
|
4353 |
'it' => 'Saint Martin',
|
4354 |
'es' => 'San Martín',
|
4355 |
'fr' => 'Saint-Martin',
|
4356 |
+
'ja' => 'サン・マルタン',
|
4357 |
'pt-BR' => 'São Martinho',
|
4358 |
+
'ru' => 'Сен-Мартен',
|
4359 |
+
'zh-CN' => '法属圣马丁',
|
4360 |
),
|
4361 |
),
|
4362 |
'continent' => 'NA',
|
4384 |
'it' => 'Madagascar',
|
4385 |
'es' => 'Madagascar',
|
4386 |
'fr' => 'Madagascar',
|
4387 |
+
'ja' => 'マダガスカル',
|
4388 |
'pt-BR' => 'Madagascar',
|
4389 |
'ru' => 'Мадагаскар',
|
4390 |
'zh-CN' => '马达加斯加',
|
4411 |
'names' =>
|
4412 |
array (
|
4413 |
'en' => 'Marshall Islands',
|
4414 |
+
'de' => 'Marshallinseln',
|
4415 |
'it' => 'Isole Marshall',
|
4416 |
'es' => 'Islas Marshall',
|
4417 |
'fr' => 'Îles Marshall',
|
4418 |
+
'ja' => 'マーシャル諸島',
|
4419 |
'pt-BR' => 'Ilhas Marshall',
|
4420 |
+
'ru' => 'Маршалловы Острова',
|
4421 |
'zh-CN' => '马绍尔群岛',
|
4422 |
),
|
4423 |
),
|
4446 |
'it' => 'Macedonia del Nord',
|
4447 |
'es' => 'Macedonia del Norte',
|
4448 |
'fr' => 'Macédoine du Nord',
|
4449 |
+
'ja' => '北マケドニア',
|
4450 |
'pt-BR' => 'Macedônia',
|
4451 |
'ru' => 'Северная Македония',
|
4452 |
+
'zh-CN' => '北马其顿',
|
4453 |
),
|
4454 |
),
|
4455 |
'continent' => 'EU',
|
4504 |
'names' =>
|
4505 |
array (
|
4506 |
'en' => 'Myanmar',
|
4507 |
+
'de' => 'Myanmar',
|
4508 |
'it' => 'Birmania',
|
4509 |
+
'es' => 'Myanmar (Birmania)',
|
4510 |
'fr' => 'Myanmar',
|
4511 |
'ja' => 'ミャンマー連邦',
|
4512 |
+
'pt-BR' => 'Mianmar (Birmânia)',
|
4513 |
+
'ru' => 'Мьянма (Бирма)',
|
4514 |
'zh-CN' => '缅甸',
|
4515 |
),
|
4516 |
),
|
4571 |
'es' => 'Macao',
|
4572 |
'fr' => 'Macao',
|
4573 |
'ja' => 'マカオ',
|
4574 |
+
'pt-BR' => 'Macau',
|
4575 |
'ru' => 'Макао',
|
4576 |
'zh-CN' => '澳门',
|
4577 |
),
|
4598 |
array (
|
4599 |
'en' => 'Northern Mariana Islands',
|
4600 |
'de' => 'Nördliche Marianen',
|
4601 |
+
'it' => 'Isole Marianne settentrionali',
|
4602 |
'es' => 'Islas Marianas del Norte',
|
4603 |
'fr' => 'Îles Mariannes du Nord',
|
4604 |
'ja' => '北マリアナ諸島',
|
4632 |
'it' => 'Martinica',
|
4633 |
'es' => 'Martinica',
|
4634 |
'fr' => 'Martinique',
|
4635 |
+
'ja' => 'マルティニーク',
|
4636 |
'pt-BR' => 'Martinica',
|
4637 |
'ru' => 'Мартиника',
|
4638 |
+
'zh-CN' => '马提尼克',
|
4639 |
),
|
4640 |
),
|
4641 |
'continent' => 'NA',
|
4663 |
'it' => 'Mauritania',
|
4664 |
'es' => 'Mauritania',
|
4665 |
'fr' => 'Mauritanie',
|
4666 |
+
'ja' => 'モーリタニア',
|
4667 |
'pt-BR' => 'Mauritânia',
|
4668 |
'ru' => 'Мавритания',
|
4669 |
'zh-CN' => '毛里塔尼亚',
|
4694 |
'it' => 'Montserrat',
|
4695 |
'es' => 'Montserrat',
|
4696 |
'fr' => 'Montserrat',
|
4697 |
+
'ja' => 'モントセラト',
|
4698 |
'pt-BR' => 'Montserrat',
|
4699 |
+
'ru' => 'Монтсеррат',
|
4700 |
+
'zh-CN' => '蒙特塞拉特',
|
4701 |
),
|
4702 |
),
|
4703 |
'continent' => 'NA',
|
4787 |
'it' => 'Maldive',
|
4788 |
'es' => 'Maldivas',
|
4789 |
'fr' => 'Maldives',
|
4790 |
+
'ja' => 'モルディブ',
|
4791 |
'pt-BR' => 'Maldivas',
|
4792 |
+
'ru' => 'Мальдивы',
|
4793 |
'zh-CN' => '马尔代夫',
|
4794 |
),
|
4795 |
),
|
4818 |
'it' => 'Malawi',
|
4819 |
'es' => 'Malaui',
|
4820 |
'fr' => 'Malawi',
|
4821 |
+
'ja' => 'マラウイ',
|
4822 |
'pt-BR' => 'Malauí',
|
4823 |
'ru' => 'Малави',
|
4824 |
'zh-CN' => '马拉维',
|
4849 |
'it' => 'Messico',
|
4850 |
'es' => 'México',
|
4851 |
'fr' => 'Mexique',
|
4852 |
+
'ja' => 'メキシコ',
|
4853 |
'pt-BR' => 'México',
|
4854 |
'ru' => 'Мексика',
|
4855 |
'zh-CN' => '墨西哥',
|
4877 |
array (
|
4878 |
'en' => 'Malaysia',
|
4879 |
'de' => 'Malaysia',
|
4880 |
+
'it' => 'Malaysia',
|
4881 |
'es' => 'Malasia',
|
4882 |
'fr' => 'Malaisie',
|
4883 |
'ja' => 'マレーシア',
|
4889 |
'continent' => 'AS',
|
4890 |
'location' =>
|
4891 |
array (
|
4892 |
+
'latitude' => 4.109168052500024,
|
4893 |
+
'longitude' => 109.45521926850006,
|
4894 |
),
|
4895 |
'extra' =>
|
4896 |
array (
|
4911 |
'it' => 'Mozambico',
|
4912 |
'es' => 'Mozambique',
|
4913 |
'fr' => 'Mozambique',
|
4914 |
+
'ja' => 'モザンビーク',
|
4915 |
+
'pt-BR' => 'Moçambique',
|
4916 |
'ru' => 'Мозамбик',
|
4917 |
'zh-CN' => '莫桑比克',
|
4918 |
),
|
4942 |
'it' => 'Namibia',
|
4943 |
'es' => 'Namibia',
|
4944 |
'fr' => 'Namibie',
|
4945 |
+
'ja' => 'ナミビア',
|
4946 |
'pt-BR' => 'Namíbia',
|
4947 |
'ru' => 'Намибия',
|
4948 |
'zh-CN' => '纳米比亚',
|
5004 |
'it' => 'Niger',
|
5005 |
'es' => 'Níger',
|
5006 |
'fr' => 'Niger',
|
5007 |
+
'ja' => 'ニジェール',
|
5008 |
'pt-BR' => 'Níger',
|
5009 |
'ru' => 'Нигер',
|
5010 |
'zh-CN' => '尼日尔',
|
5037 |
'fr' => 'Île Norfolk',
|
5038 |
'ja' => 'ノーフォーク島',
|
5039 |
'pt-BR' => 'Ilha Norfolk',
|
5040 |
+
'ru' => 'о-в Норфолк',
|
5041 |
'zh-CN' => '诺福克岛',
|
5042 |
),
|
5043 |
),
|
5066 |
'it' => 'Nigeria',
|
5067 |
'es' => 'Nigeria',
|
5068 |
'fr' => 'Nigeria',
|
5069 |
+
'ja' => 'ナイジェリア',
|
5070 |
'pt-BR' => 'Nigéria',
|
5071 |
'ru' => 'Нигерия',
|
5072 |
'zh-CN' => '尼日利亚',
|
5093 |
'names' =>
|
5094 |
array (
|
5095 |
'en' => 'Nicaragua',
|
5096 |
+
'de' => 'Nicaragua',
|
5097 |
'it' => 'Nicaragua',
|
5098 |
'es' => 'Nicaragua',
|
5099 |
'fr' => 'Nicaragua',
|
5100 |
+
'ja' => 'ニカラグア',
|
5101 |
'pt-BR' => 'Nicarágua',
|
5102 |
'ru' => 'Никарагуа',
|
5103 |
'zh-CN' => '尼加拉瓜',
|
5128 |
'it' => 'Paesi Bassi',
|
5129 |
'es' => 'Holanda',
|
5130 |
'fr' => 'Pays-Bas',
|
5131 |
+
'ja' => 'オランダ',
|
5132 |
'pt-BR' => 'Países Baixos',
|
5133 |
'ru' => 'Нидерланды',
|
5134 |
'zh-CN' => '荷兰',
|
5159 |
'it' => 'Norvegia',
|
5160 |
'es' => 'Noruega',
|
5161 |
'fr' => 'Norvège',
|
5162 |
+
'ja' => 'ノルウェー',
|
5163 |
'pt-BR' => 'Noruega',
|
5164 |
'ru' => 'Норвегия',
|
5165 |
'zh-CN' => '挪威',
|
5190 |
'it' => 'Nepal',
|
5191 |
'es' => 'Nepal',
|
5192 |
'fr' => 'Népal',
|
5193 |
+
'ja' => 'ネパール',
|
5194 |
'pt-BR' => 'Nepal',
|
5195 |
'ru' => 'Непал',
|
5196 |
'zh-CN' => '尼泊尔',
|
5250 |
'en' => 'Niue',
|
5251 |
'de' => 'Niue',
|
5252 |
'it' => 'Niue',
|
5253 |
+
'es' => 'Niue',
|
5254 |
+
'fr' => 'Niue',
|
5255 |
+
'ja' => 'ニウエ',
|
5256 |
'pt-BR' => 'Niue',
|
5257 |
+
'ru' => 'Ниуэ',
|
5258 |
'zh-CN' => '纽埃',
|
5259 |
),
|
5260 |
),
|
5314 |
'it' => 'Oman',
|
5315 |
'es' => 'Omán',
|
5316 |
'fr' => 'Oman',
|
5317 |
+
'ja' => 'オマーン',
|
5318 |
'pt-BR' => 'Omã',
|
5319 |
'ru' => 'Оман',
|
5320 |
'zh-CN' => '阿曼',
|
5376 |
'it' => 'Perù',
|
5377 |
'es' => 'Perú',
|
5378 |
'fr' => 'Pérou',
|
5379 |
+
'ja' => 'ペルー',
|
5380 |
'pt-BR' => 'Peru',
|
5381 |
'ru' => 'Перу',
|
5382 |
'zh-CN' => '秘鲁',
|
5406 |
'de' => 'Französisch-Polynesien',
|
5407 |
'it' => 'Polinesia francese',
|
5408 |
'es' => 'Polinesia Francesa',
|
5409 |
+
'fr' => 'Polynésie française',
|
5410 |
'ja' => '仏領ポリネシア',
|
5411 |
'pt-BR' => 'Polinésia Francesa',
|
5412 |
'ru' => 'Французская Полинезия',
|
5437 |
'de' => 'Papua-Neuguinea',
|
5438 |
'it' => 'Papua Nuova Guinea',
|
5439 |
'es' => 'Papúa-Nueva Guinea',
|
5440 |
+
'fr' => 'Papouasie-Nouvelle-Guinée',
|
5441 |
+
'ja' => 'パプアニューギニア',
|
5442 |
'pt-BR' => 'Papua-Nova Guiné',
|
5443 |
'ru' => 'Папуа – Новая Гвинея',
|
5444 |
'zh-CN' => '巴布亚新几内亚',
|
5469 |
'it' => 'Filippine',
|
5470 |
'es' => 'Filipinas',
|
5471 |
'fr' => 'Philippines',
|
5472 |
+
'ja' => 'フィリピン',
|
5473 |
'pt-BR' => 'Filipinas',
|
5474 |
'ru' => 'Филиппины',
|
5475 |
'zh-CN' => '菲律宾',
|
5500 |
'it' => 'Pakistan',
|
5501 |
'es' => 'Pakistán',
|
5502 |
'fr' => 'Pakistan',
|
5503 |
+
'ja' => 'パキスタン',
|
5504 |
'pt-BR' => 'Paquistão',
|
5505 |
'ru' => 'Пакистан',
|
5506 |
'zh-CN' => '巴基斯坦',
|
5531 |
'it' => 'Polonia',
|
5532 |
'es' => 'Polonia',
|
5533 |
'fr' => 'Pologne',
|
5534 |
+
'ja' => 'ポーランド',
|
5535 |
'pt-BR' => 'Polônia',
|
5536 |
'ru' => 'Польша',
|
5537 |
'zh-CN' => '波兰',
|
5559 |
array (
|
5560 |
'en' => 'Saint Pierre and Miquelon',
|
5561 |
'de' => 'St. Pierre und Miquelon',
|
5562 |
+
'it' => 'Saint-Pierre e Miquelon',
|
5563 |
'es' => 'San Pedro y Miquelón',
|
5564 |
'fr' => 'Saint-Pierre et Miquelon',
|
5565 |
'ja' => 'サンピエール島・ミクロン島',
|
5566 |
+
'pt-BR' => 'São Pedro e Miquelão',
|
5567 |
'ru' => 'Сен-Пьер и Микелон',
|
5568 |
+
'zh-CN' => '圣皮埃尔和密克隆群岛',
|
5569 |
),
|
5570 |
),
|
5571 |
'continent' => 'NA',
|
5589 |
'names' =>
|
5590 |
array (
|
5591 |
'en' => 'Pitcairn Islands',
|
5592 |
+
'de' => 'Pitcairninseln',
|
5593 |
+
'it' => 'Isole Pitcairn',
|
5594 |
'es' => 'Islas Pitcairn',
|
5595 |
'fr' => 'Pitcairn',
|
5596 |
+
'ja' => 'ピトケアン諸島',
|
5597 |
+
'pt-BR' => 'Ilhas Pitcairn',
|
5598 |
+
'ru' => 'о-ва Питкэрн',
|
5599 |
'zh-CN' => '皮特凯恩群岛',
|
5600 |
),
|
5601 |
),
|
5651 |
'names' =>
|
5652 |
array (
|
5653 |
'en' => 'Palestine',
|
5654 |
+
'de' => 'Palästina',
|
5655 |
'it' => 'Palestina',
|
5656 |
+
'es' => 'Palestina',
|
5657 |
+
'fr' => 'Palestine',
|
5658 |
'ja' => 'パレスチナ',
|
5659 |
+
'pt-BR' => 'Palestina',
|
5660 |
+
'ru' => 'Палестина',
|
5661 |
+
'zh-CN' => '巴勒斯坦',
|
5662 |
),
|
5663 |
),
|
5664 |
'continent' => 'AS',
|
5686 |
'it' => 'Portogallo',
|
5687 |
'es' => 'Portugal',
|
5688 |
'fr' => 'Portugal',
|
5689 |
+
'ja' => 'ポルトガル',
|
5690 |
'pt-BR' => 'Portugal',
|
5691 |
'ru' => 'Португалия',
|
5692 |
'zh-CN' => '葡萄牙',
|
5748 |
'it' => 'Paraguay',
|
5749 |
'es' => 'Paraguay',
|
5750 |
'fr' => 'Paraguay',
|
5751 |
+
'ja' => 'パラグアイ',
|
5752 |
'pt-BR' => 'Paraguai',
|
5753 |
'ru' => 'Парагвай',
|
5754 |
'zh-CN' => '巴拉圭',
|
5777 |
'en' => 'Qatar',
|
5778 |
'de' => 'Katar',
|
5779 |
'it' => 'Qatar',
|
5780 |
+
'es' => 'Catar',
|
5781 |
'fr' => 'Qatar',
|
5782 |
'ja' => 'カタール',
|
5783 |
'pt-BR' => 'Catar',
|
5807 |
array (
|
5808 |
'en' => 'Réunion',
|
5809 |
'de' => 'Réunion',
|
5810 |
+
'it' => 'Riunione',
|
5811 |
'es' => 'Reunión',
|
5812 |
'fr' => 'Réunion',
|
5813 |
+
'ja' => 'レユニオン',
|
5814 |
'pt-BR' => 'Reunião',
|
5815 |
'ru' => 'Реюньон',
|
5816 |
'zh-CN' => '留尼汪',
|
5965 |
'it' => 'Arabia Saudita',
|
5966 |
'es' => 'Arabia Saudí',
|
5967 |
'fr' => 'Arabie saoudite',
|
5968 |
+
'ja' => 'サウジアラビア',
|
5969 |
'pt-BR' => 'Arábia Saudita',
|
5970 |
'ru' => 'Саудовская Аравия',
|
5971 |
'zh-CN' => '沙特阿拉伯',
|
5992 |
'names' =>
|
5993 |
array (
|
5994 |
'en' => 'Solomon Islands',
|
5995 |
+
'de' => 'Salomonen',
|
5996 |
'it' => 'Isole Salomone',
|
5997 |
'es' => 'Islas Salomón',
|
5998 |
'fr' => 'Îles Salomon',
|
5999 |
'ja' => 'ソロモン諸島',
|
6000 |
'pt-BR' => 'Ilhas Salomão',
|
6001 |
+
'ru' => 'Соломоновы Острова',
|
6002 |
'zh-CN' => '所罗门群岛',
|
6003 |
),
|
6004 |
),
|
6027 |
'it' => 'Seychelles',
|
6028 |
'es' => 'Seychelles',
|
6029 |
'fr' => 'Seychelles',
|
6030 |
+
'ja' => 'セーシェル',
|
6031 |
'pt-BR' => 'Ilhas Seychelles',
|
6032 |
'ru' => 'Сейшельские о-ва',
|
6033 |
+
'zh-CN' => '塞舌尔',
|
6034 |
),
|
6035 |
),
|
6036 |
'continent' => 'AF',
|
6037 |
'location' =>
|
6038 |
array (
|
6039 |
+
'latitude' => -7.021279360999955,
|
6040 |
+
'longitude' => 51.2513359835,
|
6041 |
),
|
6042 |
'extra' =>
|
6043 |
array (
|
6058 |
'it' => 'Sudan',
|
6059 |
'es' => 'Sudán',
|
6060 |
'fr' => 'Soudan',
|
6061 |
+
'ja' => 'スーダン',
|
6062 |
'pt-BR' => 'Sudão',
|
6063 |
'ru' => 'Судан',
|
6064 |
'zh-CN' => '苏丹',
|
6089 |
'it' => 'Svezia',
|
6090 |
'es' => 'Suecia',
|
6091 |
'fr' => 'Suède',
|
6092 |
+
'ja' => 'スウェーデン',
|
6093 |
'pt-BR' => 'Suécia',
|
6094 |
'ru' => 'Швеция',
|
6095 |
'zh-CN' => '瑞典',
|
6121 |
'es' => 'Singapur',
|
6122 |
'fr' => 'Singapour',
|
6123 |
'ja' => 'シンガポール',
|
6124 |
+
'pt-BR' => 'Singapura',
|
6125 |
'ru' => 'Сингапур',
|
6126 |
'zh-CN' => '新加坡',
|
6127 |
),
|
6153 |
'fr' => 'Sainte-Hélène',
|
6154 |
'ja' => 'セントヘレナ',
|
6155 |
'pt-BR' => 'Santa Helena',
|
6156 |
+
'ru' => 'о-в Св. Елены',
|
6157 |
'zh-CN' => '圣赫勒拿',
|
6158 |
),
|
6159 |
),
|
6209 |
'names' =>
|
6210 |
array (
|
6211 |
'en' => 'Svalbard and Jan Mayen',
|
6212 |
+
'de' => 'Spitzbergen und Jan Mayen',
|
6213 |
'it' => 'Svalbard e Jan Mayen',
|
6214 |
'es' => 'Svalbard y Jan Mayen',
|
6215 |
'fr' => 'Svalbard et Jan Mayen',
|
6216 |
'ja' => 'スバールバル諸島・ヤンマイエン島',
|
6217 |
'pt-BR' => 'Svalbard e Jan Mayen',
|
6218 |
+
'ru' => 'Шпицберген и Ян-Майен',
|
6219 |
+
'zh-CN' => '斯瓦尔巴和扬马延',
|
6220 |
),
|
6221 |
),
|
6222 |
'continent' => 'EU',
|
6240 |
'names' =>
|
6241 |
array (
|
6242 |
'en' => 'Slovakia',
|
6243 |
+
'de' => 'Slowakei',
|
6244 |
'it' => 'Slovacchia',
|
6245 |
'es' => 'Eslovaquia',
|
6246 |
'fr' => 'Slovaquie',
|
6247 |
+
'ja' => 'スロバキア',
|
6248 |
'pt-BR' => 'Eslováquia',
|
6249 |
'ru' => 'Словакия',
|
6250 |
+
'zh-CN' => '斯洛伐克',
|
6251 |
),
|
6252 |
),
|
6253 |
'continent' => 'EU',
|
6306 |
'it' => 'San Marino',
|
6307 |
'es' => 'San Marino',
|
6308 |
'fr' => 'Saint-Marin',
|
6309 |
+
'ja' => 'サンマリノ',
|
6310 |
'pt-BR' => 'San Marino',
|
6311 |
'ru' => 'Сан-Марино',
|
6312 |
'zh-CN' => '圣马力诺',
|
6337 |
'it' => 'Senegal',
|
6338 |
'es' => 'Senegal',
|
6339 |
'fr' => 'Sénégal',
|
6340 |
+
'ja' => 'セネガル',
|
6341 |
'pt-BR' => 'Senegal',
|
6342 |
'ru' => 'Сенегал',
|
6343 |
'zh-CN' => '塞内加尔',
|
6398 |
'de' => 'Suriname',
|
6399 |
'it' => 'Suriname',
|
6400 |
'es' => 'Surinam',
|
6401 |
+
'fr' => 'Suriname',
|
6402 |
+
'ja' => 'スリナム',
|
6403 |
'pt-BR' => 'Suriname',
|
6404 |
'ru' => 'Суринам',
|
6405 |
'zh-CN' => '苏里南',
|
6427 |
array (
|
6428 |
'en' => 'South Sudan',
|
6429 |
'de' => 'Südsudan',
|
6430 |
+
'it' => 'Sud Sudan',
|
6431 |
'es' => 'Sudán del Sur',
|
6432 |
+
'fr' => 'Soudan du Sud',
|
6433 |
+
'ja' => '南スーダン共和国',
|
6434 |
+
'pt-BR' => 'República do Sudão do Sul',
|
6435 |
'ru' => 'Южный Судан',
|
6436 |
'zh-CN' => '南苏丹',
|
6437 |
),
|
6457 |
'names' =>
|
6458 |
array (
|
6459 |
'en' => 'São Tomé and Príncipe',
|
6460 |
+
'de' => 'São Tomé und Príncipe',
|
6461 |
'it' => 'São Tomé e Príncipe',
|
6462 |
'es' => 'Santo Tomé y Príncipe',
|
6463 |
+
'fr' => 'Sao Tomé-et-Principe',
|
6464 |
+
'ja' => 'サントメ・プリンシペ',
|
6465 |
+
'pt-BR' => 'São Tomé e Príncipe',
|
6466 |
+
'ru' => 'Сан-Томе и Принсипи',
|
6467 |
'zh-CN' => '圣多美和普林西比',
|
6468 |
),
|
6469 |
),
|
6521 |
'en' => 'Sint Maarten',
|
6522 |
'de' => 'Sint Maarten',
|
6523 |
'it' => 'Sint Maarten',
|
6524 |
+
'es' => 'Isla de San Martín',
|
6525 |
'fr' => 'Saint-Martin',
|
6526 |
'ja' => 'シント・マールテン',
|
6527 |
'pt-BR' => 'São Martinho',
|
6554 |
'it' => 'Siria',
|
6555 |
'es' => 'Siria',
|
6556 |
'fr' => 'Syrie',
|
6557 |
+
'ja' => 'シリア',
|
6558 |
'pt-BR' => 'Síria',
|
6559 |
+
'ru' => 'Сирия',
|
6560 |
'zh-CN' => '叙利亚',
|
6561 |
),
|
6562 |
),
|
6581 |
'names' =>
|
6582 |
array (
|
6583 |
'en' => 'Eswatini',
|
6584 |
+
'de' => 'Eswatini',
|
6585 |
'it' => 'Swaziland',
|
6586 |
+
'es' => 'Esuatini',
|
6587 |
'fr' => 'Swaziland',
|
6588 |
+
'ja' => 'スワジランド',
|
6589 |
+
'pt-BR' => 'Essuatíni',
|
6590 |
+
'ru' => 'Эсватини',
|
6591 |
'zh-CN' => '斯威士兰',
|
6592 |
),
|
6593 |
),
|
6616 |
'it' => 'Isole Turks e Caicos',
|
6617 |
'es' => 'Islas Turcas y Caicos',
|
6618 |
'fr' => 'Îles Turques-et-Caïques',
|
6619 |
+
'ja' => 'タークス・カイコス諸島',
|
6620 |
+
'pt-BR' => 'Ilhas Turcas e Caicos',
|
6621 |
+
'ru' => 'о-ва Тёркс и Кайкос',
|
6622 |
'zh-CN' => '特克斯和凯科斯群岛',
|
6623 |
),
|
6624 |
),
|
6647 |
'it' => 'Ciad',
|
6648 |
'es' => 'Chad',
|
6649 |
'fr' => 'Tchad',
|
6650 |
+
'ja' => 'チャド',
|
6651 |
'pt-BR' => 'Chade',
|
6652 |
'ru' => 'Чад',
|
6653 |
'zh-CN' => '乍得',
|
6675 |
array (
|
6676 |
'en' => 'French Southern Territories',
|
6677 |
'de' => 'Französische Süd- und Antarktisgebiete',
|
6678 |
+
'it' => 'Terre australi francesi',
|
6679 |
'es' => 'Territorios Australes Franceses',
|
6680 |
'fr' => 'Terres australes françaises',
|
6681 |
'ja' => '仏領極南諸島',
|
6682 |
'pt-BR' => 'Territórios Franceses do Sul',
|
6683 |
+
'ru' => 'Французские Южные территории',
|
6684 |
+
'zh-CN' => '法属南部领地',
|
6685 |
),
|
6686 |
),
|
6687 |
'continent' => 'AN',
|
6709 |
'it' => 'Togo',
|
6710 |
'es' => 'Togo',
|
6711 |
'fr' => 'Togo',
|
6712 |
+
'ja' => 'トーゴ',
|
6713 |
'pt-BR' => 'Togo',
|
6714 |
'ru' => 'Того',
|
6715 |
'zh-CN' => '多哥',
|
6742 |
'fr' => 'Thaïlande',
|
6743 |
'ja' => 'タイ',
|
6744 |
'pt-BR' => 'Tailândia',
|
6745 |
+
'ru' => 'Таиланд',
|
6746 |
'zh-CN' => '泰国',
|
6747 |
),
|
6748 |
),
|
6771 |
'it' => 'Tagikistan',
|
6772 |
'es' => 'Tayikistán',
|
6773 |
'fr' => 'Tadjikistan',
|
6774 |
+
'ja' => 'タジキスタン',
|
6775 |
+
'pt-BR' => 'Tadjiquistão',
|
6776 |
'ru' => 'Таджикистан',
|
6777 |
'zh-CN' => '塔吉克斯坦',
|
6778 |
),
|
6802 |
'it' => 'Tokelau',
|
6803 |
'es' => 'Tokelau',
|
6804 |
'fr' => 'Tokelau',
|
6805 |
+
'ja' => 'トケラウ',
|
6806 |
'pt-BR' => 'Tokelau',
|
6807 |
'ru' => 'Токелау',
|
6808 |
'zh-CN' => '托克劳',
|
6831 |
'en' => 'Timor-Leste',
|
6832 |
'de' => 'Timor-Leste',
|
6833 |
'it' => 'Timor Est',
|
6834 |
+
'es' => 'Timor-Leste',
|
6835 |
'fr' => 'Timor Oriental',
|
6836 |
'ja' => '東ティモール共和国',
|
6837 |
+
'pt-BR' => 'Timor-Leste',
|
6838 |
+
'ru' => 'Тимор-Лесте',
|
6839 |
'zh-CN' => '东帝汶',
|
6840 |
),
|
6841 |
),
|
6895 |
'it' => 'Tunisia',
|
6896 |
'es' => 'Túnez',
|
6897 |
'fr' => 'Tunisie',
|
6898 |
+
'ja' => 'チュニジア',
|
6899 |
'pt-BR' => 'Tunísia',
|
6900 |
'ru' => 'Тунис',
|
6901 |
'zh-CN' => '突尼斯',
|
6926 |
'it' => 'Tonga',
|
6927 |
'es' => 'Tonga',
|
6928 |
'fr' => 'Tonga',
|
6929 |
+
'ja' => 'トンガ',
|
6930 |
'pt-BR' => 'Tonga',
|
6931 |
'ru' => 'Тонга',
|
6932 |
'zh-CN' => '汤加',
|
6957 |
'it' => 'Turchia',
|
6958 |
'es' => 'Turquía',
|
6959 |
'fr' => 'Turquie',
|
6960 |
+
'ja' => 'トルコ',
|
6961 |
'pt-BR' => 'Turquia',
|
6962 |
'ru' => 'Турция',
|
6963 |
'zh-CN' => '土耳其',
|
6987 |
'de' => 'Trinidad und Tobago',
|
6988 |
'it' => 'Trinidad e Tobago',
|
6989 |
'es' => 'Trinidad y Tobago',
|
6990 |
+
'fr' => 'Trinité-et-Tobago',
|
6991 |
+
'ja' => 'トリニダード・トバゴ',
|
6992 |
+
'pt-BR' => 'Trinidad e Tobago',
|
6993 |
'ru' => 'Тринидад и Тобаго',
|
6994 |
'zh-CN' => '特立尼达和多巴哥',
|
6995 |
),
|
7015 |
'names' =>
|
7016 |
array (
|
7017 |
'en' => 'Tuvalu',
|
7018 |
+
'de' => 'Tuvalu',
|
7019 |
'it' => 'Tuvalu',
|
7020 |
'es' => 'Tuvalu',
|
7021 |
'fr' => 'Tuvalu',
|
7050 |
'it' => 'Taiwan',
|
7051 |
'es' => 'Taiwán',
|
7052 |
'fr' => 'Taïwan',
|
7053 |
+
'ja' => '台湾',
|
7054 |
'pt-BR' => 'Taiwan',
|
7055 |
'ru' => 'Тайвань',
|
7056 |
+
'zh-CN' => '台湾',
|
7057 |
),
|
7058 |
),
|
7059 |
'continent' => 'AS',
|
7081 |
'it' => 'Tanzania',
|
7082 |
'es' => 'Tanzania',
|
7083 |
'fr' => 'Tanzanie',
|
7084 |
+
'ja' => 'タンザニア',
|
7085 |
'pt-BR' => 'Tanzânia',
|
7086 |
'ru' => 'Танзания',
|
7087 |
'zh-CN' => '坦桑尼亚',
|
7112 |
'it' => 'Ucraina',
|
7113 |
'es' => 'Ucrania',
|
7114 |
'fr' => 'Ukraine',
|
7115 |
+
'ja' => 'ウクライナ',
|
7116 |
'pt-BR' => 'Ucrânia',
|
7117 |
'ru' => 'Украина',
|
7118 |
'zh-CN' => '乌克兰',
|
7143 |
'it' => 'Uganda',
|
7144 |
'es' => 'Uganda',
|
7145 |
'fr' => 'Ouganda',
|
7146 |
+
'ja' => 'ウガンダ',
|
7147 |
'pt-BR' => 'Uganda',
|
7148 |
'ru' => 'Уганда',
|
7149 |
'zh-CN' => '乌干达',
|
7169 |
'geoname_id' => 5854968,
|
7170 |
'names' =>
|
7171 |
array (
|
7172 |
+
'en' => 'U.S. Outlying Islands',
|
7173 |
+
'de' => 'Amerikanische Überseeinseln',
|
7174 |
+
'it' => 'Altre isole americane del Pacifico',
|
7175 |
+
'es' => 'Islas menores alejadas de EE. UU.',
|
7176 |
'fr' => 'Îles mineures éloignées des États-Unis',
|
7177 |
+
'ja' => '合衆国領有小離島',
|
7178 |
+
'pt-BR' => 'Ilhas Menores Distantes dos EUA',
|
7179 |
+
'ru' => 'Внешние малые о-ва (США)',
|
7180 |
+
'zh-CN' => '美国本土外小岛屿',
|
7181 |
),
|
7182 |
),
|
7183 |
'continent' => 'OC',
|
7202 |
array (
|
7203 |
'en' => 'United States',
|
7204 |
'de' => 'USA',
|
7205 |
+
'it' => 'USA',
|
7206 |
+
'es' => 'EE. UU.',
|
7207 |
+
'fr' => 'É.-U.',
|
7208 |
+
'ja' => 'アメリカ',
|
7209 |
+
'pt-BR' => 'EUA',
|
7210 |
'ru' => 'США',
|
7211 |
'zh-CN' => '美国',
|
7212 |
),
|
7236 |
'it' => 'Uruguay',
|
7237 |
'es' => 'Uruguay',
|
7238 |
'fr' => 'Uruguay',
|
7239 |
+
'ja' => 'ウルグアイ',
|
7240 |
'pt-BR' => 'Uruguai',
|
7241 |
'ru' => 'Уругвай',
|
7242 |
'zh-CN' => '乌拉圭',
|
7267 |
'it' => 'Uzbekistan',
|
7268 |
'es' => 'Uzbekistán',
|
7269 |
'fr' => 'Ouzbékistan',
|
7270 |
+
'ja' => 'ウズベキスタン',
|
7271 |
'pt-BR' => 'Uzbequistão',
|
7272 |
'ru' => 'Узбекистан',
|
7273 |
'zh-CN' => '乌兹别克斯坦',
|
7294 |
'names' =>
|
7295 |
array (
|
7296 |
'en' => 'Vatican City',
|
7297 |
+
'de' => 'Vatikanstadt',
|
7298 |
'it' => 'Vaticano',
|
7299 |
'es' => 'Ciudad del Vaticano',
|
7300 |
'fr' => 'Vatican',
|
7301 |
'ja' => 'ローマ法王庁 (バチカン市国)',
|
7302 |
'pt-BR' => 'Vaticano',
|
7303 |
'ru' => 'Ватикан',
|
7304 |
+
'zh-CN' => '梵蒂冈',
|
7305 |
),
|
7306 |
),
|
7307 |
'continent' => 'EU',
|
7329 |
'it' => 'Saint Vincent e Grenadine',
|
7330 |
'es' => 'San Vicente y las Granadinas',
|
7331 |
'fr' => 'Saint-Vincent-et-les-Grenadines',
|
7332 |
+
'ja' => 'セントビンセント及びグレナディーン諸島',
|
7333 |
+
'pt-BR' => 'São Vicente e Granadinas',
|
7334 |
'ru' => 'Сент-Винсент и Гренадины',
|
7335 |
'zh-CN' => '圣文森特和格林纳丁斯',
|
7336 |
),
|
7338 |
'continent' => 'NA',
|
7339 |
'location' =>
|
7340 |
array (
|
7341 |
+
'latitude' => 12.9835792697409,
|
7342 |
+
'longitude' => -61.28788722957805,
|
7343 |
),
|
7344 |
'extra' =>
|
7345 |
array (
|
7360 |
'it' => 'Venezuela',
|
7361 |
'es' => 'Venezuela',
|
7362 |
'fr' => 'Vénézuéla',
|
7363 |
+
'ja' => 'ベネズエラ',
|
7364 |
'pt-BR' => 'Venezuela',
|
7365 |
'ru' => 'Венесуэла',
|
7366 |
'zh-CN' => '委内瑞拉',
|
7393 |
'fr' => 'Îles Vierges',
|
7394 |
'ja' => '英領ヴァージン諸島',
|
7395 |
'pt-BR' => 'Ilhas Virgens Britânicas',
|
7396 |
+
'ru' => 'Виргинские о-ва (Великобритания)',
|
7397 |
+
'zh-CN' => '英属维尔京群岛',
|
7398 |
),
|
7399 |
),
|
7400 |
'continent' => 'NA',
|
7420 |
'en' => 'U.S. Virgin Islands',
|
7421 |
'de' => 'Amerikanische Jungferninseln',
|
7422 |
'it' => 'Isole Vergini Americane',
|
7423 |
+
'es' => 'Islas Vírgenes de EE. UU.',
|
7424 |
'fr' => 'Îles Vierges des États-Unis',
|
7425 |
'ja' => '米領ヴァージン諸島',
|
7426 |
+
'pt-BR' => 'Ilhas Virgens Americanas',
|
7427 |
'ru' => 'Виргинские о-ва (США)',
|
7428 |
+
'zh-CN' => '美属维尔京群岛',
|
7429 |
),
|
7430 |
),
|
7431 |
'continent' => 'NA',
|
7452 |
'de' => 'Vietnam',
|
7453 |
'it' => 'Vietnam',
|
7454 |
'es' => 'Vietnam',
|
7455 |
+
'fr' => 'Viêt Nam',
|
7456 |
'ja' => 'ベトナム',
|
7457 |
'pt-BR' => 'Vietnã',
|
7458 |
'ru' => 'Вьетнам',
|
7484 |
'it' => 'Vanuatu',
|
7485 |
'es' => 'Vanuatu',
|
7486 |
'fr' => 'Vanuatu',
|
7487 |
+
'ja' => 'バヌアツ',
|
7488 |
'pt-BR' => 'Vanuatu',
|
7489 |
'ru' => 'Вануату',
|
7490 |
'zh-CN' => '瓦努阿图',
|
7515 |
'it' => 'Wallis e Futuna',
|
7516 |
'es' => 'Wallis y Futuna',
|
7517 |
'fr' => 'Wallis-et-Futuna',
|
7518 |
+
'ja' => 'ウォリス・フツナ',
|
7519 |
+
'pt-BR' => 'Wallis e Futuna',
|
7520 |
'ru' => 'Уоллис и Футуна',
|
7521 |
'zh-CN' => '瓦利斯和富图纳',
|
7522 |
),
|
7546 |
'it' => 'Samoa',
|
7547 |
'es' => 'Samoa',
|
7548 |
'fr' => 'Samoa',
|
7549 |
+
'ja' => 'サモア',
|
7550 |
'pt-BR' => 'Samoa',
|
7551 |
'ru' => 'Самоа',
|
7552 |
'zh-CN' => '萨摩亚',
|
7574 |
array (
|
7575 |
'en' => 'Kosovo',
|
7576 |
'de' => 'Kosovo',
|
7577 |
+
'it' => 'Kosovo',
|
7578 |
'es' => 'Kosovo',
|
7579 |
'fr' => 'Kosovo',
|
7580 |
'ja' => 'コソボ',
|
7608 |
'it' => 'Yemen',
|
7609 |
'es' => 'Yemen',
|
7610 |
'fr' => 'Yémen',
|
7611 |
+
'ja' => 'イエメン',
|
7612 |
'pt-BR' => 'Iêmen',
|
7613 |
'ru' => 'Йемен',
|
7614 |
'zh-CN' => '也门',
|
7701 |
'it' => 'Zambia',
|
7702 |
'es' => 'Zambia',
|
7703 |
'fr' => 'Zambie',
|
7704 |
+
'ja' => 'ザンビア',
|
7705 |
'pt-BR' => 'Zâmbia',
|
7706 |
'ru' => 'Замбия',
|
7707 |
'zh-CN' => '赞比亚',
|
7732 |
'it' => 'Zimbabwe',
|
7733 |
'es' => 'Zimbawe',
|
7734 |
'fr' => 'Zimbabwe',
|
7735 |
+
'ja' => 'ジンバブエ',
|
7736 |
'pt-BR' => 'Zimbábue',
|
7737 |
'ru' => 'Зимбабве',
|
7738 |
'zh-CN' => '津巴布韦',
|
lib/geonames/data/country-names.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at Mon,
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
@@ -50,7 +50,7 @@ return array (
|
|
50 |
'CL' => 'Chile',
|
51 |
'CN' => 'China',
|
52 |
'CX' => 'Christmas Island',
|
53 |
-
'CC' => 'Cocos
|
54 |
'CO' => 'Colombia',
|
55 |
'KM' => 'Comoros',
|
56 |
'CG' => 'Congo Republic',
|
@@ -83,7 +83,6 @@ return array (
|
|
83 |
'PF' => 'French Polynesia',
|
84 |
'TF' => 'French Southern Territories',
|
85 |
'GA' => 'Gabon',
|
86 |
-
'GM' => 'Gambia',
|
87 |
'GE' => 'Georgia',
|
88 |
'DE' => 'Germany',
|
89 |
'GH' => 'Ghana',
|
@@ -99,7 +98,7 @@ return array (
|
|
99 |
'GW' => 'Guinea-Bissau',
|
100 |
'GY' => 'Guyana',
|
101 |
'HT' => 'Haiti',
|
102 |
-
'HM' => 'Heard
|
103 |
'HN' => 'Honduras',
|
104 |
'HK' => 'Hong Kong',
|
105 |
'HU' => 'Hungary',
|
@@ -224,6 +223,7 @@ return array (
|
|
224 |
'TJ' => 'Tajikistan',
|
225 |
'TZ' => 'Tanzania',
|
226 |
'TH' => 'Thailand',
|
|
|
227 |
'TL' => 'Timor-Leste',
|
228 |
'TG' => 'Togo',
|
229 |
'TK' => 'Tokelau',
|
@@ -234,7 +234,7 @@ return array (
|
|
234 |
'TM' => 'Turkmenistan',
|
235 |
'TC' => 'Turks and Caicos Islands',
|
236 |
'TV' => 'Tuvalu',
|
237 |
-
'UM' => 'U.S.
|
238 |
'VI' => 'U.S. Virgin Islands',
|
239 |
'UG' => 'Uganda',
|
240 |
'UA' => 'Ukraine',
|
@@ -257,12 +257,11 @@ return array (
|
|
257 |
'de' =>
|
258 |
array (
|
259 |
'AF' => 'Afghanistan',
|
260 |
-
'AX' => 'Alandinseln',
|
261 |
'AL' => 'Albanien',
|
262 |
'DZ' => 'Algerien',
|
263 |
-
'UM' => 'Amerikanisch-Ozeanien',
|
264 |
'AS' => 'Amerikanisch-Samoa',
|
265 |
'VI' => 'Amerikanische Jungferninseln',
|
|
|
266 |
'AD' => 'Andorra',
|
267 |
'AO' => 'Angola',
|
268 |
'AI' => 'Anguilla',
|
@@ -277,14 +276,13 @@ return array (
|
|
277 |
'BH' => 'Bahrain',
|
278 |
'BD' => 'Bangladesch',
|
279 |
'BB' => 'Barbados',
|
|
|
280 |
'BE' => 'Belgien',
|
281 |
'BZ' => 'Belize',
|
282 |
'BJ' => 'Benin',
|
283 |
'BM' => 'Bermuda',
|
284 |
'BT' => 'Bhutan',
|
285 |
-
'MM' => 'Birma (Myanmar)',
|
286 |
'BO' => 'Bolivien',
|
287 |
-
'BQ' => 'Bonaire',
|
288 |
'BA' => 'Bosnien und Herzegowina',
|
289 |
'BW' => 'Botswana',
|
290 |
'BV' => 'Bouvetinsel',
|
@@ -310,6 +308,7 @@ return array (
|
|
310 |
'CI' => 'Elfenbeinküste',
|
311 |
'ER' => 'Eritrea',
|
312 |
'EE' => 'Estland',
|
|
|
313 |
'FK' => 'Falklandinseln',
|
314 |
'FJ' => 'Fidschi',
|
315 |
'FI' => 'Finnland',
|
@@ -317,7 +316,7 @@ return array (
|
|
317 |
'GF' => 'Französisch-Guayana',
|
318 |
'PF' => 'Französisch-Polynesien',
|
319 |
'TF' => 'Französische Süd- und Antarktisgebiete',
|
320 |
-
'FO' => 'Färöer
|
321 |
'GA' => 'Gabun',
|
322 |
'GM' => 'Gambia',
|
323 |
'GE' => 'Georgien',
|
@@ -334,16 +333,16 @@ return array (
|
|
334 |
'GW' => 'Guinea-Bissau',
|
335 |
'GY' => 'Guyana',
|
336 |
'HT' => 'Haiti',
|
337 |
-
'HM' => 'Heard
|
338 |
'HN' => 'Honduras',
|
339 |
'HK' => 'Hongkong',
|
340 |
'IN' => 'Indien',
|
341 |
'ID' => 'Indonesien',
|
342 |
-
'IM' => 'Insel Man',
|
343 |
'IQ' => 'Irak',
|
344 |
-
'IR' => 'Iran
|
345 |
'IE' => 'Irland',
|
346 |
'IS' => 'Island',
|
|
|
347 |
'IL' => 'Israel',
|
348 |
'IT' => 'Italien',
|
349 |
'JM' => 'Jamaika',
|
@@ -356,10 +355,11 @@ return array (
|
|
356 |
'CM' => 'Kamerun',
|
357 |
'CA' => 'Kanada',
|
358 |
'CV' => 'Kapverden',
|
|
|
359 |
'KZ' => 'Kasachstan',
|
360 |
'QA' => 'Katar',
|
361 |
'KE' => 'Kenia',
|
362 |
-
'KG' => '
|
363 |
'KI' => 'Kiribati',
|
364 |
'CC' => 'Kokosinseln',
|
365 |
'CO' => 'Kolumbien',
|
@@ -375,7 +375,7 @@ return array (
|
|
375 |
'LV' => 'Lettland',
|
376 |
'LB' => 'Libanon',
|
377 |
'LR' => 'Liberia',
|
378 |
-
'LY' => '
|
379 |
'LI' => 'Liechtenstein',
|
380 |
'LT' => 'Litauen',
|
381 |
'LU' => 'Luxemburg',
|
@@ -387,28 +387,28 @@ return array (
|
|
387 |
'ML' => 'Mali',
|
388 |
'MT' => 'Malta',
|
389 |
'MA' => 'Marokko',
|
390 |
-
'MH' => '
|
391 |
'MQ' => 'Martinique',
|
392 |
'MR' => 'Mauretanien',
|
393 |
'MU' => 'Mauritius',
|
394 |
'YT' => 'Mayotte',
|
395 |
'MX' => 'Mexiko',
|
396 |
'FM' => 'Mikronesien',
|
397 |
-
'MD' => 'Moldau (Republik Moldau)',
|
398 |
'MC' => 'Monaco',
|
399 |
'MN' => 'Mongolei',
|
400 |
'ME' => 'Montenegro',
|
401 |
'MS' => 'Montserrat',
|
402 |
'MZ' => 'Mosambik',
|
|
|
403 |
'NA' => 'Namibia',
|
404 |
'NR' => 'Nauru',
|
405 |
'NP' => 'Nepal',
|
406 |
'NC' => 'Neukaledonien',
|
407 |
'NZ' => 'Neuseeland',
|
|
|
408 |
'NL' => 'Niederlande',
|
409 |
'NE' => 'Niger',
|
410 |
'NG' => 'Nigeria',
|
411 |
-
'NI' => 'Nikaragua',
|
412 |
'NU' => 'Niue',
|
413 |
'KP' => 'Nordkorea',
|
414 |
'MK' => 'Nordmazedonien',
|
@@ -418,25 +418,25 @@ return array (
|
|
418 |
'OM' => 'Oman',
|
419 |
'PK' => 'Pakistan',
|
420 |
'PW' => 'Palau',
|
421 |
-
'PS' => '
|
422 |
'PA' => 'Panama',
|
423 |
'PG' => 'Papua-Neuguinea',
|
424 |
'PY' => 'Paraguay',
|
425 |
'PE' => 'Peru',
|
426 |
'PH' => 'Philippinen',
|
427 |
-
'PN' => '
|
428 |
'PL' => 'Polen',
|
429 |
'PT' => 'Portugal',
|
430 |
'PR' => 'Puerto Rico',
|
|
|
431 |
'RW' => 'Ruanda',
|
432 |
'RO' => 'Rumänien',
|
433 |
'RU' => 'Russland',
|
434 |
'RE' => 'Réunion',
|
435 |
-
'
|
436 |
'ZM' => 'Sambia',
|
437 |
'WS' => 'Samoa',
|
438 |
'SM' => 'San Marino',
|
439 |
-
'ST' => 'Sao Tomé und Principe',
|
440 |
'SA' => 'Saudi-Arabien',
|
441 |
'SE' => 'Schweden',
|
442 |
'CH' => 'Schweiz',
|
@@ -447,24 +447,23 @@ return array (
|
|
447 |
'ZW' => 'Simbabwe',
|
448 |
'SG' => 'Singapur',
|
449 |
'SX' => 'Sint Maarten',
|
450 |
-
'SK' => 'Slowakei
|
451 |
'SI' => 'Slowenien',
|
452 |
-
'SB' => 'Solomon-Inseln',
|
453 |
'SO' => 'Somalia',
|
454 |
'ES' => 'Spanien',
|
|
|
455 |
'LK' => 'Sri Lanka',
|
456 |
'BL' => 'St. Barthélemy',
|
457 |
'SH' => 'St. Helena',
|
|
|
458 |
'LC' => 'St. Lucia',
|
459 |
'MF' => 'St. Martin',
|
460 |
'PM' => 'St. Pierre und Miquelon',
|
461 |
'VC' => 'St. Vincent und die Grenadinen',
|
462 |
-
'VA' => 'Staat der Vatikanstadt',
|
463 |
'SD' => 'Sudan',
|
464 |
'SR' => 'Suriname',
|
465 |
-
'SJ' => 'Svalbard und Jan Mayen',
|
466 |
-
'SZ' => 'Swasiland',
|
467 |
'SY' => 'Syrien',
|
|
|
468 |
'ZA' => 'Südafrika',
|
469 |
'GS' => 'Südgeorgien und die Südlichen Sandwichinseln',
|
470 |
'KR' => 'Südkorea',
|
@@ -483,8 +482,9 @@ return array (
|
|
483 |
'TN' => 'Tunesien',
|
484 |
'TM' => 'Turkmenistan',
|
485 |
'TC' => 'Turks- und Caicosinseln',
|
486 |
-
'TV' => '
|
487 |
'TR' => 'Türkei',
|
|
|
488 |
'US' => 'USA',
|
489 |
'UG' => 'Uganda',
|
490 |
'UA' => 'Ukraine',
|
@@ -492,19 +492,19 @@ return array (
|
|
492 |
'UY' => 'Uruguay',
|
493 |
'UZ' => 'Usbekistan',
|
494 |
'VU' => 'Vanuatu',
|
|
|
495 |
'VE' => 'Venezuela',
|
496 |
'AE' => 'Vereinigte Arabische Emirate',
|
497 |
-
'GB' => 'Vereinigtes Königreich',
|
498 |
'VN' => 'Vietnam',
|
499 |
'WF' => 'Wallis und Futuna',
|
500 |
'CX' => 'Weihnachtsinsel',
|
501 |
-
'BY' => 'Weißrussland',
|
502 |
'EH' => 'Westsahara',
|
503 |
'CF' => 'Zentralafrikanische Republik',
|
504 |
'CY' => 'Zypern',
|
505 |
'EG' => 'Ägypten',
|
506 |
'GQ' => 'Äquatorialguinea',
|
507 |
'ET' => 'Äthiopien',
|
|
|
508 |
'AT' => 'Österreich',
|
509 |
),
|
510 |
'it' =>
|
@@ -512,6 +512,7 @@ return array (
|
|
512 |
'AF' => 'Afghanistan',
|
513 |
'AL' => 'Albania',
|
514 |
'DZ' => 'Algeria',
|
|
|
515 |
'AD' => 'Andorra',
|
516 |
'AO' => 'Angola',
|
517 |
'AI' => 'Anguilla',
|
@@ -547,7 +548,7 @@ return array (
|
|
547 |
'CM' => 'Camerun',
|
548 |
'CA' => 'Canada',
|
549 |
'CV' => 'Capo Verde',
|
550 |
-
'BQ' => 'Caraibi
|
551 |
'CZ' => 'Cechia',
|
552 |
'TD' => 'Ciad',
|
553 |
'CL' => 'Cile',
|
@@ -555,15 +556,14 @@ return array (
|
|
555 |
'CY' => 'Cipro',
|
556 |
'CO' => 'Colombia',
|
557 |
'KM' => 'Comore',
|
558 |
-
'CG' => 'Congo',
|
559 |
'KP' => 'Corea del Nord',
|
560 |
'KR' => 'Corea del Sud',
|
561 |
-
'XK' => 'Cossovo',
|
562 |
'CR' => 'Costa Rica',
|
563 |
-
'CI' => 'Costa d\'Avorio',
|
564 |
'HR' => 'Croazia',
|
565 |
'CU' => 'Cuba',
|
566 |
-
'CW' => '
|
|
|
567 |
'DK' => 'Danimarca',
|
568 |
'DM' => 'Dominica',
|
569 |
'EC' => 'Ecuador',
|
@@ -580,7 +580,7 @@ return array (
|
|
580 |
'GA' => 'Gabon',
|
581 |
'GM' => 'Gambia',
|
582 |
'GE' => 'Georgia',
|
583 |
-
'GS' => 'Georgia del Sud e
|
584 |
'DE' => 'Germania',
|
585 |
'GH' => 'Ghana',
|
586 |
'JM' => 'Giamaica',
|
@@ -595,11 +595,11 @@ return array (
|
|
595 |
'GU' => 'Guam',
|
596 |
'GT' => 'Guatemala',
|
597 |
'GG' => 'Guernsey',
|
598 |
-
'GF' => 'Guiana Francese',
|
599 |
'GN' => 'Guinea',
|
600 |
'GQ' => 'Guinea Equatoriale',
|
601 |
'GW' => 'Guinea-Bissau',
|
602 |
'GY' => 'Guyana',
|
|
|
603 |
'HT' => 'Haiti',
|
604 |
'HN' => 'Honduras',
|
605 |
'HK' => 'Hong Kong',
|
@@ -610,22 +610,22 @@ return array (
|
|
610 |
'IE' => 'Irlanda',
|
611 |
'IS' => 'Islanda',
|
612 |
'BV' => 'Isola Bouvet',
|
|
|
613 |
'NF' => 'Isola Norfolk',
|
614 |
-
'CX' => 'Isola di Christmas',
|
615 |
'IM' => 'Isola di Man',
|
616 |
'KY' => 'Isole Cayman',
|
617 |
-
'CC' => 'Isole Cocos',
|
618 |
'CK' => 'Isole Cook',
|
619 |
'FK' => 'Isole Falkland',
|
620 |
'FO' => 'Isole Faroe',
|
621 |
'HM' => 'Isole Heard e McDonald',
|
622 |
-
'MP' => 'Isole Marianne
|
623 |
'MH' => 'Isole Marshall',
|
|
|
624 |
'SB' => 'Isole Salomone',
|
625 |
'TC' => 'Isole Turks e Caicos',
|
626 |
'VI' => 'Isole Vergini Americane',
|
627 |
'VG' => 'Isole Vergini Britanniche',
|
628 |
-
'UM' => 'Isole minori esterne degli Stati Uniti',
|
629 |
'AX' => 'Isole Åland',
|
630 |
'IL' => 'Israele',
|
631 |
'IT' => 'Italia',
|
@@ -634,6 +634,7 @@ return array (
|
|
634 |
'KE' => 'Kenya',
|
635 |
'KG' => 'Kirghizistan',
|
636 |
'KI' => 'Kiribati',
|
|
|
637 |
'KW' => 'Kuwait',
|
638 |
'LA' => 'Laos',
|
639 |
'LS' => 'Lesotho',
|
@@ -648,8 +649,8 @@ return array (
|
|
648 |
'MK' => 'Macedonia del Nord',
|
649 |
'MG' => 'Madagascar',
|
650 |
'MW' => 'Malawi',
|
|
|
651 |
'MV' => 'Maldive',
|
652 |
-
'MY' => 'Malesia',
|
653 |
'ML' => 'Mali',
|
654 |
'MT' => 'Malta',
|
655 |
'MA' => 'Marocco',
|
@@ -684,28 +685,26 @@ return array (
|
|
684 |
'PG' => 'Papua Nuova Guinea',
|
685 |
'PY' => 'Paraguay',
|
686 |
'PE' => 'Perù',
|
687 |
-
'PN' => 'Pitcairn',
|
688 |
'PF' => 'Polinesia francese',
|
689 |
'PL' => 'Polonia',
|
690 |
'PT' => 'Portogallo',
|
691 |
'PR' => 'Portorico',
|
692 |
'QA' => 'Qatar',
|
693 |
-
'GB' => 'Regno Unito',
|
694 |
'CF' => 'Repubblica Centrafricana',
|
695 |
'CD' => 'Repubblica Democratica del Congo',
|
696 |
'DO' => 'Repubblica Dominicana',
|
|
|
697 |
'RO' => 'Romania',
|
698 |
'RW' => 'Ruanda',
|
699 |
'RU' => 'Russia',
|
700 |
-
'RE' => 'Réunion',
|
701 |
'EH' => 'Sahara Occidentale',
|
702 |
'KN' => 'Saint Kitts e Nevis',
|
703 |
'MF' => 'Saint Martin',
|
704 |
-
'PM' => 'Saint Pierre e Miquelon',
|
705 |
'VC' => 'Saint Vincent e Grenadine',
|
|
|
|
|
706 |
'WS' => 'Samoa',
|
707 |
'AS' => 'Samoa Americane',
|
708 |
-
'BL' => 'San Bartolomeo',
|
709 |
'SM' => 'San Marino',
|
710 |
'LC' => 'Santa Lucia',
|
711 |
'SH' => 'Sant’Elena',
|
@@ -721,10 +720,9 @@ return array (
|
|
721 |
'SO' => 'Somalia',
|
722 |
'ES' => 'Spagna',
|
723 |
'LK' => 'Sri Lanka',
|
724 |
-
'
|
725 |
'ZA' => 'Sudafrica',
|
726 |
'SD' => 'Sudan',
|
727 |
-
'SS' => 'Sudan del Sud',
|
728 |
'SR' => 'Suriname',
|
729 |
'SJ' => 'Svalbard e Jan Mayen',
|
730 |
'SE' => 'Svezia',
|
@@ -734,7 +732,7 @@ return array (
|
|
734 |
'TJ' => 'Tagikistan',
|
735 |
'TW' => 'Taiwan',
|
736 |
'TZ' => 'Tanzania',
|
737 |
-
'TF' => 'Terre australi
|
738 |
'IO' => 'Territorio Britannico dell’Oceano Indiano',
|
739 |
'TH' => 'Thailandia',
|
740 |
'TL' => 'Timor Est',
|
@@ -746,6 +744,8 @@ return array (
|
|
746 |
'TR' => 'Turchia',
|
747 |
'TM' => 'Turkmenistan',
|
748 |
'TV' => 'Tuvalu',
|
|
|
|
|
749 |
'UA' => 'Ucraina',
|
750 |
'UG' => 'Uganda',
|
751 |
'HU' => 'Ungheria',
|
@@ -801,24 +801,27 @@ return array (
|
|
801 |
'KH' => 'Camboya',
|
802 |
'CM' => 'Camerún',
|
803 |
'CA' => 'Canadá',
|
|
|
804 |
'TD' => 'Chad',
|
|
|
805 |
'CL' => 'Chile',
|
806 |
'CN' => 'China',
|
807 |
'CY' => 'Chipre',
|
808 |
'VA' => 'Ciudad del Vaticano',
|
809 |
'CO' => 'Colombia',
|
810 |
'KM' => 'Comoras',
|
|
|
811 |
'CD' => 'Congo Democrático',
|
812 |
-
'CG' => 'Congo [República]',
|
813 |
'KP' => 'Corea del Norte',
|
814 |
'KR' => 'Corea del Sur',
|
815 |
'CR' => 'Costa Rica',
|
816 |
-
'CI' => 'Costa de Marfil',
|
817 |
'HR' => 'Croacia',
|
818 |
'CU' => 'Cuba',
|
819 |
'CW' => 'Curazao',
|
|
|
820 |
'DK' => 'Dinamarca',
|
821 |
'DM' => 'Dominica',
|
|
|
822 |
'EC' => 'Ecuador',
|
823 |
'EG' => 'Egipto',
|
824 |
'SV' => 'El Salvador',
|
@@ -827,8 +830,8 @@ return array (
|
|
827 |
'SK' => 'Eslovaquia',
|
828 |
'SI' => 'Eslovenia',
|
829 |
'ES' => 'España',
|
830 |
-
'US' => 'Estados Unidos',
|
831 |
'EE' => 'Estonia',
|
|
|
832 |
'ET' => 'Etiopía',
|
833 |
'PH' => 'Filipinas',
|
834 |
'FI' => 'Finlandia',
|
@@ -846,7 +849,7 @@ return array (
|
|
846 |
'GU' => 'Guam',
|
847 |
'GT' => 'Guatemala',
|
848 |
'GF' => 'Guayana Francesa',
|
849 |
-
'GG' => '
|
850 |
'GN' => 'Guinea',
|
851 |
'GQ' => 'Guinea Ecuatorial',
|
852 |
'GW' => 'Guinea-Bissáu',
|
@@ -862,11 +865,12 @@ return array (
|
|
862 |
'IE' => 'Irlanda',
|
863 |
'IR' => 'Irán',
|
864 |
'BV' => 'Isla Bouvet',
|
865 |
-
'CX' => 'Isla Christmas',
|
866 |
-
'NU' => 'Isla Niue',
|
867 |
'NF' => 'Isla Norfolk',
|
868 |
'IM' => 'Isla de Man',
|
|
|
|
|
869 |
'IS' => 'Islandia',
|
|
|
870 |
'KY' => 'Islas Caimán',
|
871 |
'CC' => 'Islas Cocos',
|
872 |
'CK' => 'Islas Cook',
|
@@ -880,9 +884,8 @@ return array (
|
|
880 |
'SB' => 'Islas Salomón',
|
881 |
'TC' => 'Islas Turcas y Caicos',
|
882 |
'VG' => 'Islas Vírgenes',
|
883 |
-
'VI' => 'Islas Vírgenes de
|
884 |
-
'
|
885 |
-
'UM' => 'Islas menores alejadas de los Estados Unidos',
|
886 |
'IL' => 'Israel',
|
887 |
'IT' => 'Italia',
|
888 |
'JM' => 'Jamaica',
|
@@ -923,7 +926,7 @@ return array (
|
|
923 |
'ME' => 'Montenegro',
|
924 |
'MS' => 'Montserrat',
|
925 |
'MZ' => 'Mozambique',
|
926 |
-
'MM' => 'Myanmar
|
927 |
'MX' => 'México',
|
928 |
'MC' => 'Mónaco',
|
929 |
'NA' => 'Namibia',
|
@@ -931,6 +934,7 @@ return array (
|
|
931 |
'NP' => 'Nepal',
|
932 |
'NI' => 'Nicaragua',
|
933 |
'NG' => 'Nigeria',
|
|
|
934 |
'NO' => 'Noruega',
|
935 |
'NC' => 'Nueva Caledonia',
|
936 |
'NZ' => 'Nueva Zelanda',
|
@@ -938,6 +942,7 @@ return array (
|
|
938 |
'OM' => 'Omán',
|
939 |
'PK' => 'Pakistán',
|
940 |
'PW' => 'Palaos',
|
|
|
941 |
'PA' => 'Panamá',
|
942 |
'PG' => 'Papúa-Nueva Guinea',
|
943 |
'PY' => 'Paraguay',
|
@@ -946,11 +951,8 @@ return array (
|
|
946 |
'PL' => 'Polonia',
|
947 |
'PT' => 'Portugal',
|
948 |
'PR' => 'Puerto Rico',
|
949 |
-
'
|
950 |
-
'GB' => 'Reino Unido',
|
951 |
'CF' => 'República Centroafricana',
|
952 |
-
'CZ' => 'República Checa',
|
953 |
-
'DO' => 'República Dominicana',
|
954 |
'RE' => 'Reunión',
|
955 |
'RW' => 'Ruanda',
|
956 |
'RO' => 'Rumanía',
|
@@ -960,12 +962,12 @@ return array (
|
|
960 |
'BL' => 'San Bartolomé',
|
961 |
'KN' => 'San Cristóbal y Nieves',
|
962 |
'SM' => 'San Marino',
|
963 |
-
'SX' => 'San Martín',
|
964 |
'MF' => 'San Martín',
|
965 |
'PM' => 'San Pedro y Miquelón',
|
966 |
'VC' => 'San Vicente y las Granadinas',
|
967 |
'SH' => 'Santa Elena',
|
968 |
'LC' => 'Santa Lucía',
|
|
|
969 |
'ST' => 'Santo Tomé y Príncipe',
|
970 |
'SN' => 'Senegal',
|
971 |
'RS' => 'Serbia',
|
@@ -975,7 +977,6 @@ return array (
|
|
975 |
'SY' => 'Siria',
|
976 |
'SO' => 'Somalia',
|
977 |
'LK' => 'Sri Lanka',
|
978 |
-
'SZ' => 'Suazilandia',
|
979 |
'ZA' => 'Sudáfrica',
|
980 |
'SD' => 'Sudán',
|
981 |
'SS' => 'Sudán del Sur',
|
@@ -990,8 +991,7 @@ return array (
|
|
990 |
'TJ' => 'Tayikistán',
|
991 |
'IO' => 'Territorio Británico del Océano Índico',
|
992 |
'TF' => 'Territorios Australes Franceses',
|
993 |
-
'
|
994 |
-
'TL' => 'Timor Oriental',
|
995 |
'TG' => 'Togo',
|
996 |
'TK' => 'Tokelau',
|
997 |
'TO' => 'Tonga',
|
@@ -1024,7 +1024,7 @@ return array (
|
|
1024 |
'AO' => 'Angola',
|
1025 |
'AI' => 'Anguilla',
|
1026 |
'AQ' => 'Antarctique',
|
1027 |
-
'AG' => 'Antigua
|
1028 |
'SA' => 'Arabie saoudite',
|
1029 |
'AR' => 'Argentine',
|
1030 |
'AM' => 'Arménie',
|
@@ -1042,10 +1042,9 @@ return array (
|
|
1042 |
'BT' => 'Bhoutan',
|
1043 |
'BY' => 'Biélorussie',
|
1044 |
'BO' => 'Bolivie',
|
1045 |
-
'BQ' => 'Bonaire, Saint-Eustache et Saba',
|
1046 |
'BA' => 'Bosnie-Herzégovine',
|
1047 |
'BW' => 'Botswana',
|
1048 |
-
'BN' => '
|
1049 |
'BR' => 'Brésil',
|
1050 |
'BG' => 'Bulgarie',
|
1051 |
'BF' => 'Burkina Faso',
|
@@ -1113,7 +1112,7 @@ return array (
|
|
1113 |
'JO' => 'Jordanie',
|
1114 |
'KZ' => 'Kazakhstan',
|
1115 |
'KE' => 'Kenya',
|
1116 |
-
'KG' => '
|
1117 |
'KI' => 'Kiribati',
|
1118 |
'XK' => 'Kosovo',
|
1119 |
'KW' => 'Koweït',
|
@@ -1153,7 +1152,7 @@ return array (
|
|
1153 |
'NI' => 'Nicaragua',
|
1154 |
'NE' => 'Niger',
|
1155 |
'NG' => 'Nigeria',
|
1156 |
-
'NU' => '
|
1157 |
'NO' => 'Norvège',
|
1158 |
'NC' => 'Nouvelle-Calédonie',
|
1159 |
'NZ' => 'Nouvelle-Zélande',
|
@@ -1163,32 +1162,33 @@ return array (
|
|
1163 |
'UZ' => 'Ouzbékistan',
|
1164 |
'PK' => 'Pakistan',
|
1165 |
'PW' => 'Palaos',
|
|
|
1166 |
'PA' => 'Panama',
|
1167 |
-
'PG' => 'Papouasie-Nouvelle
|
1168 |
'PY' => 'Paraguay',
|
1169 |
'NL' => 'Pays-Bas',
|
|
|
1170 |
'PH' => 'Philippines',
|
1171 |
'PN' => 'Pitcairn',
|
1172 |
'PL' => 'Pologne',
|
1173 |
-
'PF' => 'Polynésie
|
1174 |
'PR' => 'Porto Rico',
|
1175 |
'PT' => 'Portugal',
|
1176 |
'PE' => 'Pérou',
|
1177 |
'QA' => 'Qatar',
|
|
|
1178 |
'CD' => 'RDC',
|
1179 |
'RO' => 'Roumanie',
|
1180 |
-
'GB' => 'Royaume-Uni',
|
1181 |
'RU' => 'Russie',
|
1182 |
'RW' => 'Rwanda',
|
1183 |
-
'DO' => 'République
|
1184 |
-
'CZ' => 'République tchèque',
|
1185 |
'RE' => 'Réunion',
|
1186 |
'EH' => 'Sahara Occidental',
|
1187 |
'BL' => 'Saint-Barthélemy',
|
1188 |
'KN' => 'Saint-Christophe-et-Niévès',
|
1189 |
'SM' => 'Saint-Marin',
|
1190 |
-
'MF' => 'Saint-Martin',
|
1191 |
'SX' => 'Saint-Martin',
|
|
|
1192 |
'PM' => 'Saint-Pierre et Miquelon',
|
1193 |
'VC' => 'Saint-Vincent-et-les-Grenadines',
|
1194 |
'SH' => 'Sainte-Hélène',
|
@@ -1196,6 +1196,7 @@ return array (
|
|
1196 |
'SV' => 'Salvador',
|
1197 |
'WS' => 'Samoa',
|
1198 |
'AS' => 'Samoa américaines',
|
|
|
1199 |
'RS' => 'Serbie',
|
1200 |
'SC' => 'Seychelles',
|
1201 |
'SL' => 'Sierra Leone',
|
@@ -1204,29 +1205,28 @@ return array (
|
|
1204 |
'SI' => 'Slovénie',
|
1205 |
'SO' => 'Somalie',
|
1206 |
'SD' => 'Soudan',
|
|
|
1207 |
'LK' => 'Sri Lanka',
|
1208 |
-
'SS' => 'Sud-Soudan',
|
1209 |
'CH' => 'Suisse',
|
1210 |
-
'SR' => '
|
1211 |
'SE' => 'Suède',
|
1212 |
'SJ' => 'Svalbard et Jan Mayen',
|
1213 |
'SZ' => 'Swaziland',
|
1214 |
'SY' => 'Syrie',
|
1215 |
-
'ST' => 'São Tomé-et-Príncipe',
|
1216 |
'SN' => 'Sénégal',
|
1217 |
'TJ' => 'Tadjikistan',
|
1218 |
'TZ' => 'Tanzanie',
|
1219 |
'TW' => 'Taïwan',
|
1220 |
'TD' => 'Tchad',
|
|
|
1221 |
'TF' => 'Terres australes françaises',
|
1222 |
'IO' => 'Territoire britannique de l\'océan Indien',
|
1223 |
-
'PS' => 'Territoire palestinien',
|
1224 |
'TH' => 'Thaïlande',
|
1225 |
'TL' => 'Timor Oriental',
|
1226 |
'TG' => 'Togo',
|
1227 |
'TK' => 'Tokelau',
|
1228 |
'TO' => 'Tonga',
|
1229 |
-
'TT' => '
|
1230 |
'TN' => 'Tunisie',
|
1231 |
'TM' => 'Turkménistan',
|
1232 |
'TR' => 'Turquie',
|
@@ -1235,17 +1235,17 @@ return array (
|
|
1235 |
'UY' => 'Uruguay',
|
1236 |
'VU' => 'Vanuatu',
|
1237 |
'VA' => 'Vatican',
|
1238 |
-
'VN' => '
|
1239 |
'VE' => 'Vénézuéla',
|
1240 |
'WF' => 'Wallis-et-Futuna',
|
1241 |
'YE' => 'Yémen',
|
1242 |
'ZM' => 'Zambie',
|
1243 |
'ZW' => 'Zimbabwe',
|
|
|
1244 |
'EG' => 'Égypte',
|
1245 |
'AE' => 'Émirats Arabes Unis',
|
1246 |
'EC' => 'Équateur',
|
1247 |
'ER' => 'Érythrée',
|
1248 |
-
'US' => 'États-Unis',
|
1249 |
'ET' => 'Éthiopie',
|
1250 |
'BV' => 'Île Bouvet',
|
1251 |
'CX' => 'Île Christmas',
|
@@ -1268,67 +1268,67 @@ return array (
|
|
1268 |
),
|
1269 |
'ja' =>
|
1270 |
array (
|
1271 |
-
'IS' => '
|
1272 |
'IE' => 'アイルランド',
|
1273 |
-
'AZ' => '
|
1274 |
'AF' => 'アフガニスタン',
|
1275 |
-
'US' => '
|
1276 |
'AE' => 'アラブ首長国連邦',
|
1277 |
-
'DZ' => '
|
1278 |
-
'AR' => '
|
1279 |
-
'AL' => '
|
1280 |
'AW' => 'アルバ島',
|
1281 |
-
'AM' => '
|
1282 |
'AI' => 'アンギラ',
|
1283 |
-
'AO' => '
|
1284 |
-
'AG' => '
|
1285 |
'AD' => 'アンドラ',
|
1286 |
-
'YE' => '
|
1287 |
-
'
|
1288 |
-
'
|
1289 |
-
'
|
1290 |
-
'
|
1291 |
-
'IR' => 'イラン・イスラム共和国',
|
1292 |
'IN' => 'インド',
|
1293 |
-
'ID' => '
|
1294 |
-
'
|
1295 |
-
'
|
1296 |
-
'
|
1297 |
-
'
|
1298 |
-
'
|
1299 |
-
'
|
1300 |
-
'
|
|
|
1301 |
'ET' => 'エチオピア',
|
1302 |
'ER' => 'エリトリア',
|
1303 |
'SV' => 'エルサルバドル',
|
1304 |
-
'OM' => '
|
1305 |
-
'NL' => '
|
1306 |
'AU' => 'オーストラリア',
|
1307 |
-
'AT' => '
|
1308 |
'AX' => 'オーランド諸島',
|
1309 |
-
'KZ' => '
|
1310 |
'QA' => 'カタール',
|
1311 |
'CA' => 'カナダ',
|
1312 |
-
'CM' => '
|
1313 |
-
'KH' => '
|
1314 |
'CV' => 'カーボベルデ',
|
1315 |
'GY' => 'ガイアナ',
|
1316 |
-
'GA' => '
|
1317 |
-
'GM' => '
|
1318 |
-
'GH' => '
|
1319 |
'GG' => 'ガーンジー',
|
1320 |
-
'CY' => '
|
1321 |
'CW' => 'キュラソー',
|
1322 |
-
'CU' => '
|
1323 |
-
'KI' => '
|
1324 |
-
'KG' => '
|
1325 |
-
'
|
1326 |
-
'
|
1327 |
-
'GR' => '
|
1328 |
'KW' => 'クウェート',
|
1329 |
'CK' => 'クック諸島',
|
1330 |
'CX' => 'クリスマス島',
|
1331 |
-
'HR' => '
|
1332 |
'GT' => 'グアテマラ',
|
1333 |
'GP' => 'グアドループ',
|
1334 |
'GU' => 'グアム',
|
@@ -1336,186 +1336,186 @@ return array (
|
|
1336 |
'GE' => 'グルジア共和国',
|
1337 |
'GD' => 'グレナダ',
|
1338 |
'KY' => 'ケイマン諸島',
|
1339 |
-
'KE' => '
|
1340 |
-
'CC' => 'ココス
|
1341 |
'CR' => 'コスタリカ',
|
1342 |
'XK' => 'コソボ',
|
1343 |
-
'KM' => '
|
1344 |
-
'CO' => '
|
1345 |
-
'CG' => '
|
1346 |
'CD' => 'コンゴ民主共和国',
|
1347 |
-
'SA' => '
|
1348 |
-
'
|
|
|
|
|
1349 |
'PM' => 'サンピエール島・ミクロン島',
|
1350 |
-
'SM' => '
|
1351 |
'BL' => 'サン・バルテルミー',
|
1352 |
-
'
|
|
|
1353 |
'SL' => 'シエラレオネ',
|
1354 |
-
'SY' => '
|
1355 |
'SG' => 'シンガポール',
|
1356 |
'SX' => 'シント・マールテン',
|
1357 |
'DJ' => 'ジブチ',
|
1358 |
'GI' => 'ジブラルタル',
|
1359 |
'JM' => 'ジャマイカ',
|
1360 |
'JE' => 'ジャージー',
|
1361 |
-
'ZW' => '
|
1362 |
-
'CH' => '
|
1363 |
-
'SE' => '
|
1364 |
'SJ' => 'スバールバル諸島・ヤンマイエン島',
|
1365 |
'ES' => 'スペイン',
|
1366 |
-
'SR' => '
|
1367 |
-
'LK' => '
|
1368 |
-
'SK' => 'スロバキア
|
1369 |
'SI' => 'スロベニア',
|
1370 |
-
'SZ' => '
|
1371 |
-
'SD' => '
|
1372 |
-
'
|
1373 |
-
'SN' => 'セネガル共和国',
|
1374 |
'RS' => 'セルビア',
|
1375 |
'KN' => 'セントクリストファー・ネビス',
|
1376 |
-
'VC' => '
|
1377 |
'SH' => 'セントヘレナ',
|
1378 |
'LC' => 'セントルシア',
|
|
|
1379 |
'SO' => 'ソマリア',
|
1380 |
'SB' => 'ソロモン諸島',
|
1381 |
'TH' => 'タイ',
|
1382 |
-
'TJ' => '
|
1383 |
-
'TZ' => '
|
1384 |
-
'TC' => '
|
1385 |
-
'CZ' => '
|
1386 |
-
'TD' => '
|
1387 |
-
'TN' => '
|
1388 |
-
'CL' => '
|
1389 |
'TV' => 'ツバル',
|
1390 |
-
'DK' => '
|
1391 |
-
'TK' => '
|
1392 |
-
'TT' => '
|
1393 |
'TM' => 'トルクメニスタン',
|
1394 |
-
'TR' => '
|
1395 |
-
'TO' => '
|
1396 |
-
'TG' => '
|
1397 |
-
'DE' => '
|
1398 |
'DO' => 'ドミニカ共和国',
|
1399 |
'DM' => 'ドミニカ国',
|
1400 |
-
'NG' => '
|
1401 |
'NR' => 'ナウル',
|
1402 |
-
'NA' => '
|
1403 |
-
'NU' => '
|
1404 |
-
'NI' => '
|
1405 |
-
'NE' => '
|
1406 |
'NC' => 'ニューカレドニア',
|
1407 |
'NZ' => 'ニュージーランド',
|
1408 |
-
'NP' => '
|
1409 |
-
'NO' => '
|
1410 |
'NF' => 'ノーフォーク島',
|
1411 |
-
'HT' => '
|
1412 |
-
'HU' => '
|
1413 |
'HM' => 'ハード島・マクドナルド諸島',
|
1414 |
-
'VU' => '
|
1415 |
-
'BS' => '
|
1416 |
'BM' => 'バミューダ',
|
1417 |
'BB' => 'バルバドス',
|
1418 |
-
'BD' => '
|
1419 |
'BH' => 'バーレーン',
|
1420 |
-
'PK' => '
|
1421 |
'PA' => 'パナマ',
|
1422 |
-
'PG' => '
|
1423 |
'PW' => 'パラオ',
|
1424 |
-
'PY' => '
|
1425 |
'PS' => 'パレスチナ',
|
1426 |
-
'PN' => '
|
1427 |
'FJ' => 'フィジー',
|
1428 |
-
'PH' => '
|
1429 |
-
'FI' => '
|
1430 |
'FO' => 'フェロー諸島',
|
1431 |
'FK' => 'フォークランド諸島',
|
1432 |
-
'FR' => '
|
1433 |
-
'BR' => '
|
1434 |
-
'BG' => '
|
1435 |
'BF' => 'ブルキナファソ',
|
1436 |
'BN' => 'ブルネイ',
|
1437 |
-
'BI' => '
|
1438 |
-
'BT' => '
|
1439 |
'BV' => 'ブーベ島',
|
1440 |
'PR' => 'プエルトリコ',
|
1441 |
'VN' => 'ベトナム',
|
1442 |
-
'BJ' => '
|
1443 |
-
'VE' => '
|
1444 |
-
'BY' => '
|
1445 |
'BZ' => 'ベリーズ',
|
1446 |
-
'BE' => '
|
1447 |
-
'PE' => '
|
1448 |
-
'HN' => '
|
1449 |
-
'BA' => '
|
1450 |
-
'BW' => '
|
1451 |
'BQ' => 'ボネール、シント・ユースタティウスおよびサバ',
|
1452 |
-
'BO' => '
|
1453 |
-
'PT' => '
|
1454 |
-
'PL' => '
|
1455 |
'MO' => 'マカオ',
|
1456 |
-
'
|
1457 |
-
'MG' => 'マダガスカル共和国',
|
1458 |
'YT' => 'マヨット島',
|
1459 |
-
'MW' => '
|
1460 |
'ML' => 'マリ',
|
1461 |
'MT' => 'マルタ',
|
1462 |
-
'MQ' => '
|
1463 |
'MY' => 'マレーシア',
|
1464 |
'IM' => 'マン島',
|
1465 |
-
'MH' => '
|
1466 |
'FM' => 'ミクロネシア連邦',
|
1467 |
'MM' => 'ミャンマー連邦',
|
1468 |
-
'MX' => '
|
1469 |
-
'MZ' => '
|
1470 |
'MC' => 'モナコ',
|
1471 |
-
'MV' => '
|
1472 |
-
'MD' => '
|
1473 |
-
'MA' => '
|
1474 |
'MN' => 'モンゴル',
|
1475 |
'ME' => 'モンテネグロ',
|
1476 |
-
'MS' => '
|
1477 |
'MU' => 'モーリシャス',
|
1478 |
-
'MR' => '
|
1479 |
-
'JO' => '
|
1480 |
'LA' => 'ラオス',
|
1481 |
-
'LV' => '
|
1482 |
-
'LT' => '
|
1483 |
-
'LI' => '
|
1484 |
-
'
|
1485 |
-
'
|
|
|
1486 |
'RW' => 'ルワンダ',
|
1487 |
'RO' => 'ルーマニア',
|
1488 |
-
'LS' => '
|
1489 |
-
'LB' => '
|
1490 |
-
'RE' => '
|
1491 |
'RU' => 'ロシア',
|
1492 |
'VA' => 'ローマ法王庁 (バチカン市国)',
|
1493 |
-
'WF' => 'ワリー エ フトゥーナ諸島',
|
1494 |
'CN' => '中国',
|
1495 |
'CF' => '中央アフリカ共和国',
|
1496 |
-
'TW' => '中華民国',
|
1497 |
'GF' => '仏領ギアナ',
|
1498 |
-
'MF' => '仏領サン・マルタン',
|
1499 |
'PF' => '仏領ポリネシア',
|
1500 |
'TF' => '仏領極南諸島',
|
|
|
1501 |
'MP' => '北マリアナ諸島',
|
1502 |
'ZA' => '南アフリカ',
|
1503 |
-
'
|
1504 |
-
'SS' => '南スーダン',
|
1505 |
'AQ' => '南極',
|
|
|
|
|
1506 |
'KR' => '大韓民国',
|
1507 |
'JP' => '日本',
|
1508 |
'TL' => '東ティモール共和国',
|
1509 |
-
'LY' => '社会主義人民リビア・アラブ国',
|
1510 |
'AS' => '米領サモア',
|
1511 |
'VI' => '米領ヴァージン諸島',
|
1512 |
-
'
|
1513 |
'IO' => '英領インド洋地域',
|
1514 |
'VG' => '英領ヴァージン諸島',
|
1515 |
'EH' => '西サハラ',
|
1516 |
-
'WS' => '西サモア',
|
1517 |
'CI' => '象牙海岸',
|
1518 |
-
'GQ' => '
|
1519 |
'KP' => '韓国、朝鮮民主主義人民共和国',
|
1520 |
'HK' => '香港',
|
1521 |
),
|
@@ -1549,23 +1549,22 @@ return array (
|
|
1549 |
'BG' => 'Болгария',
|
1550 |
'BO' => 'Боливия',
|
1551 |
'BQ' => 'Бонайре, Синт-Эстатиус и Саба',
|
1552 |
-
'BA' => 'Босния',
|
1553 |
'BW' => 'Ботсвана',
|
1554 |
'BR' => 'Бразилия',
|
|
|
1555 |
'IO' => 'Британская территория в Индийском океане',
|
1556 |
-
'
|
1557 |
-
'
|
1558 |
-
'BF' => 'Буркина Фасо',
|
1559 |
'BI' => 'Бурунди',
|
1560 |
'BT' => 'Бутан',
|
1561 |
'VU' => 'Вануату',
|
1562 |
'VA' => 'Ватикан',
|
1563 |
-
'GB' => 'Великобритания',
|
1564 |
'HU' => 'Венгрия',
|
1565 |
'VE' => 'Венесуэла',
|
|
|
1566 |
'VI' => 'Виргинские о-ва (США)',
|
1567 |
-
'UM' => 'Внешние малые
|
1568 |
-
'TL' => 'Восточный Тимор',
|
1569 |
'VN' => 'Вьетнам',
|
1570 |
'GA' => 'Габон',
|
1571 |
'HT' => 'Гаити',
|
@@ -1575,7 +1574,7 @@ return array (
|
|
1575 |
'GP' => 'Гваделупа',
|
1576 |
'GT' => 'Гватемала',
|
1577 |
'GN' => 'Гвинея',
|
1578 |
-
'GW' => '
|
1579 |
'DE' => 'Германия',
|
1580 |
'GG' => 'Гернси',
|
1581 |
'GI' => 'Гибралтар',
|
@@ -1589,6 +1588,7 @@ return array (
|
|
1589 |
'DK' => 'Дания',
|
1590 |
'JE' => 'Джерси',
|
1591 |
'DJ' => 'Джибути',
|
|
|
1592 |
'DO' => 'Доминиканская Республика',
|
1593 |
'EG' => 'Египет',
|
1594 |
'CD' => 'Заир',
|
@@ -1606,6 +1606,8 @@ return array (
|
|
1606 |
'ES' => 'Испания',
|
1607 |
'IT' => 'Италия',
|
1608 |
'YE' => 'Йемен',
|
|
|
|
|
1609 |
'KZ' => 'Казахстан',
|
1610 |
'KY' => 'Каймановы Острова',
|
1611 |
'KH' => 'Камбоджа',
|
@@ -1619,10 +1621,9 @@ return array (
|
|
1619 |
'CC' => 'Кокосовые о-ва',
|
1620 |
'CO' => 'Колумбия',
|
1621 |
'KM' => 'Коморские о-ва',
|
1622 |
-
'CG' => 'Конго',
|
1623 |
'XK' => 'Косово',
|
1624 |
'CR' => 'Коста-Рика',
|
1625 |
-
'CI' => '
|
1626 |
'CU' => 'Куба',
|
1627 |
'KW' => 'Кувейт',
|
1628 |
'KG' => 'Кыргызстан',
|
@@ -1644,20 +1645,18 @@ return array (
|
|
1644 |
'MW' => 'Малави',
|
1645 |
'MY' => 'Малайзия',
|
1646 |
'ML' => 'Мали',
|
1647 |
-
'MV' => '
|
1648 |
'MT' => 'Мальта',
|
1649 |
'MA' => 'Марокко',
|
1650 |
'MQ' => 'Мартиника',
|
1651 |
-
'MH' => 'Маршалловы
|
1652 |
'MX' => 'Мексика',
|
1653 |
-
'FM' => 'Микронезия',
|
1654 |
'MZ' => 'Мозамбик',
|
1655 |
'MD' => 'Молдова',
|
1656 |
'MC' => 'Монако',
|
1657 |
'MN' => 'Монголия',
|
1658 |
-
'MS' => '
|
1659 |
-
'MM' => 'Мьянма',
|
1660 |
-
'IM' => 'Мэн, о-в',
|
1661 |
'NA' => 'Намибия',
|
1662 |
'NR' => 'Науру',
|
1663 |
'NP' => 'Непал',
|
@@ -1665,34 +1664,26 @@ return array (
|
|
1665 |
'NG' => 'Нигерия',
|
1666 |
'NL' => 'Нидерланды',
|
1667 |
'NI' => 'Никарагуа',
|
1668 |
-
'NU' => '
|
1669 |
'NZ' => 'Новая Зеландия',
|
1670 |
'NC' => 'Новая Каледония',
|
1671 |
'NO' => 'Норвегия',
|
1672 |
'AE' => 'ОАЭ',
|
1673 |
'OM' => 'Оман',
|
1674 |
-
'BV' => 'Остров Буве',
|
1675 |
-
'DM' => 'Остров Доминика',
|
1676 |
-
'NF' => 'Остров Норфолк',
|
1677 |
-
'CX' => 'Остров Рождества',
|
1678 |
'BL' => 'Остров Святого Бартоломея',
|
1679 |
-
'MF' => 'Остров Святого Мартина',
|
1680 |
-
'SH' => 'Остров Святой Елены',
|
1681 |
-
'CV' => 'Острова Зеленого Мыса',
|
1682 |
'CK' => 'Острова Кука',
|
1683 |
-
'TC' => 'Острова Тёркс и Кайкос',
|
1684 |
-
'HM' => 'Острова Херд и Макдональд',
|
1685 |
'PK' => 'Пакистан',
|
1686 |
'PW' => 'Палау',
|
1687 |
-
'PS' => '
|
1688 |
'PA' => 'Панама',
|
1689 |
'PG' => 'Папуа – Новая Гвинея',
|
1690 |
'PY' => 'Парагвай',
|
1691 |
'PE' => 'Перу',
|
1692 |
-
'PN' => 'Питкэрн',
|
1693 |
'PL' => 'Польша',
|
1694 |
'PT' => 'Португалия',
|
1695 |
'PR' => 'Пуэрто-Рико',
|
|
|
|
|
1696 |
'RE' => 'Реюньон',
|
1697 |
'RU' => 'Россия',
|
1698 |
'RW' => 'Руанда',
|
@@ -1701,34 +1692,33 @@ return array (
|
|
1701 |
'SV' => 'Сальвадор',
|
1702 |
'WS' => 'Самоа',
|
1703 |
'SM' => 'Сан-Марино',
|
1704 |
-
'ST' => 'Сан-Томе и
|
1705 |
'SA' => 'Саудовская Аравия',
|
1706 |
-
'SZ' => 'Свазиленд',
|
1707 |
-
'SJ' => 'Свальбард и Ян-Майен',
|
1708 |
-
'KP' => 'Северная Корея',
|
1709 |
'MK' => 'Северная Македония',
|
1710 |
'MP' => 'Северные Марианские о-ва',
|
1711 |
'SC' => 'Сейшельские о-ва',
|
|
|
1712 |
'PM' => 'Сен-Пьер и Микелон',
|
1713 |
'SN' => 'Сенегал',
|
1714 |
'VC' => 'Сент-Винсент и Гренадины',
|
1715 |
-
'KN' => '
|
1716 |
'LC' => 'Сент-Люсия',
|
1717 |
'RS' => 'Сербия',
|
1718 |
'SG' => 'Сингапур',
|
1719 |
'SX' => 'Синт-Мартен',
|
1720 |
-
'SY' => '
|
1721 |
'SK' => 'Словакия',
|
1722 |
'SI' => 'Словения',
|
1723 |
-
'SB' => '
|
1724 |
'SO' => 'Сомали',
|
1725 |
'SD' => 'Судан',
|
1726 |
'SR' => 'Суринам',
|
1727 |
'SL' => 'Сьерра-Леоне',
|
1728 |
'TJ' => 'Таджикистан',
|
|
|
1729 |
'TW' => 'Тайвань',
|
1730 |
-
'TH' => 'Тайланд',
|
1731 |
'TZ' => 'Танзания',
|
|
|
1732 |
'TG' => 'Того',
|
1733 |
'TK' => 'Токелау',
|
1734 |
'TO' => 'Тонга',
|
@@ -1743,6 +1733,7 @@ return array (
|
|
1743 |
'WF' => 'Уоллис и Футуна',
|
1744 |
'UY' => 'Уругвай',
|
1745 |
'FO' => 'Фарерские о-ва',
|
|
|
1746 |
'FJ' => 'Фиджи',
|
1747 |
'PH' => 'Филиппины',
|
1748 |
'FI' => 'Финляндия',
|
@@ -1750,26 +1741,35 @@ return array (
|
|
1750 |
'FR' => 'Франция',
|
1751 |
'GF' => 'Французская Гвиана',
|
1752 |
'PF' => 'Французская Полинезия',
|
1753 |
-
'TF' => 'Французские Южные
|
1754 |
'HR' => 'Хорватия',
|
1755 |
-
'CF' => '
|
1756 |
'TD' => 'Чад',
|
1757 |
'ME' => 'Черногория',
|
1758 |
-
'CZ' => '
|
1759 |
'CL' => 'Чили',
|
1760 |
'CH' => 'Швейцария',
|
1761 |
'SE' => 'Швеция',
|
|
|
1762 |
'LK' => 'Шри-Ланка',
|
1763 |
'EC' => 'Эквадор',
|
1764 |
'GQ' => 'Экваториальная Гвинея',
|
1765 |
'ER' => 'Эритрея',
|
|
|
1766 |
'EE' => 'Эстония',
|
1767 |
'ET' => 'Эфиопия',
|
1768 |
'ZA' => 'ЮАР',
|
1769 |
-
'GS' => 'Южная
|
1770 |
-
'KR' => 'Южная Корея',
|
1771 |
'SS' => 'Южный Судан',
|
1772 |
'JM' => 'Ямайка',
|
1773 |
'JP' => 'Япония',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1774 |
),
|
1775 |
);
|
1 |
<?php
|
2 |
+
// Generated at Mon, 08 Nov 2021 16:29:58 +0100
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
50 |
'CL' => 'Chile',
|
51 |
'CN' => 'China',
|
52 |
'CX' => 'Christmas Island',
|
53 |
+
'CC' => 'Cocos (Keeling) Islands',
|
54 |
'CO' => 'Colombia',
|
55 |
'KM' => 'Comoros',
|
56 |
'CG' => 'Congo Republic',
|
83 |
'PF' => 'French Polynesia',
|
84 |
'TF' => 'French Southern Territories',
|
85 |
'GA' => 'Gabon',
|
|
|
86 |
'GE' => 'Georgia',
|
87 |
'DE' => 'Germany',
|
88 |
'GH' => 'Ghana',
|
98 |
'GW' => 'Guinea-Bissau',
|
99 |
'GY' => 'Guyana',
|
100 |
'HT' => 'Haiti',
|
101 |
+
'HM' => 'Heard and McDonald Islands',
|
102 |
'HN' => 'Honduras',
|
103 |
'HK' => 'Hong Kong',
|
104 |
'HU' => 'Hungary',
|
223 |
'TJ' => 'Tajikistan',
|
224 |
'TZ' => 'Tanzania',
|
225 |
'TH' => 'Thailand',
|
226 |
+
'GM' => 'The Gambia',
|
227 |
'TL' => 'Timor-Leste',
|
228 |
'TG' => 'Togo',
|
229 |
'TK' => 'Tokelau',
|
234 |
'TM' => 'Turkmenistan',
|
235 |
'TC' => 'Turks and Caicos Islands',
|
236 |
'TV' => 'Tuvalu',
|
237 |
+
'UM' => 'U.S. Outlying Islands',
|
238 |
'VI' => 'U.S. Virgin Islands',
|
239 |
'UG' => 'Uganda',
|
240 |
'UA' => 'Ukraine',
|
257 |
'de' =>
|
258 |
array (
|
259 |
'AF' => 'Afghanistan',
|
|
|
260 |
'AL' => 'Albanien',
|
261 |
'DZ' => 'Algerien',
|
|
|
262 |
'AS' => 'Amerikanisch-Samoa',
|
263 |
'VI' => 'Amerikanische Jungferninseln',
|
264 |
+
'UM' => 'Amerikanische Überseeinseln',
|
265 |
'AD' => 'Andorra',
|
266 |
'AO' => 'Angola',
|
267 |
'AI' => 'Anguilla',
|
276 |
'BH' => 'Bahrain',
|
277 |
'BD' => 'Bangladesch',
|
278 |
'BB' => 'Barbados',
|
279 |
+
'BY' => 'Belarus',
|
280 |
'BE' => 'Belgien',
|
281 |
'BZ' => 'Belize',
|
282 |
'BJ' => 'Benin',
|
283 |
'BM' => 'Bermuda',
|
284 |
'BT' => 'Bhutan',
|
|
|
285 |
'BO' => 'Bolivien',
|
|
|
286 |
'BA' => 'Bosnien und Herzegowina',
|
287 |
'BW' => 'Botswana',
|
288 |
'BV' => 'Bouvetinsel',
|
308 |
'CI' => 'Elfenbeinküste',
|
309 |
'ER' => 'Eritrea',
|
310 |
'EE' => 'Estland',
|
311 |
+
'SZ' => 'Eswatini',
|
312 |
'FK' => 'Falklandinseln',
|
313 |
'FJ' => 'Fidschi',
|
314 |
'FI' => 'Finnland',
|
316 |
'GF' => 'Französisch-Guayana',
|
317 |
'PF' => 'Französisch-Polynesien',
|
318 |
'TF' => 'Französische Süd- und Antarktisgebiete',
|
319 |
+
'FO' => 'Färöer',
|
320 |
'GA' => 'Gabun',
|
321 |
'GM' => 'Gambia',
|
322 |
'GE' => 'Georgien',
|
333 |
'GW' => 'Guinea-Bissau',
|
334 |
'GY' => 'Guyana',
|
335 |
'HT' => 'Haiti',
|
336 |
+
'HM' => 'Heard und McDonaldinseln',
|
337 |
'HN' => 'Honduras',
|
338 |
'HK' => 'Hongkong',
|
339 |
'IN' => 'Indien',
|
340 |
'ID' => 'Indonesien',
|
|
|
341 |
'IQ' => 'Irak',
|
342 |
+
'IR' => 'Iran',
|
343 |
'IE' => 'Irland',
|
344 |
'IS' => 'Island',
|
345 |
+
'IM' => 'Isle of Man',
|
346 |
'IL' => 'Israel',
|
347 |
'IT' => 'Italien',
|
348 |
'JM' => 'Jamaika',
|
355 |
'CM' => 'Kamerun',
|
356 |
'CA' => 'Kanada',
|
357 |
'CV' => 'Kapverden',
|
358 |
+
'BQ' => 'Karibische Niederlande',
|
359 |
'KZ' => 'Kasachstan',
|
360 |
'QA' => 'Katar',
|
361 |
'KE' => 'Kenia',
|
362 |
+
'KG' => 'Kirgisistan',
|
363 |
'KI' => 'Kiribati',
|
364 |
'CC' => 'Kokosinseln',
|
365 |
'CO' => 'Kolumbien',
|
375 |
'LV' => 'Lettland',
|
376 |
'LB' => 'Libanon',
|
377 |
'LR' => 'Liberia',
|
378 |
+
'LY' => 'Libyen',
|
379 |
'LI' => 'Liechtenstein',
|
380 |
'LT' => 'Litauen',
|
381 |
'LU' => 'Luxemburg',
|
387 |
'ML' => 'Mali',
|
388 |
'MT' => 'Malta',
|
389 |
'MA' => 'Marokko',
|
390 |
+
'MH' => 'Marshallinseln',
|
391 |
'MQ' => 'Martinique',
|
392 |
'MR' => 'Mauretanien',
|
393 |
'MU' => 'Mauritius',
|
394 |
'YT' => 'Mayotte',
|
395 |
'MX' => 'Mexiko',
|
396 |
'FM' => 'Mikronesien',
|
|
|
397 |
'MC' => 'Monaco',
|
398 |
'MN' => 'Mongolei',
|
399 |
'ME' => 'Montenegro',
|
400 |
'MS' => 'Montserrat',
|
401 |
'MZ' => 'Mosambik',
|
402 |
+
'MM' => 'Myanmar',
|
403 |
'NA' => 'Namibia',
|
404 |
'NR' => 'Nauru',
|
405 |
'NP' => 'Nepal',
|
406 |
'NC' => 'Neukaledonien',
|
407 |
'NZ' => 'Neuseeland',
|
408 |
+
'NI' => 'Nicaragua',
|
409 |
'NL' => 'Niederlande',
|
410 |
'NE' => 'Niger',
|
411 |
'NG' => 'Nigeria',
|
|
|
412 |
'NU' => 'Niue',
|
413 |
'KP' => 'Nordkorea',
|
414 |
'MK' => 'Nordmazedonien',
|
418 |
'OM' => 'Oman',
|
419 |
'PK' => 'Pakistan',
|
420 |
'PW' => 'Palau',
|
421 |
+
'PS' => 'Palästina',
|
422 |
'PA' => 'Panama',
|
423 |
'PG' => 'Papua-Neuguinea',
|
424 |
'PY' => 'Paraguay',
|
425 |
'PE' => 'Peru',
|
426 |
'PH' => 'Philippinen',
|
427 |
+
'PN' => 'Pitcairninseln',
|
428 |
'PL' => 'Polen',
|
429 |
'PT' => 'Portugal',
|
430 |
'PR' => 'Puerto Rico',
|
431 |
+
'MD' => 'Republik Moldau',
|
432 |
'RW' => 'Ruanda',
|
433 |
'RO' => 'Rumänien',
|
434 |
'RU' => 'Russland',
|
435 |
'RE' => 'Réunion',
|
436 |
+
'SB' => 'Salomonen',
|
437 |
'ZM' => 'Sambia',
|
438 |
'WS' => 'Samoa',
|
439 |
'SM' => 'San Marino',
|
|
|
440 |
'SA' => 'Saudi-Arabien',
|
441 |
'SE' => 'Schweden',
|
442 |
'CH' => 'Schweiz',
|
447 |
'ZW' => 'Simbabwe',
|
448 |
'SG' => 'Singapur',
|
449 |
'SX' => 'Sint Maarten',
|
450 |
+
'SK' => 'Slowakei',
|
451 |
'SI' => 'Slowenien',
|
|
|
452 |
'SO' => 'Somalia',
|
453 |
'ES' => 'Spanien',
|
454 |
+
'SJ' => 'Spitzbergen und Jan Mayen',
|
455 |
'LK' => 'Sri Lanka',
|
456 |
'BL' => 'St. Barthélemy',
|
457 |
'SH' => 'St. Helena',
|
458 |
+
'KN' => 'St. Kitts und Nevis',
|
459 |
'LC' => 'St. Lucia',
|
460 |
'MF' => 'St. Martin',
|
461 |
'PM' => 'St. Pierre und Miquelon',
|
462 |
'VC' => 'St. Vincent und die Grenadinen',
|
|
|
463 |
'SD' => 'Sudan',
|
464 |
'SR' => 'Suriname',
|
|
|
|
|
465 |
'SY' => 'Syrien',
|
466 |
+
'ST' => 'São Tomé und Príncipe',
|
467 |
'ZA' => 'Südafrika',
|
468 |
'GS' => 'Südgeorgien und die Südlichen Sandwichinseln',
|
469 |
'KR' => 'Südkorea',
|
482 |
'TN' => 'Tunesien',
|
483 |
'TM' => 'Turkmenistan',
|
484 |
'TC' => 'Turks- und Caicosinseln',
|
485 |
+
'TV' => 'Tuvalu',
|
486 |
'TR' => 'Türkei',
|
487 |
+
'GB' => 'UK',
|
488 |
'US' => 'USA',
|
489 |
'UG' => 'Uganda',
|
490 |
'UA' => 'Ukraine',
|
492 |
'UY' => 'Uruguay',
|
493 |
'UZ' => 'Usbekistan',
|
494 |
'VU' => 'Vanuatu',
|
495 |
+
'VA' => 'Vatikanstadt',
|
496 |
'VE' => 'Venezuela',
|
497 |
'AE' => 'Vereinigte Arabische Emirate',
|
|
|
498 |
'VN' => 'Vietnam',
|
499 |
'WF' => 'Wallis und Futuna',
|
500 |
'CX' => 'Weihnachtsinsel',
|
|
|
501 |
'EH' => 'Westsahara',
|
502 |
'CF' => 'Zentralafrikanische Republik',
|
503 |
'CY' => 'Zypern',
|
504 |
'EG' => 'Ägypten',
|
505 |
'GQ' => 'Äquatorialguinea',
|
506 |
'ET' => 'Äthiopien',
|
507 |
+
'AX' => 'Ålandinseln',
|
508 |
'AT' => 'Österreich',
|
509 |
),
|
510 |
'it' =>
|
512 |
'AF' => 'Afghanistan',
|
513 |
'AL' => 'Albania',
|
514 |
'DZ' => 'Algeria',
|
515 |
+
'UM' => 'Altre isole americane del Pacifico',
|
516 |
'AD' => 'Andorra',
|
517 |
'AO' => 'Angola',
|
518 |
'AI' => 'Anguilla',
|
548 |
'CM' => 'Camerun',
|
549 |
'CA' => 'Canada',
|
550 |
'CV' => 'Capo Verde',
|
551 |
+
'BQ' => 'Caraibi olandesi',
|
552 |
'CZ' => 'Cechia',
|
553 |
'TD' => 'Ciad',
|
554 |
'CL' => 'Cile',
|
556 |
'CY' => 'Cipro',
|
557 |
'CO' => 'Colombia',
|
558 |
'KM' => 'Comore',
|
559 |
+
'CG' => 'Congo-Brazzaville',
|
560 |
'KP' => 'Corea del Nord',
|
561 |
'KR' => 'Corea del Sud',
|
|
|
562 |
'CR' => 'Costa Rica',
|
|
|
563 |
'HR' => 'Croazia',
|
564 |
'CU' => 'Cuba',
|
565 |
+
'CW' => 'Curaçao',
|
566 |
+
'CI' => 'Côte d’Ivoire',
|
567 |
'DK' => 'Danimarca',
|
568 |
'DM' => 'Dominica',
|
569 |
'EC' => 'Ecuador',
|
580 |
'GA' => 'Gabon',
|
581 |
'GM' => 'Gambia',
|
582 |
'GE' => 'Georgia',
|
583 |
+
'GS' => 'Georgia del Sud e Sandwich australi',
|
584 |
'DE' => 'Germania',
|
585 |
'GH' => 'Ghana',
|
586 |
'JM' => 'Giamaica',
|
595 |
'GU' => 'Guam',
|
596 |
'GT' => 'Guatemala',
|
597 |
'GG' => 'Guernsey',
|
|
|
598 |
'GN' => 'Guinea',
|
599 |
'GQ' => 'Guinea Equatoriale',
|
600 |
'GW' => 'Guinea-Bissau',
|
601 |
'GY' => 'Guyana',
|
602 |
+
'GF' => 'Guyana francese',
|
603 |
'HT' => 'Haiti',
|
604 |
'HN' => 'Honduras',
|
605 |
'HK' => 'Hong Kong',
|
610 |
'IE' => 'Irlanda',
|
611 |
'IS' => 'Islanda',
|
612 |
'BV' => 'Isola Bouvet',
|
613 |
+
'CX' => 'Isola Christmas',
|
614 |
'NF' => 'Isola Norfolk',
|
|
|
615 |
'IM' => 'Isola di Man',
|
616 |
'KY' => 'Isole Cayman',
|
617 |
+
'CC' => 'Isole Cocos (Keeling)',
|
618 |
'CK' => 'Isole Cook',
|
619 |
'FK' => 'Isole Falkland',
|
620 |
'FO' => 'Isole Faroe',
|
621 |
'HM' => 'Isole Heard e McDonald',
|
622 |
+
'MP' => 'Isole Marianne settentrionali',
|
623 |
'MH' => 'Isole Marshall',
|
624 |
+
'PN' => 'Isole Pitcairn',
|
625 |
'SB' => 'Isole Salomone',
|
626 |
'TC' => 'Isole Turks e Caicos',
|
627 |
'VI' => 'Isole Vergini Americane',
|
628 |
'VG' => 'Isole Vergini Britanniche',
|
|
|
629 |
'AX' => 'Isole Åland',
|
630 |
'IL' => 'Israele',
|
631 |
'IT' => 'Italia',
|
634 |
'KE' => 'Kenya',
|
635 |
'KG' => 'Kirghizistan',
|
636 |
'KI' => 'Kiribati',
|
637 |
+
'XK' => 'Kosovo',
|
638 |
'KW' => 'Kuwait',
|
639 |
'LA' => 'Laos',
|
640 |
'LS' => 'Lesotho',
|
649 |
'MK' => 'Macedonia del Nord',
|
650 |
'MG' => 'Madagascar',
|
651 |
'MW' => 'Malawi',
|
652 |
+
'MY' => 'Malaysia',
|
653 |
'MV' => 'Maldive',
|
|
|
654 |
'ML' => 'Mali',
|
655 |
'MT' => 'Malta',
|
656 |
'MA' => 'Marocco',
|
685 |
'PG' => 'Papua Nuova Guinea',
|
686 |
'PY' => 'Paraguay',
|
687 |
'PE' => 'Perù',
|
|
|
688 |
'PF' => 'Polinesia francese',
|
689 |
'PL' => 'Polonia',
|
690 |
'PT' => 'Portogallo',
|
691 |
'PR' => 'Portorico',
|
692 |
'QA' => 'Qatar',
|
|
|
693 |
'CF' => 'Repubblica Centrafricana',
|
694 |
'CD' => 'Repubblica Democratica del Congo',
|
695 |
'DO' => 'Repubblica Dominicana',
|
696 |
+
'RE' => 'Riunione',
|
697 |
'RO' => 'Romania',
|
698 |
'RW' => 'Ruanda',
|
699 |
'RU' => 'Russia',
|
|
|
700 |
'EH' => 'Sahara Occidentale',
|
701 |
'KN' => 'Saint Kitts e Nevis',
|
702 |
'MF' => 'Saint Martin',
|
|
|
703 |
'VC' => 'Saint Vincent e Grenadine',
|
704 |
+
'BL' => 'Saint-Barthélemy',
|
705 |
+
'PM' => 'Saint-Pierre e Miquelon',
|
706 |
'WS' => 'Samoa',
|
707 |
'AS' => 'Samoa Americane',
|
|
|
708 |
'SM' => 'San Marino',
|
709 |
'LC' => 'Santa Lucia',
|
710 |
'SH' => 'Sant’Elena',
|
720 |
'SO' => 'Somalia',
|
721 |
'ES' => 'Spagna',
|
722 |
'LK' => 'Sri Lanka',
|
723 |
+
'SS' => 'Sud Sudan',
|
724 |
'ZA' => 'Sudafrica',
|
725 |
'SD' => 'Sudan',
|
|
|
726 |
'SR' => 'Suriname',
|
727 |
'SJ' => 'Svalbard e Jan Mayen',
|
728 |
'SE' => 'Svezia',
|
732 |
'TJ' => 'Tagikistan',
|
733 |
'TW' => 'Taiwan',
|
734 |
'TZ' => 'Tanzania',
|
735 |
+
'TF' => 'Terre australi francesi',
|
736 |
'IO' => 'Territorio Britannico dell’Oceano Indiano',
|
737 |
'TH' => 'Thailandia',
|
738 |
'TL' => 'Timor Est',
|
744 |
'TR' => 'Turchia',
|
745 |
'TM' => 'Turkmenistan',
|
746 |
'TV' => 'Tuvalu',
|
747 |
+
'GB' => 'UK',
|
748 |
+
'US' => 'USA',
|
749 |
'UA' => 'Ucraina',
|
750 |
'UG' => 'Uganda',
|
751 |
'HU' => 'Ungheria',
|
801 |
'KH' => 'Camboya',
|
802 |
'CM' => 'Camerún',
|
803 |
'CA' => 'Canadá',
|
804 |
+
'QA' => 'Catar',
|
805 |
'TD' => 'Chad',
|
806 |
+
'CZ' => 'Chequia',
|
807 |
'CL' => 'Chile',
|
808 |
'CN' => 'China',
|
809 |
'CY' => 'Chipre',
|
810 |
'VA' => 'Ciudad del Vaticano',
|
811 |
'CO' => 'Colombia',
|
812 |
'KM' => 'Comoras',
|
813 |
+
'CG' => 'Congo',
|
814 |
'CD' => 'Congo Democrático',
|
|
|
815 |
'KP' => 'Corea del Norte',
|
816 |
'KR' => 'Corea del Sur',
|
817 |
'CR' => 'Costa Rica',
|
|
|
818 |
'HR' => 'Croacia',
|
819 |
'CU' => 'Cuba',
|
820 |
'CW' => 'Curazao',
|
821 |
+
'CI' => 'Côte d’Ivoire',
|
822 |
'DK' => 'Dinamarca',
|
823 |
'DM' => 'Dominica',
|
824 |
+
'US' => 'EE. UU.',
|
825 |
'EC' => 'Ecuador',
|
826 |
'EG' => 'Egipto',
|
827 |
'SV' => 'El Salvador',
|
830 |
'SK' => 'Eslovaquia',
|
831 |
'SI' => 'Eslovenia',
|
832 |
'ES' => 'España',
|
|
|
833 |
'EE' => 'Estonia',
|
834 |
+
'SZ' => 'Esuatini',
|
835 |
'ET' => 'Etiopía',
|
836 |
'PH' => 'Filipinas',
|
837 |
'FI' => 'Finlandia',
|
849 |
'GU' => 'Guam',
|
850 |
'GT' => 'Guatemala',
|
851 |
'GF' => 'Guayana Francesa',
|
852 |
+
'GG' => 'Guernesey',
|
853 |
'GN' => 'Guinea',
|
854 |
'GQ' => 'Guinea Ecuatorial',
|
855 |
'GW' => 'Guinea-Bissáu',
|
865 |
'IE' => 'Irlanda',
|
866 |
'IR' => 'Irán',
|
867 |
'BV' => 'Isla Bouvet',
|
|
|
|
|
868 |
'NF' => 'Isla Norfolk',
|
869 |
'IM' => 'Isla de Man',
|
870 |
+
'CX' => 'Isla de Navidad',
|
871 |
+
'SX' => 'Isla de San Martín',
|
872 |
'IS' => 'Islandia',
|
873 |
+
'AX' => 'Islas Aland',
|
874 |
'KY' => 'Islas Caimán',
|
875 |
'CC' => 'Islas Cocos',
|
876 |
'CK' => 'Islas Cook',
|
884 |
'SB' => 'Islas Salomón',
|
885 |
'TC' => 'Islas Turcas y Caicos',
|
886 |
'VG' => 'Islas Vírgenes',
|
887 |
+
'VI' => 'Islas Vírgenes de EE. UU.',
|
888 |
+
'UM' => 'Islas menores alejadas de EE. UU.',
|
|
|
889 |
'IL' => 'Israel',
|
890 |
'IT' => 'Italia',
|
891 |
'JM' => 'Jamaica',
|
926 |
'ME' => 'Montenegro',
|
927 |
'MS' => 'Montserrat',
|
928 |
'MZ' => 'Mozambique',
|
929 |
+
'MM' => 'Myanmar (Birmania)',
|
930 |
'MX' => 'México',
|
931 |
'MC' => 'Mónaco',
|
932 |
'NA' => 'Namibia',
|
934 |
'NP' => 'Nepal',
|
935 |
'NI' => 'Nicaragua',
|
936 |
'NG' => 'Nigeria',
|
937 |
+
'NU' => 'Niue',
|
938 |
'NO' => 'Noruega',
|
939 |
'NC' => 'Nueva Caledonia',
|
940 |
'NZ' => 'Nueva Zelanda',
|
942 |
'OM' => 'Omán',
|
943 |
'PK' => 'Pakistán',
|
944 |
'PW' => 'Palaos',
|
945 |
+
'PS' => 'Palestina',
|
946 |
'PA' => 'Panamá',
|
947 |
'PG' => 'Papúa-Nueva Guinea',
|
948 |
'PY' => 'Paraguay',
|
951 |
'PL' => 'Polonia',
|
952 |
'PT' => 'Portugal',
|
953 |
'PR' => 'Puerto Rico',
|
954 |
+
'GB' => 'RU',
|
|
|
955 |
'CF' => 'República Centroafricana',
|
|
|
|
|
956 |
'RE' => 'Reunión',
|
957 |
'RW' => 'Ruanda',
|
958 |
'RO' => 'Rumanía',
|
962 |
'BL' => 'San Bartolomé',
|
963 |
'KN' => 'San Cristóbal y Nieves',
|
964 |
'SM' => 'San Marino',
|
|
|
965 |
'MF' => 'San Martín',
|
966 |
'PM' => 'San Pedro y Miquelón',
|
967 |
'VC' => 'San Vicente y las Granadinas',
|
968 |
'SH' => 'Santa Elena',
|
969 |
'LC' => 'Santa Lucía',
|
970 |
+
'DO' => 'Santo Domingo',
|
971 |
'ST' => 'Santo Tomé y Príncipe',
|
972 |
'SN' => 'Senegal',
|
973 |
'RS' => 'Serbia',
|
977 |
'SY' => 'Siria',
|
978 |
'SO' => 'Somalia',
|
979 |
'LK' => 'Sri Lanka',
|
|
|
980 |
'ZA' => 'Sudáfrica',
|
981 |
'SD' => 'Sudán',
|
982 |
'SS' => 'Sudán del Sur',
|
991 |
'TJ' => 'Tayikistán',
|
992 |
'IO' => 'Territorio Británico del Océano Índico',
|
993 |
'TF' => 'Territorios Australes Franceses',
|
994 |
+
'TL' => 'Timor-Leste',
|
|
|
995 |
'TG' => 'Togo',
|
996 |
'TK' => 'Tokelau',
|
997 |
'TO' => 'Tonga',
|
1024 |
'AO' => 'Angola',
|
1025 |
'AI' => 'Anguilla',
|
1026 |
'AQ' => 'Antarctique',
|
1027 |
+
'AG' => 'Antigua-et-Barbuda',
|
1028 |
'SA' => 'Arabie saoudite',
|
1029 |
'AR' => 'Argentine',
|
1030 |
'AM' => 'Arménie',
|
1042 |
'BT' => 'Bhoutan',
|
1043 |
'BY' => 'Biélorussie',
|
1044 |
'BO' => 'Bolivie',
|
|
|
1045 |
'BA' => 'Bosnie-Herzégovine',
|
1046 |
'BW' => 'Botswana',
|
1047 |
+
'BN' => 'Brunei',
|
1048 |
'BR' => 'Brésil',
|
1049 |
'BG' => 'Bulgarie',
|
1050 |
'BF' => 'Burkina Faso',
|
1112 |
'JO' => 'Jordanie',
|
1113 |
'KZ' => 'Kazakhstan',
|
1114 |
'KE' => 'Kenya',
|
1115 |
+
'KG' => 'Kirghizstan',
|
1116 |
'KI' => 'Kiribati',
|
1117 |
'XK' => 'Kosovo',
|
1118 |
'KW' => 'Koweït',
|
1152 |
'NI' => 'Nicaragua',
|
1153 |
'NE' => 'Niger',
|
1154 |
'NG' => 'Nigeria',
|
1155 |
+
'NU' => 'Niue',
|
1156 |
'NO' => 'Norvège',
|
1157 |
'NC' => 'Nouvelle-Calédonie',
|
1158 |
'NZ' => 'Nouvelle-Zélande',
|
1162 |
'UZ' => 'Ouzbékistan',
|
1163 |
'PK' => 'Pakistan',
|
1164 |
'PW' => 'Palaos',
|
1165 |
+
'PS' => 'Palestine',
|
1166 |
'PA' => 'Panama',
|
1167 |
+
'PG' => 'Papouasie-Nouvelle-Guinée',
|
1168 |
'PY' => 'Paraguay',
|
1169 |
'NL' => 'Pays-Bas',
|
1170 |
+
'BQ' => 'Pays-Bas caribéens',
|
1171 |
'PH' => 'Philippines',
|
1172 |
'PN' => 'Pitcairn',
|
1173 |
'PL' => 'Pologne',
|
1174 |
+
'PF' => 'Polynésie française',
|
1175 |
'PR' => 'Porto Rico',
|
1176 |
'PT' => 'Portugal',
|
1177 |
'PE' => 'Pérou',
|
1178 |
'QA' => 'Qatar',
|
1179 |
+
'GB' => 'R.-U.',
|
1180 |
'CD' => 'RDC',
|
1181 |
'RO' => 'Roumanie',
|
|
|
1182 |
'RU' => 'Russie',
|
1183 |
'RW' => 'Rwanda',
|
1184 |
+
'DO' => 'République dominicaine',
|
|
|
1185 |
'RE' => 'Réunion',
|
1186 |
'EH' => 'Sahara Occidental',
|
1187 |
'BL' => 'Saint-Barthélemy',
|
1188 |
'KN' => 'Saint-Christophe-et-Niévès',
|
1189 |
'SM' => 'Saint-Marin',
|
|
|
1190 |
'SX' => 'Saint-Martin',
|
1191 |
+
'MF' => 'Saint-Martin',
|
1192 |
'PM' => 'Saint-Pierre et Miquelon',
|
1193 |
'VC' => 'Saint-Vincent-et-les-Grenadines',
|
1194 |
'SH' => 'Sainte-Hélène',
|
1196 |
'SV' => 'Salvador',
|
1197 |
'WS' => 'Samoa',
|
1198 |
'AS' => 'Samoa américaines',
|
1199 |
+
'ST' => 'Sao Tomé-et-Principe',
|
1200 |
'RS' => 'Serbie',
|
1201 |
'SC' => 'Seychelles',
|
1202 |
'SL' => 'Sierra Leone',
|
1205 |
'SI' => 'Slovénie',
|
1206 |
'SO' => 'Somalie',
|
1207 |
'SD' => 'Soudan',
|
1208 |
+
'SS' => 'Soudan du Sud',
|
1209 |
'LK' => 'Sri Lanka',
|
|
|
1210 |
'CH' => 'Suisse',
|
1211 |
+
'SR' => 'Suriname',
|
1212 |
'SE' => 'Suède',
|
1213 |
'SJ' => 'Svalbard et Jan Mayen',
|
1214 |
'SZ' => 'Swaziland',
|
1215 |
'SY' => 'Syrie',
|
|
|
1216 |
'SN' => 'Sénégal',
|
1217 |
'TJ' => 'Tadjikistan',
|
1218 |
'TZ' => 'Tanzanie',
|
1219 |
'TW' => 'Taïwan',
|
1220 |
'TD' => 'Tchad',
|
1221 |
+
'CZ' => 'Tchéquie',
|
1222 |
'TF' => 'Terres australes françaises',
|
1223 |
'IO' => 'Territoire britannique de l\'océan Indien',
|
|
|
1224 |
'TH' => 'Thaïlande',
|
1225 |
'TL' => 'Timor Oriental',
|
1226 |
'TG' => 'Togo',
|
1227 |
'TK' => 'Tokelau',
|
1228 |
'TO' => 'Tonga',
|
1229 |
+
'TT' => 'Trinité-et-Tobago',
|
1230 |
'TN' => 'Tunisie',
|
1231 |
'TM' => 'Turkménistan',
|
1232 |
'TR' => 'Turquie',
|
1235 |
'UY' => 'Uruguay',
|
1236 |
'VU' => 'Vanuatu',
|
1237 |
'VA' => 'Vatican',
|
1238 |
+
'VN' => 'Viêt Nam',
|
1239 |
'VE' => 'Vénézuéla',
|
1240 |
'WF' => 'Wallis-et-Futuna',
|
1241 |
'YE' => 'Yémen',
|
1242 |
'ZM' => 'Zambie',
|
1243 |
'ZW' => 'Zimbabwe',
|
1244 |
+
'US' => 'É.-U.',
|
1245 |
'EG' => 'Égypte',
|
1246 |
'AE' => 'Émirats Arabes Unis',
|
1247 |
'EC' => 'Équateur',
|
1248 |
'ER' => 'Érythrée',
|
|
|
1249 |
'ET' => 'Éthiopie',
|
1250 |
'BV' => 'Île Bouvet',
|
1251 |
'CX' => 'Île Christmas',
|
1268 |
),
|
1269 |
'ja' =>
|
1270 |
array (
|
1271 |
+
'IS' => 'アイスランド',
|
1272 |
'IE' => 'アイルランド',
|
1273 |
+
'AZ' => 'アゼルバイジャン',
|
1274 |
'AF' => 'アフガニスタン',
|
1275 |
+
'US' => 'アメリカ',
|
1276 |
'AE' => 'アラブ首長国連邦',
|
1277 |
+
'DZ' => 'アルジェリア',
|
1278 |
+
'AR' => 'アルゼンチン',
|
1279 |
+
'AL' => 'アルバニア',
|
1280 |
'AW' => 'アルバ島',
|
1281 |
+
'AM' => 'アルメニア',
|
1282 |
'AI' => 'アンギラ',
|
1283 |
+
'AO' => 'アンゴラ',
|
1284 |
+
'AG' => 'アンティグア・バーブーダ',
|
1285 |
'AD' => 'アンドラ',
|
1286 |
+
'YE' => 'イエメン',
|
1287 |
+
'IL' => 'イスラエル',
|
1288 |
+
'IT' => 'イタリア',
|
1289 |
+
'IQ' => 'イラク',
|
1290 |
+
'IR' => 'イラン',
|
|
|
1291 |
'IN' => 'インド',
|
1292 |
+
'ID' => 'インドネシア',
|
1293 |
+
'WF' => 'ウォリス・フツナ',
|
1294 |
+
'UG' => 'ウガンダ',
|
1295 |
+
'UA' => 'ウクライナ',
|
1296 |
+
'UZ' => 'ウズベキスタン',
|
1297 |
+
'UY' => 'ウルグアイ',
|
1298 |
+
'EC' => 'エクアドル',
|
1299 |
+
'EG' => 'エジプト',
|
1300 |
+
'EE' => 'エストニア',
|
1301 |
'ET' => 'エチオピア',
|
1302 |
'ER' => 'エリトリア',
|
1303 |
'SV' => 'エルサルバドル',
|
1304 |
+
'OM' => 'オマーン',
|
1305 |
+
'NL' => 'オランダ',
|
1306 |
'AU' => 'オーストラリア',
|
1307 |
+
'AT' => 'オーストリア',
|
1308 |
'AX' => 'オーランド諸島',
|
1309 |
+
'KZ' => 'カザフスタン',
|
1310 |
'QA' => 'カタール',
|
1311 |
'CA' => 'カナダ',
|
1312 |
+
'CM' => 'カメルーン',
|
1313 |
+
'KH' => 'カンボジア',
|
1314 |
'CV' => 'カーボベルデ',
|
1315 |
'GY' => 'ガイアナ',
|
1316 |
+
'GA' => 'ガボン',
|
1317 |
+
'GM' => 'ガンビア',
|
1318 |
+
'GH' => 'ガーナ',
|
1319 |
'GG' => 'ガーンジー',
|
1320 |
+
'CY' => 'キプロス',
|
1321 |
'CW' => 'キュラソー',
|
1322 |
+
'CU' => 'キューバ',
|
1323 |
+
'KI' => 'キリバス',
|
1324 |
+
'KG' => 'キルギス',
|
1325 |
+
'GN' => 'ギニア',
|
1326 |
+
'GW' => 'ギニアビサウ',
|
1327 |
+
'GR' => 'ギリシャ',
|
1328 |
'KW' => 'クウェート',
|
1329 |
'CK' => 'クック諸島',
|
1330 |
'CX' => 'クリスマス島',
|
1331 |
+
'HR' => 'クロアチア',
|
1332 |
'GT' => 'グアテマラ',
|
1333 |
'GP' => 'グアドループ',
|
1334 |
'GU' => 'グアム',
|
1336 |
'GE' => 'グルジア共和国',
|
1337 |
'GD' => 'グレナダ',
|
1338 |
'KY' => 'ケイマン諸島',
|
1339 |
+
'KE' => 'ケニア',
|
1340 |
+
'CC' => 'ココス(キーリング)諸島',
|
1341 |
'CR' => 'コスタリカ',
|
1342 |
'XK' => 'コソボ',
|
1343 |
+
'KM' => 'コモロ',
|
1344 |
+
'CO' => 'コロンビア',
|
1345 |
+
'CG' => 'コンゴ共和国',
|
1346 |
'CD' => 'コンゴ民主共和国',
|
1347 |
+
'SA' => 'サウジアラビア',
|
1348 |
+
'GS' => 'サウスジョージア・サウスサンドウィッチ諸島',
|
1349 |
+
'WS' => 'サモア',
|
1350 |
+
'ST' => 'サントメ・プリンシペ',
|
1351 |
'PM' => 'サンピエール島・ミクロン島',
|
1352 |
+
'SM' => 'サンマリノ',
|
1353 |
'BL' => 'サン・バルテルミー',
|
1354 |
+
'MF' => 'サン・マルタン',
|
1355 |
+
'ZM' => 'ザンビア',
|
1356 |
'SL' => 'シエラレオネ',
|
1357 |
+
'SY' => 'シリア',
|
1358 |
'SG' => 'シンガポール',
|
1359 |
'SX' => 'シント・マールテン',
|
1360 |
'DJ' => 'ジブチ',
|
1361 |
'GI' => 'ジブラルタル',
|
1362 |
'JM' => 'ジャマイカ',
|
1363 |
'JE' => 'ジャージー',
|
1364 |
+
'ZW' => 'ジンバブエ',
|
1365 |
+
'CH' => 'スイス',
|
1366 |
+
'SE' => 'スウェーデン',
|
1367 |
'SJ' => 'スバールバル諸島・ヤンマイエン島',
|
1368 |
'ES' => 'スペイン',
|
1369 |
+
'SR' => 'スリナム',
|
1370 |
+
'LK' => 'スリランカ',
|
1371 |
+
'SK' => 'スロバキア',
|
1372 |
'SI' => 'スロベニア',
|
1373 |
+
'SZ' => 'スワジランド',
|
1374 |
+
'SD' => 'スーダン',
|
1375 |
+
'SN' => 'セネガル',
|
|
|
1376 |
'RS' => 'セルビア',
|
1377 |
'KN' => 'セントクリストファー・ネビス',
|
1378 |
+
'VC' => 'セントビンセント及びグレナディーン諸島',
|
1379 |
'SH' => 'セントヘレナ',
|
1380 |
'LC' => 'セントルシア',
|
1381 |
+
'SC' => 'セーシェル',
|
1382 |
'SO' => 'ソマリア',
|
1383 |
'SB' => 'ソロモン諸島',
|
1384 |
'TH' => 'タイ',
|
1385 |
+
'TJ' => 'タジキスタン',
|
1386 |
+
'TZ' => 'タンザニア',
|
1387 |
+
'TC' => 'タークス・カイコス諸島',
|
1388 |
+
'CZ' => 'チェコ',
|
1389 |
+
'TD' => 'チャド',
|
1390 |
+
'TN' => 'チュニジア',
|
1391 |
+
'CL' => 'チリ',
|
1392 |
'TV' => 'ツバル',
|
1393 |
+
'DK' => 'デンマーク',
|
1394 |
+
'TK' => 'トケラウ',
|
1395 |
+
'TT' => 'トリニダード・トバゴ',
|
1396 |
'TM' => 'トルクメニスタン',
|
1397 |
+
'TR' => 'トルコ',
|
1398 |
+
'TO' => 'トンガ',
|
1399 |
+
'TG' => 'トーゴ',
|
1400 |
+
'DE' => 'ドイツ',
|
1401 |
'DO' => 'ドミニカ共和国',
|
1402 |
'DM' => 'ドミニカ国',
|
1403 |
+
'NG' => 'ナイジェリア',
|
1404 |
'NR' => 'ナウル',
|
1405 |
+
'NA' => 'ナミビア',
|
1406 |
+
'NU' => 'ニウエ',
|
1407 |
+
'NI' => 'ニカラグア',
|
1408 |
+
'NE' => 'ニジェール',
|
1409 |
'NC' => 'ニューカレドニア',
|
1410 |
'NZ' => 'ニュージーランド',
|
1411 |
+
'NP' => 'ネパール',
|
1412 |
+
'NO' => 'ノルウェー',
|
1413 |
'NF' => 'ノーフォーク島',
|
1414 |
+
'HT' => 'ハイチ',
|
1415 |
+
'HU' => 'ハンガリー',
|
1416 |
'HM' => 'ハード島・マクドナルド諸島',
|
1417 |
+
'VU' => 'バヌアツ',
|
1418 |
+
'BS' => 'バハマ',
|
1419 |
'BM' => 'バミューダ',
|
1420 |
'BB' => 'バルバドス',
|
1421 |
+
'BD' => 'バングラデシュ',
|
1422 |
'BH' => 'バーレーン',
|
1423 |
+
'PK' => 'パキスタン',
|
1424 |
'PA' => 'パナマ',
|
1425 |
+
'PG' => 'パプアニューギニア',
|
1426 |
'PW' => 'パラオ',
|
1427 |
+
'PY' => 'パラグアイ',
|
1428 |
'PS' => 'パレスチナ',
|
1429 |
+
'PN' => 'ピトケアン諸島',
|
1430 |
'FJ' => 'フィジー',
|
1431 |
+
'PH' => 'フィリピン',
|
1432 |
+
'FI' => 'フィンランド',
|
1433 |
'FO' => 'フェロー諸島',
|
1434 |
'FK' => 'フォークランド諸島',
|
1435 |
+
'FR' => 'フランス',
|
1436 |
+
'BR' => 'ブラジル',
|
1437 |
+
'BG' => 'ブルガリア',
|
1438 |
'BF' => 'ブルキナファソ',
|
1439 |
'BN' => 'ブルネイ',
|
1440 |
+
'BI' => 'ブルンジ',
|
1441 |
+
'BT' => 'ブータン',
|
1442 |
'BV' => 'ブーベ島',
|
1443 |
'PR' => 'プエルトリコ',
|
1444 |
'VN' => 'ベトナム',
|
1445 |
+
'BJ' => 'ベナン',
|
1446 |
+
'VE' => 'ベネズエラ',
|
1447 |
+
'BY' => 'ベラルーシ',
|
1448 |
'BZ' => 'ベリーズ',
|
1449 |
+
'BE' => 'ベルギー',
|
1450 |
+
'PE' => 'ペルー',
|
1451 |
+
'HN' => 'ホンジュラス',
|
1452 |
+
'BA' => 'ボスニア・ヘルツェゴビナ',
|
1453 |
+
'BW' => 'ボツワナ',
|
1454 |
'BQ' => 'ボネール、シント・ユースタティウスおよびサバ',
|
1455 |
+
'BO' => 'ボリビア',
|
1456 |
+
'PT' => 'ポルトガル',
|
1457 |
+
'PL' => 'ポーランド',
|
1458 |
'MO' => 'マカオ',
|
1459 |
+
'MG' => 'マダガスカル',
|
|
|
1460 |
'YT' => 'マヨット島',
|
1461 |
+
'MW' => 'マラウイ',
|
1462 |
'ML' => 'マリ',
|
1463 |
'MT' => 'マルタ',
|
1464 |
+
'MQ' => 'マルティニーク',
|
1465 |
'MY' => 'マレーシア',
|
1466 |
'IM' => 'マン島',
|
1467 |
+
'MH' => 'マーシャル諸島',
|
1468 |
'FM' => 'ミクロネシア連邦',
|
1469 |
'MM' => 'ミャンマー連邦',
|
1470 |
+
'MX' => 'メキシコ',
|
1471 |
+
'MZ' => 'モザンビーク',
|
1472 |
'MC' => 'モナコ',
|
1473 |
+
'MV' => 'モルディブ',
|
1474 |
+
'MD' => 'モルドバ',
|
1475 |
+
'MA' => 'モロッコ',
|
1476 |
'MN' => 'モンゴル',
|
1477 |
'ME' => 'モンテネグロ',
|
1478 |
+
'MS' => 'モントセラト',
|
1479 |
'MU' => 'モーリシャス',
|
1480 |
+
'MR' => 'モーリタニア',
|
1481 |
+
'JO' => 'ヨルダン',
|
1482 |
'LA' => 'ラオス',
|
1483 |
+
'LV' => 'ラトビア',
|
1484 |
+
'LT' => 'リトアニア',
|
1485 |
+
'LI' => 'リヒテンシュタイン',
|
1486 |
+
'LY' => 'リビア',
|
1487 |
+
'LR' => 'リベリア',
|
1488 |
+
'LU' => 'ルクセンブルク',
|
1489 |
'RW' => 'ルワンダ',
|
1490 |
'RO' => 'ルーマニア',
|
1491 |
+
'LS' => 'レソト',
|
1492 |
+
'LB' => 'レバノン',
|
1493 |
+
'RE' => 'レユニオン',
|
1494 |
'RU' => 'ロシア',
|
1495 |
'VA' => 'ローマ法王庁 (バチカン市国)',
|
|
|
1496 |
'CN' => '中国',
|
1497 |
'CF' => '中央アフリカ共和国',
|
|
|
1498 |
'GF' => '仏領ギアナ',
|
|
|
1499 |
'PF' => '仏領ポリネシア',
|
1500 |
'TF' => '仏領極南諸島',
|
1501 |
+
'MK' => '北マケドニア',
|
1502 |
'MP' => '北マリアナ諸島',
|
1503 |
'ZA' => '南アフリカ',
|
1504 |
+
'SS' => '南スーダン共和国',
|
|
|
1505 |
'AQ' => '南極',
|
1506 |
+
'TW' => '台湾',
|
1507 |
+
'UM' => '合衆国領有小離島',
|
1508 |
'KR' => '大韓民国',
|
1509 |
'JP' => '日本',
|
1510 |
'TL' => '東ティモール共和国',
|
|
|
1511 |
'AS' => '米領サモア',
|
1512 |
'VI' => '米領ヴァージン諸島',
|
1513 |
+
'GB' => '英国',
|
1514 |
'IO' => '英領インド洋地域',
|
1515 |
'VG' => '英領ヴァージン諸島',
|
1516 |
'EH' => '西サハラ',
|
|
|
1517 |
'CI' => '象牙海岸',
|
1518 |
+
'GQ' => '赤道ギニア',
|
1519 |
'KP' => '韓国、朝鮮民主主義人民共和国',
|
1520 |
'HK' => '香港',
|
1521 |
),
|
1549 |
'BG' => 'Болгария',
|
1550 |
'BO' => 'Боливия',
|
1551 |
'BQ' => 'Бонайре, Синт-Эстатиус и Саба',
|
1552 |
+
'BA' => 'Босния и Герцеговина',
|
1553 |
'BW' => 'Ботсвана',
|
1554 |
'BR' => 'Бразилия',
|
1555 |
+
'GB' => 'Британия',
|
1556 |
'IO' => 'Британская территория в Индийском океане',
|
1557 |
+
'BN' => 'Бруней-Даруссалам',
|
1558 |
+
'BF' => 'Буркина-Фасо',
|
|
|
1559 |
'BI' => 'Бурунди',
|
1560 |
'BT' => 'Бутан',
|
1561 |
'VU' => 'Вануату',
|
1562 |
'VA' => 'Ватикан',
|
|
|
1563 |
'HU' => 'Венгрия',
|
1564 |
'VE' => 'Венесуэла',
|
1565 |
+
'VG' => 'Виргинские о-ва (Великобритания)',
|
1566 |
'VI' => 'Виргинские о-ва (США)',
|
1567 |
+
'UM' => 'Внешние малые о-ва (США)',
|
|
|
1568 |
'VN' => 'Вьетнам',
|
1569 |
'GA' => 'Габон',
|
1570 |
'HT' => 'Гаити',
|
1574 |
'GP' => 'Гваделупа',
|
1575 |
'GT' => 'Гватемала',
|
1576 |
'GN' => 'Гвинея',
|
1577 |
+
'GW' => 'Гвинея-Бисау',
|
1578 |
'DE' => 'Германия',
|
1579 |
'GG' => 'Гернси',
|
1580 |
'GI' => 'Гибралтар',
|
1588 |
'DK' => 'Дания',
|
1589 |
'JE' => 'Джерси',
|
1590 |
'DJ' => 'Джибути',
|
1591 |
+
'DM' => 'Доминика',
|
1592 |
'DO' => 'Доминиканская Республика',
|
1593 |
'EG' => 'Египет',
|
1594 |
'CD' => 'Заир',
|
1606 |
'ES' => 'Испания',
|
1607 |
'IT' => 'Италия',
|
1608 |
'YE' => 'Йемен',
|
1609 |
+
'KP' => 'КНДР',
|
1610 |
+
'CV' => 'Кабо-Верде',
|
1611 |
'KZ' => 'Казахстан',
|
1612 |
'KY' => 'Каймановы Острова',
|
1613 |
'KH' => 'Камбоджа',
|
1621 |
'CC' => 'Кокосовые о-ва',
|
1622 |
'CO' => 'Колумбия',
|
1623 |
'KM' => 'Коморские о-ва',
|
|
|
1624 |
'XK' => 'Косово',
|
1625 |
'CR' => 'Коста-Рика',
|
1626 |
+
'CI' => 'Кот-д’Ивуар',
|
1627 |
'CU' => 'Куба',
|
1628 |
'KW' => 'Кувейт',
|
1629 |
'KG' => 'Кыргызстан',
|
1645 |
'MW' => 'Малави',
|
1646 |
'MY' => 'Малайзия',
|
1647 |
'ML' => 'Мали',
|
1648 |
+
'MV' => 'Мальдивы',
|
1649 |
'MT' => 'Мальта',
|
1650 |
'MA' => 'Марокко',
|
1651 |
'MQ' => 'Мартиника',
|
1652 |
+
'MH' => 'Маршалловы Острова',
|
1653 |
'MX' => 'Мексика',
|
|
|
1654 |
'MZ' => 'Мозамбик',
|
1655 |
'MD' => 'Молдова',
|
1656 |
'MC' => 'Монако',
|
1657 |
'MN' => 'Монголия',
|
1658 |
+
'MS' => 'Монтсеррат',
|
1659 |
+
'MM' => 'Мьянма (Бирма)',
|
|
|
1660 |
'NA' => 'Намибия',
|
1661 |
'NR' => 'Науру',
|
1662 |
'NP' => 'Непал',
|
1664 |
'NG' => 'Нигерия',
|
1665 |
'NL' => 'Нидерланды',
|
1666 |
'NI' => 'Никарагуа',
|
1667 |
+
'NU' => 'Ниуэ',
|
1668 |
'NZ' => 'Новая Зеландия',
|
1669 |
'NC' => 'Новая Каледония',
|
1670 |
'NO' => 'Норвегия',
|
1671 |
'AE' => 'ОАЭ',
|
1672 |
'OM' => 'Оман',
|
|
|
|
|
|
|
|
|
1673 |
'BL' => 'Остров Святого Бартоломея',
|
|
|
|
|
|
|
1674 |
'CK' => 'Острова Кука',
|
|
|
|
|
1675 |
'PK' => 'Пакистан',
|
1676 |
'PW' => 'Палау',
|
1677 |
+
'PS' => 'Палестина',
|
1678 |
'PA' => 'Панама',
|
1679 |
'PG' => 'Папуа – Новая Гвинея',
|
1680 |
'PY' => 'Парагвай',
|
1681 |
'PE' => 'Перу',
|
|
|
1682 |
'PL' => 'Польша',
|
1683 |
'PT' => 'Португалия',
|
1684 |
'PR' => 'Пуэрто-Рико',
|
1685 |
+
'CG' => 'Республика Конго',
|
1686 |
+
'KR' => 'Республика Корея',
|
1687 |
'RE' => 'Реюньон',
|
1688 |
'RU' => 'Россия',
|
1689 |
'RW' => 'Руанда',
|
1692 |
'SV' => 'Сальвадор',
|
1693 |
'WS' => 'Самоа',
|
1694 |
'SM' => 'Сан-Марино',
|
1695 |
+
'ST' => 'Сан-Томе и Принсипи',
|
1696 |
'SA' => 'Саудовская Аравия',
|
|
|
|
|
|
|
1697 |
'MK' => 'Северная Македония',
|
1698 |
'MP' => 'Северные Марианские о-ва',
|
1699 |
'SC' => 'Сейшельские о-ва',
|
1700 |
+
'MF' => 'Сен-Мартен',
|
1701 |
'PM' => 'Сен-Пьер и Микелон',
|
1702 |
'SN' => 'Сенегал',
|
1703 |
'VC' => 'Сент-Винсент и Гренадины',
|
1704 |
+
'KN' => 'Сент-Китс и Невис',
|
1705 |
'LC' => 'Сент-Люсия',
|
1706 |
'RS' => 'Сербия',
|
1707 |
'SG' => 'Сингапур',
|
1708 |
'SX' => 'Синт-Мартен',
|
1709 |
+
'SY' => 'Сирия',
|
1710 |
'SK' => 'Словакия',
|
1711 |
'SI' => 'Словения',
|
1712 |
+
'SB' => 'Соломоновы Острова',
|
1713 |
'SO' => 'Сомали',
|
1714 |
'SD' => 'Судан',
|
1715 |
'SR' => 'Суринам',
|
1716 |
'SL' => 'Сьерра-Леоне',
|
1717 |
'TJ' => 'Таджикистан',
|
1718 |
+
'TH' => 'Таиланд',
|
1719 |
'TW' => 'Тайвань',
|
|
|
1720 |
'TZ' => 'Танзания',
|
1721 |
+
'TL' => 'Тимор-Лесте',
|
1722 |
'TG' => 'Того',
|
1723 |
'TK' => 'Токелау',
|
1724 |
'TO' => 'Тонга',
|
1733 |
'WF' => 'Уоллис и Футуна',
|
1734 |
'UY' => 'Уругвай',
|
1735 |
'FO' => 'Фарерские о-ва',
|
1736 |
+
'FM' => 'Федеративные Штаты Микронезии',
|
1737 |
'FJ' => 'Фиджи',
|
1738 |
'PH' => 'Филиппины',
|
1739 |
'FI' => 'Финляндия',
|
1741 |
'FR' => 'Франция',
|
1742 |
'GF' => 'Французская Гвиана',
|
1743 |
'PF' => 'Французская Полинезия',
|
1744 |
+
'TF' => 'Французские Южные территории',
|
1745 |
'HR' => 'Хорватия',
|
1746 |
+
'CF' => 'Центрально-Африканская Республика',
|
1747 |
'TD' => 'Чад',
|
1748 |
'ME' => 'Черногория',
|
1749 |
+
'CZ' => 'Чехия',
|
1750 |
'CL' => 'Чили',
|
1751 |
'CH' => 'Швейцария',
|
1752 |
'SE' => 'Швеция',
|
1753 |
+
'SJ' => 'Шпицберген и Ян-Майен',
|
1754 |
'LK' => 'Шри-Ланка',
|
1755 |
'EC' => 'Эквадор',
|
1756 |
'GQ' => 'Экваториальная Гвинея',
|
1757 |
'ER' => 'Эритрея',
|
1758 |
+
'SZ' => 'Эсватини',
|
1759 |
'EE' => 'Эстония',
|
1760 |
'ET' => 'Эфиопия',
|
1761 |
'ZA' => 'ЮАР',
|
1762 |
+
'GS' => 'Южная Георгия и Южные Сандвичевы о-ва',
|
|
|
1763 |
'SS' => 'Южный Судан',
|
1764 |
'JM' => 'Ямайка',
|
1765 |
'JP' => 'Япония',
|
1766 |
+
'BV' => 'о-в Буве',
|
1767 |
+
'IM' => 'о-в Мэн',
|
1768 |
+
'NF' => 'о-в Норфолк',
|
1769 |
+
'CX' => 'о-в Рождества',
|
1770 |
+
'SH' => 'о-в Св. Елены',
|
1771 |
+
'PN' => 'о-ва Питкэрн',
|
1772 |
+
'TC' => 'о-ва Тёркс и Кайкос',
|
1773 |
+
'HM' => 'о-ва Херд и Макдональд',
|
1774 |
),
|
1775 |
);
|
package.json
CHANGED
@@ -2,32 +2,40 @@
|
|
2 |
"name": "geoip-detect",
|
3 |
"version": "2.11.0",
|
4 |
"description": "Geolocation IP Detection - Wordpress Plugin (JS)",
|
5 |
-
"main": "index.js",
|
6 |
"repository": "git@github.com:yellowtree/geoip-detect.git",
|
7 |
"author": "Benjamin Pick <benjaminpick@github.com>",
|
8 |
"license": "GPL-3.0-or-later",
|
9 |
"scripts": {
|
10 |
-
"clean": "rm -rf .cache",
|
11 |
-
"start": "
|
12 |
-
"build": "rm -rf js/dist && parcel build
|
13 |
-
"test": "jest --coverage"
|
|
|
|
|
14 |
},
|
15 |
"private": false,
|
16 |
"dependencies": {
|
17 |
-
"@babel/runtime": "
|
18 |
"emoji-flags": "1.3.0",
|
19 |
-
"just-
|
20 |
-
"just-
|
|
|
|
|
21 |
},
|
22 |
"devDependencies": {
|
23 |
-
"@babel/core": "7.
|
24 |
-
"@babel/plugin-transform-runtime": "7.
|
25 |
-
"@babel/preset-env": "7.
|
26 |
-
"babel-jest": "27.
|
27 |
"babel-plugin-transform-class-properties": "6.24.1",
|
28 |
-
"eslint": "7.
|
29 |
-
"jest": "27.
|
30 |
-
"parcel
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
}
|
2 |
"name": "geoip-detect",
|
3 |
"version": "2.11.0",
|
4 |
"description": "Geolocation IP Detection - Wordpress Plugin (JS)",
|
|
|
5 |
"repository": "git@github.com:yellowtree/geoip-detect.git",
|
6 |
"author": "Benjamin Pick <benjaminpick@github.com>",
|
7 |
"license": "GPL-3.0-or-later",
|
8 |
"scripts": {
|
9 |
+
"clean": "rm -rf .parcel-cache",
|
10 |
+
"start": "parcel js/frontend.js --port 1234 --hmr-port 1236 --dist-dir js/dist --public-url .",
|
11 |
+
"build": "rm -f babel.config.json ; rm -rf js/dist && parcel build js/frontend.js --dist-dir js/dist --public-url .",
|
12 |
+
"test": "cp tests/babel.config.json . && jest --coverage ; rm babel.config.json",
|
13 |
+
"test-ddd": "cp tests/babel.config.json . && jest -t ddd ; rm babel.config.json",
|
14 |
+
"update-browserlist": "browserslist --update-db"
|
15 |
},
|
16 |
"private": false,
|
17 |
"dependencies": {
|
18 |
+
"@babel/runtime": "7.16.7",
|
19 |
"emoji-flags": "1.3.0",
|
20 |
+
"just-compare": "2.0.1",
|
21 |
+
"just-intersect": "4.0.2",
|
22 |
+
"just-safe-get": "4.0.1",
|
23 |
+
"just-safe-set": "4.0.1"
|
24 |
},
|
25 |
"devDependencies": {
|
26 |
+
"@babel/core": "7.16.7",
|
27 |
+
"@babel/plugin-transform-runtime": "7.16.7",
|
28 |
+
"@babel/preset-env": "7.16.7",
|
29 |
+
"babel-jest": "27.3.1",
|
30 |
"babel-plugin-transform-class-properties": "6.24.1",
|
31 |
+
"eslint": "7.32.0",
|
32 |
+
"jest": "27.3.1",
|
33 |
+
"parcel": "2.0.1"
|
34 |
+
},
|
35 |
+
"browserslist": "> 0.2%, last 2 versions, Firefox ESR, not dead",
|
36 |
+
"jest": {
|
37 |
+
"transform": {
|
38 |
+
"^.+\\.js$": "babel-jest"
|
39 |
+
}
|
40 |
}
|
41 |
}
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geolocation, locator, geoip, maxmind, ipstack
|
4 |
Requires at least: 5.0
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 7.2
|
7 |
Stable tag: trunk
|
8 |
License: GPLv3 or later
|
@@ -119,6 +119,10 @@ See [Documentation](https://github.com/yellowtree/geoip-detect/wiki) for more in
|
|
119 |
|
120 |
== Upgrade Notice ==
|
121 |
|
|
|
|
|
|
|
|
|
122 |
= 4.0.1 =
|
123 |
|
124 |
Hotfix - avoid fatal erros if another plugin also has the Maxmind library included
|
@@ -165,6 +169,30 @@ If you use Maxmind "Automatic download" then you need to upgrade to this plugin
|
|
165 |
|
166 |
== Changelog ==
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
= 4.2.3 =
|
169 |
* FIX: Further improve the Maxmind admin notice UI
|
170 |
* Update some smaller libraries
|
@@ -179,7 +207,7 @@ If you use Maxmind "Automatic download" then you need to upgrade to this plugin
|
|
179 |
* NEW: Show a warning on the options page when there are incompatibilities with other plugins that also use the Maxmind libraries.
|
180 |
* FIX: Remove an incompatibility of the libraries with Toolset or other Laravel-based plugins
|
181 |
* NEW: In CF7, you can now add any property to the mail body with a special syntax, e.g. `[geoip_detect2_property_country__iso_code]`
|
182 |
-
* FIX (JS): Replace the internally used library 'lodash' with 'just' to reduce the
|
183 |
* FIX (JS): Improve error handling in AJAX mode
|
184 |
* FIX: Port numbers in reverse proxies are ignored now (removes incompatibility with Azure reverse proxies)
|
185 |
* FIX: Prevent Cloudflare APO from caching when using AJAX mode or page caching is disabled in the plugin options
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geolocation, locator, geoip, maxmind, ipstack
|
4 |
Requires at least: 5.0
|
5 |
+
Tested up to: 5.9
|
6 |
Requires PHP: 7.2
|
7 |
Stable tag: trunk
|
8 |
License: GPLv3 or later
|
119 |
|
120 |
== Upgrade Notice ==
|
121 |
|
122 |
+
= 5.0.0 =
|
123 |
+
|
124 |
+
If you are using AJAX mode, please read the changelog.
|
125 |
+
|
126 |
= 4.0.1 =
|
127 |
|
128 |
Hotfix - avoid fatal erros if another plugin also has the Maxmind library included
|
169 |
|
170 |
== Changelog ==
|
171 |
|
172 |
+
= 5.0.0 =
|
173 |
+
In this release, there a small breaking changes marked by [!].
|
174 |
+
|
175 |
+
AJAX mode:
|
176 |
+
* FIX [!]: Empty attribute values such as `[geoip_detect2_show_if country=""]Country was not detected[/geoip_detect2_show_if]` are now working (they were ignored before)
|
177 |
+
* FIX [!]: Shortcodes that have an invalid value for the property `ajax` (e.g. `[geoip_detect2_text_input ajax="invalid"]`) are now using the AJAX option instead of always disabling AJAX
|
178 |
+
* FIX: In CF7, the country selector can now be used in AJAX mode
|
179 |
+
* FIX: In AJAX mode, the shortcode `[geoip_detect2_show_if]` renders as a `<div>` if it detects that the containing content has HTML block level elements
|
180 |
+
* NEW (Beta): In AJAX mode, the new property `autosave` saves the user input as local override for this browser. `[geoip_detect2_countries mycountry autosave]` and `[geoip_detect2_text_input city property:city autosave]`. (Please give feedback if this works as expected!)
|
181 |
+
* FIX: In AJAX mode, calling the method `set_override(record, duration_in_days)` now refreshes the AJAX shortcodes and CSS body classes.
|
182 |
+
-> Thus, it is now possible to quickly implement different content for different countries with an autodetected default country, see (TODO example)
|
183 |
+
|
184 |
+
Other changes:
|
185 |
+
* NEW: Drastically improving performance if the the lookup is performed for the current IP more than once (e.g. because of shortcodes without AJAX mode)
|
186 |
+
* UI: Showing the time for the subsequent lookup on the Test Lookup page
|
187 |
+
* FIX: Maxmind Datasource: Check if the database file is really a file, not a directory
|
188 |
+
* NEW: Header Datasource: Now a custom HTTP header can be used via the wordpress filter `geoip_detect2_source_header_http_key`
|
189 |
+
|
190 |
+
Other minor changes:
|
191 |
+
* Update the list of available APIs for getting the external IP (as whatismyip went down)
|
192 |
+
* Minimum Wordpress version is 5.4 now.
|
193 |
+
* Update some internal libraries & dev tools
|
194 |
+
* Checked compatibility with PHP 8.1
|
195 |
+
|
196 |
= 4.2.3 =
|
197 |
* FIX: Further improve the Maxmind admin notice UI
|
198 |
* Update some smaller libraries
|
207 |
* NEW: Show a warning on the options page when there are incompatibilities with other plugins that also use the Maxmind libraries.
|
208 |
* FIX: Remove an incompatibility of the libraries with Toolset or other Laravel-based plugins
|
209 |
* NEW: In CF7, you can now add any property to the mail body with a special syntax, e.g. `[geoip_detect2_property_country__iso_code]`
|
210 |
+
* FIX (JS): Replace the internally used library 'lodash' with 'just' to reduce the JS file size
|
211 |
* FIX (JS): Improve error handling in AJAX mode
|
212 |
* FIX: Port numbers in reverse proxies are ignored now (removes incompatibility with Azure reverse proxies)
|
213 |
* FIX: Prevent Cloudflare APO from caching when using AJAX mode or page caching is disabled in the plugin options
|
shortcodes/_helpers.php
CHANGED
@@ -34,6 +34,7 @@ function _geoip_detect2_shortcode_options($attr) {
|
|
34 |
if (isset($attr['property'])) {
|
35 |
$opt['property'] = $attr['property'];
|
36 |
}
|
|
|
37 |
return $opt;
|
38 |
}
|
39 |
|
@@ -58,8 +59,10 @@ function _geoip_detect_flatten_html_attr($attr) {
|
|
58 |
*/
|
59 |
function geoip_detect2_shortcode_is_ajax_mode($attr) {
|
60 |
if (isset($attr['ajax'])) {
|
61 |
-
$value = filter_var($attr['ajax'], FILTER_VALIDATE_BOOLEAN );
|
62 |
-
|
|
|
|
|
63 |
}
|
64 |
|
65 |
if (get_option('geoip-detect-ajax_enabled') && get_option('geoip-detect-ajax_shortcodes')) {
|
@@ -68,8 +71,45 @@ function geoip_detect2_shortcode_is_ajax_mode($attr) {
|
|
68 |
return false;
|
69 |
}
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
function _geoip_detect2_create_placeholder($tag = "span", $attr = [], $data = null, $innerHTML = '') {
|
|
|
|
|
|
|
|
|
73 |
$tag = sanitize_key($tag);
|
74 |
$html = "<$tag";
|
75 |
|
34 |
if (isset($attr['property'])) {
|
35 |
$opt['property'] = $attr['property'];
|
36 |
}
|
37 |
+
|
38 |
return $opt;
|
39 |
}
|
40 |
|
59 |
*/
|
60 |
function geoip_detect2_shortcode_is_ajax_mode($attr) {
|
61 |
if (isset($attr['ajax'])) {
|
62 |
+
$value = filter_var($attr['ajax'], FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE );
|
63 |
+
if (is_bool($value)) {
|
64 |
+
return $value;
|
65 |
+
}
|
66 |
}
|
67 |
|
68 |
if (get_option('geoip-detect-ajax_enabled') && get_option('geoip-detect-ajax_shortcodes')) {
|
71 |
return false;
|
72 |
}
|
73 |
|
74 |
+
function _geoip_detect2_html_contains_block_elements($html) {
|
75 |
+
if (!$html) {
|
76 |
+
return false;
|
77 |
+
}
|
78 |
+
$html = mb_strtolower($html);
|
79 |
+
|
80 |
+
// There are more. But these are most common
|
81 |
+
$blocklevelElements = [
|
82 |
+
'div',
|
83 |
+
'p',
|
84 |
+
'blockquote',
|
85 |
+
'figure',
|
86 |
+
'form',
|
87 |
+
'h1',
|
88 |
+
'h2',
|
89 |
+
'h3',
|
90 |
+
'h4',
|
91 |
+
'h5',
|
92 |
+
'h6',
|
93 |
+
'ul',
|
94 |
+
'ol',
|
95 |
+
'pre',
|
96 |
+
'table',
|
97 |
+
];
|
98 |
+
foreach ($blocklevelElements as $element) {
|
99 |
+
if (strpos($html, '<' . $element) !== false) {
|
100 |
+
if (preg_match('#<' . $element . '[\s/>]#', $html)) {
|
101 |
+
return true;
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
return false;
|
106 |
+
}
|
107 |
|
108 |
function _geoip_detect2_create_placeholder($tag = "span", $attr = [], $data = null, $innerHTML = '') {
|
109 |
+
if ($tag === 'span' && _geoip_detect2_html_contains_block_elements($innerHTML)) {
|
110 |
+
$tag = 'div';
|
111 |
+
}
|
112 |
+
|
113 |
$tag = sanitize_key($tag);
|
114 |
$html = "<$tag";
|
115 |
|
shortcodes/cf7.php
CHANGED
@@ -35,6 +35,13 @@ function geoip_detect2_add_wpcf7_shortcodes() {
|
|
35 |
*
|
36 |
* `[geoip_detect2_countries mycountry default:US]`
|
37 |
* Visitor's country is preselected, but in case the country is unknown, use "United States"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
*
|
39 |
*/
|
40 |
function geoip_detect2_shortcode_country_select_wpcf7($tag) {
|
@@ -46,8 +53,9 @@ function geoip_detect2_shortcode_country_select_wpcf7($tag) {
|
|
46 |
|
47 |
$class = wpcf7_form_controls_class( $tag->type );
|
48 |
$validation_error = wpcf7_get_validation_error( $tag->name );
|
49 |
-
if ($validation_error)
|
50 |
$class .= ' wpcf7-not-valid';
|
|
|
51 |
|
52 |
$attr = array(
|
53 |
'name' => $tag->name,
|
@@ -61,8 +69,17 @@ function geoip_detect2_shortcode_country_select_wpcf7($tag) {
|
|
61 |
'default' => $tag->get_option('default', '', true),
|
62 |
'flag' => $tag->has_option('flag'),
|
63 |
'tel' => $tag->has_option('tel'),
|
|
|
|
|
|
|
64 |
);
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
$html = geoip_detect2_shortcode_country_select($attr);
|
67 |
|
68 |
$html = sprintf(
|
@@ -112,7 +129,13 @@ function geoip_detect2_shortcode_text_input_wpcf7($tag) {
|
|
112 |
'lang' => $tag->get_option('lang', '', true),
|
113 |
'property' => $tag->get_option('property', '', true),
|
114 |
'default' => $tag->get_option('default', '', true),
|
|
|
|
|
115 |
);
|
|
|
|
|
|
|
|
|
116 |
$html = geoip_detect2_shortcode_text_input($attr);
|
117 |
|
118 |
$html = sprintf(
|
35 |
*
|
36 |
* `[geoip_detect2_countries mycountry default:US]`
|
37 |
* Visitor's country is preselected, but in case the country is unknown, use "United States"
|
38 |
+
*
|
39 |
+
* `[geoip_detect2_countries mycountry autosave]`
|
40 |
+
* Visitor's country is preselected, but when the visitor changes the country, his choice is saved in his browser (in AJAX-mode only)
|
41 |
+
*
|
42 |
+
* `[geoip_detect2_countries mycountry default:US country:US country:IT country:FR]`
|
43 |
+
* Visitor's country is preselected, only show US/IT/FR as possible selections,
|
44 |
+
* but in case the country is unknown or not in the list, use "United States"
|
45 |
*
|
46 |
*/
|
47 |
function geoip_detect2_shortcode_country_select_wpcf7($tag) {
|
53 |
|
54 |
$class = wpcf7_form_controls_class( $tag->type );
|
55 |
$validation_error = wpcf7_get_validation_error( $tag->name );
|
56 |
+
if ($validation_error) {
|
57 |
$class .= ' wpcf7-not-valid';
|
58 |
+
}
|
59 |
|
60 |
$attr = array(
|
61 |
'name' => $tag->name,
|
69 |
'default' => $tag->get_option('default', '', true),
|
70 |
'flag' => $tag->has_option('flag'),
|
71 |
'tel' => $tag->has_option('tel'),
|
72 |
+
'list' => implode(',', (array) $tag->get_option('country', '[a-zA-Z]+', false)),
|
73 |
+
'ajax' => $tag->get_option('ajax', '', true),
|
74 |
+
'autosave' => $tag->has_option( 'autosave' ),
|
75 |
);
|
76 |
+
if ($attr['ajax'] === false /* option not given */) {
|
77 |
+
unset($attr['ajax']);
|
78 |
+
}
|
79 |
+
if (empty($attr['selected'])) {
|
80 |
+
unset($attr['selected']);
|
81 |
+
}
|
82 |
+
|
83 |
$html = geoip_detect2_shortcode_country_select($attr);
|
84 |
|
85 |
$html = sprintf(
|
129 |
'lang' => $tag->get_option('lang', '', true),
|
130 |
'property' => $tag->get_option('property', '', true),
|
131 |
'default' => $tag->get_option('default', '', true),
|
132 |
+
'ajax' => $tag->get_option('ajax', '', true),
|
133 |
+
'autosave' => $tag->has_option( 'autosave' ),
|
134 |
);
|
135 |
+
if ($attr['ajax'] === false /* option not given */) {
|
136 |
+
unset($attr['ajax']);
|
137 |
+
}
|
138 |
+
|
139 |
$html = geoip_detect2_shortcode_text_input($attr);
|
140 |
|
141 |
$html = sprintf(
|
shortcodes/input.php
CHANGED
@@ -48,7 +48,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
48 |
* @param string $ip Lookup the data of a specific IP instead of the current client IP (this parameter does not work in AJAX mode)
|
49 |
* @param string $placeholder HZML attribute "plaecholer"
|
50 |
* @param bool $ajax 1: Execute this shortcode as AJAX | 0: Execute this shortcode on the server | Unset: Use the global settings (execute as AJAX if both 'AJAX' and 'Resolve shortcodes (via Ajax)' are enabled)
|
51 |
-
|
52 |
*
|
53 |
* @return string The generated HTML
|
54 |
*/
|
@@ -68,6 +68,9 @@ function geoip_detect2_shortcode_text_input($attr) {
|
|
68 |
if (geoip_detect2_shortcode_is_ajax_mode($attr)) {
|
69 |
geoip_detect2_enqueue_javascript('shortcode');
|
70 |
$html_attrs['class'] .= ' js-geoip-text-input';
|
|
|
|
|
|
|
71 |
$html_attrs['data-options'] = wp_json_encode(_geoip_detect2_shortcode_options($attr));
|
72 |
} else {
|
73 |
$html_attrs['value'] = geoip_detect2_shortcode($attr + array('add_error' => false));
|
48 |
* @param string $ip Lookup the data of a specific IP instead of the current client IP (this parameter does not work in AJAX mode)
|
49 |
* @param string $placeholder HZML attribute "plaecholer"
|
50 |
* @param bool $ajax 1: Execute this shortcode as AJAX | 0: Execute this shortcode on the server | Unset: Use the global settings (execute as AJAX if both 'AJAX' and 'Resolve shortcodes (via Ajax)' are enabled)
|
51 |
+
* @param bool $autosave 1: In Ajax mode, when the user changes the country, save his choice in his browser. (optional, Ajax mode only)
|
52 |
*
|
53 |
* @return string The generated HTML
|
54 |
*/
|
68 |
if (geoip_detect2_shortcode_is_ajax_mode($attr)) {
|
69 |
geoip_detect2_enqueue_javascript('shortcode');
|
70 |
$html_attrs['class'] .= ' js-geoip-text-input';
|
71 |
+
if (!empty($attr['autosave'])) {
|
72 |
+
$html_attrs['class'] .= ' js-geoip-detect-input-autosave';
|
73 |
+
}
|
74 |
$html_attrs['data-options'] = wp_json_encode(_geoip_detect2_shortcode_options($attr));
|
75 |
} else {
|
76 |
$html_attrs['value'] = geoip_detect2_shortcode($attr + array('add_error' => false));
|
shortcodes/main.php
CHANGED
@@ -55,7 +55,9 @@ function geoip_detect2_shortcode($orig_attr, $content = '', $shortcodeName = 'ge
|
|
55 |
|
56 |
if (geoip_detect2_shortcode_is_ajax_mode($orig_attr) && !$attr['ip']) {
|
57 |
geoip_detect2_enqueue_javascript('shortcode');
|
58 |
-
return _geoip_detect2_create_placeholder('span', [
|
|
|
|
|
59 |
}
|
60 |
|
61 |
$options = array('skipCache' => $shortcode_options['skip_cache']);
|
55 |
|
56 |
if (geoip_detect2_shortcode_is_ajax_mode($orig_attr) && !$attr['ip']) {
|
57 |
geoip_detect2_enqueue_javascript('shortcode');
|
58 |
+
return _geoip_detect2_create_placeholder('span', [
|
59 |
+
'class' => 'js-geoip-detect-shortcode'
|
60 |
+
], $shortcode_options);
|
61 |
}
|
62 |
|
63 |
$options = array('skipCache' => $shortcode_options['skip_cache']);
|
shortcodes/select.php
CHANGED
@@ -48,31 +48,37 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
48 |
* @param bool $required If the field is required or not
|
49 |
* @param string $class CSS Class of element
|
50 |
* @param string $lang Language(s) (optional. If not set, current site language is used.)
|
51 |
-
* @param string $selected
|
52 |
* @param string $default Default Value that will be used if country cannot be detected (optional)
|
53 |
* @param string $include_blank If this value contains 'true', a empty value will be prepended ('---', i.e. no country) (optional)
|
54 |
* @param bool $flag If a flag should be added before the country name (In Windows, there are no flags, ISO-Country codes instead. This is a design choice by Windows.)
|
55 |
* @param bool $tel If the international code should be added after the country name
|
56 |
* @param bool $ajax 1: Execute this shortcode as AJAX | 0: Execute this shortcode on the server | Unset: Use the global settings (execute as AJAX if both 'AJAX' and 'Resolve shortcodes (via Ajax)' are enabled)
|
|
|
|
|
57 |
*
|
58 |
* @return string The generated HTML
|
59 |
*/
|
60 |
function geoip_detect2_shortcode_country_select($attr) {
|
|
|
61 |
$shortcode_options = _geoip_detect2_shortcode_options($attr);
|
62 |
|
63 |
-
$select_attrs =
|
64 |
-
'name' =>
|
65 |
-
'id' =>
|
66 |
-
'class' =>
|
67 |
-
'aria-required' =>
|
68 |
-
'aria-invalid' =>
|
69 |
'autocomplete' => 'off',
|
70 |
-
|
71 |
|
72 |
$selected = '';
|
73 |
if (geoip_detect2_shortcode_is_ajax_mode($attr) && !isset($attr['selected']) ) {
|
74 |
geoip_detect2_enqueue_javascript('shortcode');
|
75 |
$select_attrs['class'] .= ' js-geoip-detect-country-select';
|
|
|
|
|
|
|
76 |
$select_attrs['data-options'] = wp_json_encode($shortcode_options);
|
77 |
} else {
|
78 |
if (!empty($attr['selected'])) {
|
@@ -91,6 +97,30 @@ function geoip_detect2_shortcode_country_select($attr) {
|
|
91 |
|
92 |
$countryInfo = new YellowTree\GeoipDetect\Geonames\CountryInformation();
|
93 |
$countries = $countryInfo->getAllCountries($shortcode_options['lang']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
if (!empty($attr['flag'])) {
|
96 |
array_walk($countries, function(&$value, $key) use($countryInfo) {
|
@@ -122,16 +152,18 @@ function geoip_detect2_shortcode_country_select($attr) {
|
|
122 |
$countries = apply_filters('geoip_detect2_shortcode_country_select_countries', $countries, $attr);
|
123 |
|
124 |
$html = '<select ' . _geoip_detect_flatten_html_attr($select_attrs) . '>';
|
125 |
-
if (!empty($attr['include_blank']) && $attr['include_blank'] !== 'false')
|
126 |
$html .= '<option value="">---</option>';
|
|
|
127 |
foreach ($countries as $code => $label) {
|
128 |
-
|
|
|
129 |
{
|
130 |
$html .= '<option data-c="" value="">' . esc_html($label) . '</option>';
|
131 |
}
|
132 |
else
|
133 |
{
|
134 |
-
$html .= '<option data-c="' . esc_attr(
|
135 |
}
|
136 |
}
|
137 |
$html .= '</select>';
|
48 |
* @param bool $required If the field is required or not
|
49 |
* @param string $class CSS Class of element
|
50 |
* @param string $lang Language(s) (optional. If not set, current site language is used.)
|
51 |
+
* @param string $selected Which country to select by default (2-letter ISO code.) (optional. If not set, the country will be detected by client ip.) (This parameter does not work with AJAX mode.)
|
52 |
* @param string $default Default Value that will be used if country cannot be detected (optional)
|
53 |
* @param string $include_blank If this value contains 'true', a empty value will be prepended ('---', i.e. no country) (optional)
|
54 |
* @param bool $flag If a flag should be added before the country name (In Windows, there are no flags, ISO-Country codes instead. This is a design choice by Windows.)
|
55 |
* @param bool $tel If the international code should be added after the country name
|
56 |
* @param bool $ajax 1: Execute this shortcode as AJAX | 0: Execute this shortcode on the server | Unset: Use the global settings (execute as AJAX if both 'AJAX' and 'Resolve shortcodes (via Ajax)' are enabled)
|
57 |
+
* @param bool $autosave 1: In Ajax mode, when the user changes the country, save his choice in his browser. (optional, Ajax mode only)
|
58 |
+
* @param string $list If used, only these countries will be shown. E.g. "it,de,uk" (optional)
|
59 |
*
|
60 |
* @return string The generated HTML
|
61 |
*/
|
62 |
function geoip_detect2_shortcode_country_select($attr) {
|
63 |
+
$attr['property'] = 'country.name';
|
64 |
$shortcode_options = _geoip_detect2_shortcode_options($attr);
|
65 |
|
66 |
+
$select_attrs = [
|
67 |
+
'name' => !empty($attr['name']) ? $attr['name'] : 'geoip-countries',
|
68 |
+
'id' => !empty($attr['id']) ? $attr['id'] : '',
|
69 |
+
'class' => !empty($attr['class']) ? $attr['class'] : 'geoip_detect2_countries',
|
70 |
+
'aria-required' => !empty($attr['required']) ? 'required' : '',
|
71 |
+
'aria-invalid' => !empty($attr['invalid']) ? $attr['invalid'] : '',
|
72 |
'autocomplete' => 'off',
|
73 |
+
];
|
74 |
|
75 |
$selected = '';
|
76 |
if (geoip_detect2_shortcode_is_ajax_mode($attr) && !isset($attr['selected']) ) {
|
77 |
geoip_detect2_enqueue_javascript('shortcode');
|
78 |
$select_attrs['class'] .= ' js-geoip-detect-country-select';
|
79 |
+
if (!empty($attr['autosave'])) {
|
80 |
+
$select_attrs['class'] .= ' js-geoip-detect-input-autosave';
|
81 |
+
}
|
82 |
$select_attrs['data-options'] = wp_json_encode($shortcode_options);
|
83 |
} else {
|
84 |
if (!empty($attr['selected'])) {
|
97 |
|
98 |
$countryInfo = new YellowTree\GeoipDetect\Geonames\CountryInformation();
|
99 |
$countries = $countryInfo->getAllCountries($shortcode_options['lang']);
|
100 |
+
|
101 |
+
if (!empty($attr['list'])) {
|
102 |
+
$list = wp_parse_list($attr['list']);
|
103 |
+
|
104 |
+
$allCountries = $countries;
|
105 |
+
|
106 |
+
$countries = [];
|
107 |
+
foreach($list as $key) {
|
108 |
+
if (str_starts_with($key,'blank_')) {
|
109 |
+
$countries[$key] = str_replace('_', ' ', mb_substr($key, 6));
|
110 |
+
} else {
|
111 |
+
$key = mb_strtoupper($key);
|
112 |
+
if (isset($allCountries[$key])) {
|
113 |
+
$countries[$key] = $allCountries[$key];
|
114 |
+
}
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
if ($selected && !isset($countries[$selected])) {
|
119 |
+
if (isset($attr['default'])) {
|
120 |
+
$selected = '';
|
121 |
+
}
|
122 |
+
}
|
123 |
+
}
|
124 |
|
125 |
if (!empty($attr['flag'])) {
|
126 |
array_walk($countries, function(&$value, $key) use($countryInfo) {
|
152 |
$countries = apply_filters('geoip_detect2_shortcode_country_select_countries', $countries, $attr);
|
153 |
|
154 |
$html = '<select ' . _geoip_detect_flatten_html_attr($select_attrs) . '>';
|
155 |
+
if (!empty($attr['include_blank']) && $attr['include_blank'] !== 'false') {
|
156 |
$html .= '<option value="">---</option>';
|
157 |
+
}
|
158 |
foreach ($countries as $code => $label) {
|
159 |
+
$code = mb_strtolower($code);
|
160 |
+
if (str_starts_with($code,'blank_'))
|
161 |
{
|
162 |
$html .= '<option data-c="" value="">' . esc_html($label) . '</option>';
|
163 |
}
|
164 |
else
|
165 |
{
|
166 |
+
$html .= '<option data-c="' . esc_attr($code). '"' . ($code == mb_strtolower($selected) ? ' selected="selected"' : '') . '>' . esc_html($label) . '</option>';
|
167 |
}
|
168 |
}
|
169 |
$html .= '</select>';
|
shortcodes/show_if.php
CHANGED
@@ -64,6 +64,9 @@
|
|
64 |
*
|
65 |
* Show TEXT if the visitor is from Berlin, otherwise show OTHER (since 4.1.0)
|
66 |
* `[geoip_detect2_show_if city="Berlin"]TEXT[else]OTHER[/geoip_detect2_show_if]`
|
|
|
|
|
|
|
67 |
*
|
68 |
* LIMITATIONS:
|
69 |
* - You cannot nest several of these shortcodes within one another. Instead, seperate them into several blocks of shortcodes.
|
@@ -90,12 +93,11 @@ function geoip_detect2_shortcode_show_if($attr, $content = '', $shortcodeName =
|
|
90 |
|
91 |
$shortcode_options['parsed'] = $parsed;
|
92 |
$span_attributes = [ 'class' => 'js-geoip-detect-show-if', 'style' => 'display: none !important' ];
|
93 |
-
$span_tagname = 'span'; // TODO: Should be 'div' under certain cirumstances, to test
|
94 |
|
95 |
-
$span_if = _geoip_detect2_create_placeholder(
|
96 |
|
97 |
$shortcode_options['parsed']['not'] = ($shortcode_options['parsed']['not'] === 1 ? 0 : 1); // negate
|
98 |
-
$span_else = _geoip_detect2_create_placeholder(
|
99 |
|
100 |
return $span_if . $span_else;
|
101 |
} else {
|
@@ -153,7 +155,7 @@ function geoip_detect2_shortcode_parse_conditions_from_attributes(array $attr, b
|
|
153 |
|
154 |
|
155 |
foreach ($attributeNames as $shortcodeParamName => $maxmindName) {
|
156 |
-
if (
|
157 |
$condition = [
|
158 |
'p' => $maxmindName,
|
159 |
'v' => geoip_detect2_shortcode_prepare_values($attr[$shortcodeParamName]),
|
@@ -166,14 +168,14 @@ function geoip_detect2_shortcode_parse_conditions_from_attributes(array $attr, b
|
|
166 |
}
|
167 |
|
168 |
// Custom property
|
169 |
-
if (
|
170 |
-
if (
|
171 |
$condition = [
|
172 |
'p' => $attr['property'],
|
173 |
'v' => geoip_detect2_shortcode_prepare_values($attr['property_value']),
|
174 |
];
|
175 |
$conditions[] = $condition;
|
176 |
-
} else if (
|
177 |
$condition = [
|
178 |
'p' => $attr['property'],
|
179 |
'v' => geoip_detect2_shortcode_prepare_values($attr['not_property_value']),
|
@@ -191,6 +193,7 @@ function geoip_detect2_shortcode_parse_conditions_from_attributes(array $attr, b
|
|
191 |
function geoip_detect2_shortcode_prepare_values(string $value) : string {
|
192 |
// Parse User Input Values of Attribute
|
193 |
$attributeValuesArray = explode(',', $value);
|
|
|
194 |
$attributeValuesArray = array_map('trim', $attributeValuesArray);
|
195 |
$attributeValuesArray = array_map('mb_strtolower', $attributeValuesArray);
|
196 |
|
@@ -230,7 +233,7 @@ function geoip_detect2_shortcode_evaluate_conditions(array $parsed, \GeoIp2\Mode
|
|
230 |
} else {
|
231 |
$values = [ $value ];
|
232 |
}
|
233 |
-
|
234 |
$subConditionMatching = geoip_detect2_shortcode_check_subcondition($condition['v'], $values);
|
235 |
|
236 |
} catch (\Exception $e) {
|
@@ -270,9 +273,16 @@ function geoip_detect2_shortcode_check_subcondition(string $expectedValues, arra
|
|
270 |
$actualValues = ['false', 'no', 'n', '0', ''];
|
271 |
}
|
272 |
}
|
273 |
-
|
274 |
$expectedValues = explode(',', $expectedValues);
|
275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
// Compare case-insensitively
|
277 |
$actualValues = array_map('mb_strtolower', $actualValues);
|
278 |
|
64 |
*
|
65 |
* Show TEXT if the visitor is from Berlin, otherwise show OTHER (since 4.1.0)
|
66 |
* `[geoip_detect2_show_if city="Berlin"]TEXT[else]OTHER[/geoip_detect2_show_if]`
|
67 |
+
*
|
68 |
+
* Show NO COUNTRY if no country was detected (since 4.3.0)
|
69 |
+
* `[geoip_detect2_show_if country=""]NO COUNTRY[/geoip_detect2_show_if]`
|
70 |
*
|
71 |
* LIMITATIONS:
|
72 |
* - You cannot nest several of these shortcodes within one another. Instead, seperate them into several blocks of shortcodes.
|
93 |
|
94 |
$shortcode_options['parsed'] = $parsed;
|
95 |
$span_attributes = [ 'class' => 'js-geoip-detect-show-if', 'style' => 'display: none !important' ];
|
|
|
96 |
|
97 |
+
$span_if = _geoip_detect2_create_placeholder('span', $span_attributes, $shortcode_options, do_shortcode($content_if));
|
98 |
|
99 |
$shortcode_options['parsed']['not'] = ($shortcode_options['parsed']['not'] === 1 ? 0 : 1); // negate
|
100 |
+
$span_else = _geoip_detect2_create_placeholder('span', $span_attributes, $shortcode_options, do_shortcode($content_else));
|
101 |
|
102 |
return $span_if . $span_else;
|
103 |
} else {
|
155 |
|
156 |
|
157 |
foreach ($attributeNames as $shortcodeParamName => $maxmindName) {
|
158 |
+
if (isset($attr[$shortcodeParamName])) {
|
159 |
$condition = [
|
160 |
'p' => $maxmindName,
|
161 |
'v' => geoip_detect2_shortcode_prepare_values($attr[$shortcodeParamName]),
|
168 |
}
|
169 |
|
170 |
// Custom property
|
171 |
+
if (isset($attr['property'])) {
|
172 |
+
if (isset($attr['property_value'])) {
|
173 |
$condition = [
|
174 |
'p' => $attr['property'],
|
175 |
'v' => geoip_detect2_shortcode_prepare_values($attr['property_value']),
|
176 |
];
|
177 |
$conditions[] = $condition;
|
178 |
+
} else if (isset($attr['not_property_value'])) {
|
179 |
$condition = [
|
180 |
'p' => $attr['property'],
|
181 |
'v' => geoip_detect2_shortcode_prepare_values($attr['not_property_value']),
|
193 |
function geoip_detect2_shortcode_prepare_values(string $value) : string {
|
194 |
// Parse User Input Values of Attribute
|
195 |
$attributeValuesArray = explode(',', $value);
|
196 |
+
|
197 |
$attributeValuesArray = array_map('trim', $attributeValuesArray);
|
198 |
$attributeValuesArray = array_map('mb_strtolower', $attributeValuesArray);
|
199 |
|
233 |
} else {
|
234 |
$values = [ $value ];
|
235 |
}
|
236 |
+
|
237 |
$subConditionMatching = geoip_detect2_shortcode_check_subcondition($condition['v'], $values);
|
238 |
|
239 |
} catch (\Exception $e) {
|
273 |
$actualValues = ['false', 'no', 'n', '0', ''];
|
274 |
}
|
275 |
}
|
276 |
+
|
277 |
$expectedValues = explode(',', $expectedValues);
|
278 |
|
279 |
+
if (in_array("", $expectedValues)) {
|
280 |
+
// Value is not defined in record?
|
281 |
+
if (count($actualValues) === 0) {
|
282 |
+
return true;
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
286 |
// Compare case-insensitively
|
287 |
$actualValues = array_map('mb_strtolower', $actualValues);
|
288 |
|
vendor/composer/ca-bundle/composer.json
CHANGED
@@ -30,7 +30,7 @@
|
|
30 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
31 |
"phpstan/phpstan": "^0.12.55",
|
32 |
"psr/log": "^1.0",
|
33 |
-
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
|
34 |
},
|
35 |
"autoload": {
|
36 |
"psr-4": {
|
30 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
31 |
"phpstan/phpstan": "^0.12.55",
|
32 |
"psr/log": "^1.0",
|
33 |
+
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
|
34 |
},
|
35 |
"autoload": {
|
36 |
"psr-4": {
|
vendor/composer/ca-bundle/res/cacert.pem
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
-
## Certificate data from Mozilla as of: Tue
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
@@ -14,7 +14,7 @@
|
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.28.
|
17 |
-
## SHA256:
|
18 |
##
|
19 |
|
20 |
|
@@ -132,87 +132,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
|
132 |
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
133 |
-----END CERTIFICATE-----
|
134 |
|
135 |
-
GeoTrust Global CA
|
136 |
-
==================
|
137 |
-
-----BEGIN CERTIFICATE-----
|
138 |
-
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
139 |
-
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
|
140 |
-
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
141 |
-
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
142 |
-
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
|
143 |
-
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
|
144 |
-
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
|
145 |
-
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
|
146 |
-
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
|
147 |
-
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
|
148 |
-
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
|
149 |
-
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
|
150 |
-
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
|
151 |
-
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
|
152 |
-
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
153 |
-
Mw==
|
154 |
-
-----END CERTIFICATE-----
|
155 |
-
|
156 |
-
GeoTrust Universal CA
|
157 |
-
=====================
|
158 |
-
-----BEGIN CERTIFICATE-----
|
159 |
-
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
-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
-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
-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
-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
-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
-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
-
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
|
167 |
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
183 |
-
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
|
184 |
-
-----END CERTIFICATE-----
|
185 |
-
|
186 |
-
GeoTrust Universal CA 2
|
187 |
-
=======================
|
188 |
-
-----BEGIN CERTIFICATE-----
|
189 |
-
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
-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
-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
-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
-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
-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
-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
-
JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
|
197 |
-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
-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
-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
-
ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
|
201 |
-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
-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
-
+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
-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
-
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
|
206 |
-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
-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
-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
-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
-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
-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
-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
|
213 |
-
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
214 |
-
-----END CERTIFICATE-----
|
215 |
-
|
216 |
Comodo AAA Services root
|
217 |
========================
|
218 |
-----BEGIN CERTIFICATE-----
|
@@ -237,38 +156,6 @@ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
|
237 |
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
238 |
-----END CERTIFICATE-----
|
239 |
|
240 |
-
QuoVadis Root CA
|
241 |
-
================
|
242 |
-
-----BEGIN CERTIFICATE-----
|
243 |
-
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
|
244 |
-
ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
245 |
-
eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
|
246 |
-
MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
|
247 |
-
cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
|
248 |
-
EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
|
249 |
-
AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
|
250 |
-
J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
|
251 |
-
F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
|
252 |
-
YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
|
253 |
-
AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
|
254 |
-
PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
|
255 |
-
ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
|
256 |
-
MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
|
257 |
-
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
|
258 |
-
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
|
259 |
-
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
|
260 |
-
Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
|
261 |
-
BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
|
262 |
-
FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
|
263 |
-
aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
|
264 |
-
tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
|
265 |
-
fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
|
266 |
-
LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
|
267 |
-
gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
|
268 |
-
5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
|
269 |
-
5nrQNiOKSnQ2+Q==
|
270 |
-
-----END CERTIFICATE-----
|
271 |
-
|
272 |
QuoVadis Root CA 2
|
273 |
==================
|
274 |
-----BEGIN CERTIFICATE-----
|
@@ -356,26 +243,6 @@ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
|
|
356 |
FL39vmwLAw==
|
357 |
-----END CERTIFICATE-----
|
358 |
|
359 |
-
Sonera Class 2 Root CA
|
360 |
-
======================
|
361 |
-
-----BEGIN CERTIFICATE-----
|
362 |
-
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
363 |
-
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
|
364 |
-
NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
365 |
-
IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
|
366 |
-
/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
|
367 |
-
dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
|
368 |
-
f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
|
369 |
-
tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
|
370 |
-
nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
|
371 |
-
XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
|
372 |
-
0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
|
373 |
-
cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
|
374 |
-
Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
|
375 |
-
EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
376 |
-
llpwrN9M
|
377 |
-
-----END CERTIFICATE-----
|
378 |
-
|
379 |
XRamp Global CA Root
|
380 |
====================
|
381 |
-----BEGIN CERTIFICATE-----
|
@@ -514,26 +381,6 @@ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
|
514 |
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
515 |
-----END CERTIFICATE-----
|
516 |
|
517 |
-
DST Root CA X3
|
518 |
-
==============
|
519 |
-
-----BEGIN CERTIFICATE-----
|
520 |
-
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
|
521 |
-
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
|
522 |
-
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
|
523 |
-
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
|
524 |
-
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
|
525 |
-
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
|
526 |
-
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
|
527 |
-
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
|
528 |
-
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
|
529 |
-
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
|
530 |
-
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
|
531 |
-
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
|
532 |
-
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
|
533 |
-
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
|
534 |
-
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
535 |
-
-----END CERTIFICATE-----
|
536 |
-
|
537 |
SwissSign Gold CA - G2
|
538 |
======================
|
539 |
-----BEGIN CERTIFICATE-----
|
@@ -596,78 +443,6 @@ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
|
|
596 |
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
|
597 |
-----END CERTIFICATE-----
|
598 |
|
599 |
-
GeoTrust Primary Certification Authority
|
600 |
-
========================================
|
601 |
-
-----BEGIN CERTIFICATE-----
|
602 |
-
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
|
603 |
-
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
|
604 |
-
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
|
605 |
-
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
|
606 |
-
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
607 |
-
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
|
608 |
-
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
|
609 |
-
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
|
610 |
-
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
|
611 |
-
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
612 |
-
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
|
613 |
-
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
|
614 |
-
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
|
615 |
-
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
|
616 |
-
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
|
617 |
-
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
618 |
-
-----END CERTIFICATE-----
|
619 |
-
|
620 |
-
thawte Primary Root CA
|
621 |
-
======================
|
622 |
-
-----BEGIN CERTIFICATE-----
|
623 |
-
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
|
624 |
-
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
625 |
-
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
626 |
-
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
|
627 |
-
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
|
628 |
-
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
|
629 |
-
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
|
630 |
-
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
|
631 |
-
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
|
632 |
-
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
|
633 |
-
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
|
634 |
-
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
|
635 |
-
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
|
636 |
-
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
|
637 |
-
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
|
638 |
-
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
639 |
-
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
|
640 |
-
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
|
641 |
-
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
|
642 |
-
-----END CERTIFICATE-----
|
643 |
-
|
644 |
-
VeriSign Class 3 Public Primary Certification Authority - G5
|
645 |
-
============================================================
|
646 |
-
-----BEGIN CERTIFICATE-----
|
647 |
-
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
|
648 |
-
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
649 |
-
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
650 |
-
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
|
651 |
-
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
|
652 |
-
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
|
653 |
-
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
|
654 |
-
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
|
655 |
-
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
656 |
-
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
|
657 |
-
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
|
658 |
-
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
|
659 |
-
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
|
660 |
-
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
|
661 |
-
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
|
662 |
-
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
663 |
-
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
|
664 |
-
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
|
665 |
-
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
|
666 |
-
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
|
667 |
-
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
|
668 |
-
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
669 |
-
-----END CERTIFICATE-----
|
670 |
-
|
671 |
SecureTrust CA
|
672 |
==============
|
673 |
-----BEGIN CERTIFICATE-----
|
@@ -871,136 +646,6 @@ vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
|
871 |
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
872 |
-----END CERTIFICATE-----
|
873 |
|
874 |
-
GeoTrust Primary Certification Authority - G3
|
875 |
-
=============================================
|
876 |
-
-----BEGIN CERTIFICATE-----
|
877 |
-
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
878 |
-
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
879 |
-
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
880 |
-
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
881 |
-
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
882 |
-
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
883 |
-
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
884 |
-
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
885 |
-
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
886 |
-
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
887 |
-
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
888 |
-
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
|
889 |
-
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
890 |
-
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
891 |
-
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
892 |
-
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
893 |
-
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
894 |
-
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
895 |
-
-----END CERTIFICATE-----
|
896 |
-
|
897 |
-
thawte Primary Root CA - G2
|
898 |
-
===========================
|
899 |
-
-----BEGIN CERTIFICATE-----
|
900 |
-
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
|
901 |
-
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
|
902 |
-
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
|
903 |
-
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
|
904 |
-
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
|
905 |
-
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
|
906 |
-
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
|
907 |
-
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
|
908 |
-
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
|
909 |
-
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
|
910 |
-
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
|
911 |
-
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
912 |
-
-----END CERTIFICATE-----
|
913 |
-
|
914 |
-
thawte Primary Root CA - G3
|
915 |
-
===========================
|
916 |
-
-----BEGIN CERTIFICATE-----
|
917 |
-
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
|
918 |
-
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
919 |
-
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
920 |
-
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
|
921 |
-
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
922 |
-
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
|
923 |
-
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
|
924 |
-
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
925 |
-
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
|
926 |
-
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
|
927 |
-
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
|
928 |
-
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
|
929 |
-
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
|
930 |
-
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
|
931 |
-
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
|
932 |
-
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
933 |
-
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
|
934 |
-
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
|
935 |
-
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
|
936 |
-
-----END CERTIFICATE-----
|
937 |
-
|
938 |
-
GeoTrust Primary Certification Authority - G2
|
939 |
-
=============================================
|
940 |
-
-----BEGIN CERTIFICATE-----
|
941 |
-
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
|
942 |
-
VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
|
943 |
-
Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
|
944 |
-
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
|
945 |
-
OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
|
946 |
-
MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
|
947 |
-
b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
|
948 |
-
BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
|
949 |
-
KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
|
950 |
-
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
|
951 |
-
EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
|
952 |
-
ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
|
953 |
-
npaqBA+K
|
954 |
-
-----END CERTIFICATE-----
|
955 |
-
|
956 |
-
VeriSign Universal Root Certification Authority
|
957 |
-
===============================================
|
958 |
-
-----BEGIN CERTIFICATE-----
|
959 |
-
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
|
960 |
-
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
961 |
-
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
962 |
-
IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
|
963 |
-
IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
|
964 |
-
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
965 |
-
cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
966 |
-
IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
|
967 |
-
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
|
968 |
-
1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
|
969 |
-
MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
|
970 |
-
9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
|
971 |
-
AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
|
972 |
-
tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
|
973 |
-
CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
|
974 |
-
a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
|
975 |
-
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
|
976 |
-
Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
|
977 |
-
Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
|
978 |
-
P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
|
979 |
-
wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
|
980 |
-
mJO37M2CYfE45k+XmCpajQ==
|
981 |
-
-----END CERTIFICATE-----
|
982 |
-
|
983 |
-
VeriSign Class 3 Public Primary Certification Authority - G4
|
984 |
-
============================================================
|
985 |
-
-----BEGIN CERTIFICATE-----
|
986 |
-
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
|
987 |
-
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
|
988 |
-
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
|
989 |
-
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
|
990 |
-
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
|
991 |
-
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
|
992 |
-
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
|
993 |
-
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
994 |
-
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
|
995 |
-
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
|
996 |
-
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
|
997 |
-
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
|
998 |
-
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
|
999 |
-
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
|
1000 |
-
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
|
1001 |
-
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
1002 |
-
-----END CERTIFICATE-----
|
1003 |
-
|
1004 |
NetLock Arany (Class Gold) Főtanúsítvány
|
1005 |
========================================
|
1006 |
-----BEGIN CERTIFICATE-----
|
@@ -1176,82 +821,6 @@ Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
|
|
1176 |
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
1177 |
-----END CERTIFICATE-----
|
1178 |
|
1179 |
-
Chambers of Commerce Root - 2008
|
1180 |
-
================================
|
1181 |
-
-----BEGIN CERTIFICATE-----
|
1182 |
-
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
|
1183 |
-
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
1184 |
-
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
1185 |
-
QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
|
1186 |
-
Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
|
1187 |
-
ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
|
1188 |
-
EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
|
1189 |
-
cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
1190 |
-
AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
|
1191 |
-
XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
|
1192 |
-
h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
|
1193 |
-
ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
|
1194 |
-
NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
|
1195 |
-
D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
|
1196 |
-
lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
|
1197 |
-
0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
|
1198 |
-
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
|
1199 |
-
EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
|
1200 |
-
G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
|
1201 |
-
BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
|
1202 |
-
bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
|
1203 |
-
bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
|
1204 |
-
CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
|
1205 |
-
AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
|
1206 |
-
wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
|
1207 |
-
3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
|
1208 |
-
RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
|
1209 |
-
M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
|
1210 |
-
YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
|
1211 |
-
9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
|
1212 |
-
zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
|
1213 |
-
nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
|
1214 |
-
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
|
1215 |
-
-----END CERTIFICATE-----
|
1216 |
-
|
1217 |
-
Global Chambersign Root - 2008
|
1218 |
-
==============================
|
1219 |
-
-----BEGIN CERTIFICATE-----
|
1220 |
-
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
|
1221 |
-
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
1222 |
-
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
1223 |
-
QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
|
1224 |
-
NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
|
1225 |
-
Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
|
1226 |
-
QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
|
1227 |
-
aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
|
1228 |
-
VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
|
1229 |
-
XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
|
1230 |
-
ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
|
1231 |
-
/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
|
1232 |
-
TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
|
1233 |
-
H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
|
1234 |
-
Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
|
1235 |
-
HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
|
1236 |
-
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
|
1237 |
-
AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
|
1238 |
-
BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
|
1239 |
-
BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
|
1240 |
-
aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
|
1241 |
-
aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
|
1242 |
-
1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
|
1243 |
-
dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
|
1244 |
-
/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
|
1245 |
-
ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
|
1246 |
-
dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
|
1247 |
-
9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
|
1248 |
-
foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
|
1249 |
-
qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
|
1250 |
-
P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
|
1251 |
-
c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
|
1252 |
-
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
|
1253 |
-
-----END CERTIFICATE-----
|
1254 |
-
|
1255 |
Go Daddy Root Certificate Authority - G2
|
1256 |
========================================
|
1257 |
-----BEGIN CERTIFICATE-----
|
@@ -1553,27 +1122,6 @@ OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
|
|
1553 |
vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
1554 |
-----END CERTIFICATE-----
|
1555 |
|
1556 |
-
Trustis FPS Root CA
|
1557 |
-
===================
|
1558 |
-
-----BEGIN CERTIFICATE-----
|
1559 |
-
MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
|
1560 |
-
EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
|
1561 |
-
IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
|
1562 |
-
BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
|
1563 |
-
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
|
1564 |
-
RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
|
1565 |
-
H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
|
1566 |
-
cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
|
1567 |
-
o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
|
1568 |
-
AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
|
1569 |
-
BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
|
1570 |
-
GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
|
1571 |
-
yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
|
1572 |
-
8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
|
1573 |
-
l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
|
1574 |
-
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
1575 |
-
-----END CERTIFICATE-----
|
1576 |
-
|
1577 |
Buypass Class 2 Root CA
|
1578 |
=======================
|
1579 |
-----BEGIN CERTIFICATE-----
|
@@ -2218,36 +1766,6 @@ uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
|
|
2218 |
yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
|
2219 |
-----END CERTIFICATE-----
|
2220 |
|
2221 |
-
Staat der Nederlanden Root CA - G3
|
2222 |
-
==================================
|
2223 |
-
-----BEGIN CERTIFICATE-----
|
2224 |
-
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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
2249 |
-
-----END CERTIFICATE-----
|
2250 |
-
|
2251 |
Staat der Nederlanden EV Root CA
|
2252 |
================================
|
2253 |
-----BEGIN CERTIFICATE-----
|
@@ -3433,3 +2951,282 @@ HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn
|
|
3433 |
ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl
|
3434 |
CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw==
|
3435 |
-----END CERTIFICATE-----
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
+
## Certificate data from Mozilla as of: Tue Oct 26 03:12:05 2021 GMT
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.28.
|
17 |
+
## SHA256: bb36818a81feaa4cca61101e6d6276cd09e972efcb08112dfed846918ca41d7f
|
18 |
##
|
19 |
|
20 |
|
132 |
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
133 |
-----END CERTIFICATE-----
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
Comodo AAA Services root
|
136 |
========================
|
137 |
-----BEGIN CERTIFICATE-----
|
156 |
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
157 |
-----END CERTIFICATE-----
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
QuoVadis Root CA 2
|
160 |
==================
|
161 |
-----BEGIN CERTIFICATE-----
|
243 |
FL39vmwLAw==
|
244 |
-----END CERTIFICATE-----
|
245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
XRamp Global CA Root
|
247 |
====================
|
248 |
-----BEGIN CERTIFICATE-----
|
381 |
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
382 |
-----END CERTIFICATE-----
|
383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
SwissSign Gold CA - G2
|
385 |
======================
|
386 |
-----BEGIN CERTIFICATE-----
|
443 |
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
|
444 |
-----END CERTIFICATE-----
|
445 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
SecureTrust CA
|
447 |
==============
|
448 |
-----BEGIN CERTIFICATE-----
|
646 |
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
647 |
-----END CERTIFICATE-----
|
648 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
NetLock Arany (Class Gold) Főtanúsítvány
|
650 |
========================================
|
651 |
-----BEGIN CERTIFICATE-----
|
821 |
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
822 |
-----END CERTIFICATE-----
|
823 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
824 |
Go Daddy Root Certificate Authority - G2
|
825 |
========================================
|
826 |
-----BEGIN CERTIFICATE-----
|
1122 |
vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
1123 |
-----END CERTIFICATE-----
|
1124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1125 |
Buypass Class 2 Root CA
|
1126 |
=======================
|
1127 |
-----BEGIN CERTIFICATE-----
|
1766 |
yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
|
1767 |
-----END CERTIFICATE-----
|
1768 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1769 |
Staat der Nederlanden EV Root CA
|
1770 |
================================
|
1771 |
-----BEGIN CERTIFICATE-----
|
2951 |
ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl
|
2952 |
CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw==
|
2953 |
-----END CERTIFICATE-----
|
2954 |
+
|
2955 |
+
NAVER Global Root Certification Authority
|
2956 |
+
=========================================
|
2957 |
+
-----BEGIN CERTIFICATE-----
|
2958 |
+
MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG
|
2959 |
+
A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD
|
2960 |
+
DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4
|
2961 |
+
NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT
|
2962 |
+
UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv
|
2963 |
+
biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb
|
2964 |
+
UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW
|
2965 |
+
+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7
|
2966 |
+
XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2
|
2967 |
+
aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4
|
2968 |
+
Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z
|
2969 |
+
VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B
|
2970 |
+
A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai
|
2971 |
+
cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy
|
2972 |
+
YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV
|
2973 |
+
HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
|
2974 |
+
Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK
|
2975 |
+
21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB
|
2976 |
+
jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx
|
2977 |
+
hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg
|
2978 |
+
E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH
|
2979 |
+
D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ
|
2980 |
+
A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY
|
2981 |
+
qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG
|
2982 |
+
I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg
|
2983 |
+
kpzNNIaRkPpkUZ3+/uul9XXeifdy
|
2984 |
+
-----END CERTIFICATE-----
|
2985 |
+
|
2986 |
+
AC RAIZ FNMT-RCM SERVIDORES SEGUROS
|
2987 |
+
===================================
|
2988 |
+
-----BEGIN CERTIFICATE-----
|
2989 |
+
MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF
|
2990 |
+
UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy
|
2991 |
+
NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4
|
2992 |
+
MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt
|
2993 |
+
UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB
|
2994 |
+
QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
2995 |
+
BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2
|
2996 |
+
LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw
|
2997 |
+
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG
|
2998 |
+
SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD
|
2999 |
+
zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c=
|
3000 |
+
-----END CERTIFICATE-----
|
3001 |
+
|
3002 |
+
GlobalSign Root R46
|
3003 |
+
===================
|
3004 |
+
-----BEGIN CERTIFICATE-----
|
3005 |
+
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
|
3029 |
+
QEUxeCp6
|
3030 |
+
-----END CERTIFICATE-----
|
3031 |
+
|
3032 |
+
GlobalSign Root E46
|
3033 |
+
===================
|
3034 |
+
-----BEGIN CERTIFICATE-----
|
3035 |
+
MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT
|
3036 |
+
AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg
|
3037 |
+
RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV
|
3038 |
+
BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq
|
3039 |
+
hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB
|
3040 |
+
jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj
|
3041 |
+
QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL
|
3042 |
+
gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk
|
3043 |
+
vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+
|
3044 |
+
CAezNIm8BZ/3Hobui3A=
|
3045 |
+
-----END CERTIFICATE-----
|
3046 |
+
|
3047 |
+
GLOBALTRUST 2020
|
3048 |
+
================
|
3049 |
+
-----BEGIN CERTIFICATE-----
|
3050 |
+
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
|
3075 |
+
-----END CERTIFICATE-----
|
3076 |
+
|
3077 |
+
ANF Secure Server Root CA
|
3078 |
+
=========================
|
3079 |
+
-----BEGIN CERTIFICATE-----
|
3080 |
+
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
|
3107 |
+
-----END CERTIFICATE-----
|
3108 |
+
|
3109 |
+
Certum EC-384 CA
|
3110 |
+
================
|
3111 |
+
-----BEGIN CERTIFICATE-----
|
3112 |
+
MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ
|
3113 |
+
TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy
|
3114 |
+
dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2
|
3115 |
+
MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh
|
3116 |
+
dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
|
3117 |
+
GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq
|
3118 |
+
vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn
|
3119 |
+
iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
3120 |
+
VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo
|
3121 |
+
ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0
|
3122 |
+
QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k=
|
3123 |
+
-----END CERTIFICATE-----
|
3124 |
+
|
3125 |
+
Certum Trusted Root CA
|
3126 |
+
======================
|
3127 |
+
-----BEGIN CERTIFICATE-----
|
3128 |
+
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
|
3154 |
+
-----END CERTIFICATE-----
|
3155 |
+
|
3156 |
+
TunTrust Root CA
|
3157 |
+
================
|
3158 |
+
-----BEGIN CERTIFICATE-----
|
3159 |
+
MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG
|
3160 |
+
A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj
|
3161 |
+
dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw
|
3162 |
+
NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD
|
3163 |
+
ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw
|
3164 |
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz
|
3165 |
+
2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b
|
3166 |
+
bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7
|
3167 |
+
NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd
|
3168 |
+
gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW
|
3169 |
+
VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f
|
3170 |
+
Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ
|
3171 |
+
juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas
|
3172 |
+
DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS
|
3173 |
+
VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI
|
3174 |
+
04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0
|
3175 |
+
90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl
|
3176 |
+
0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd
|
3177 |
+
Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY
|
3178 |
+
YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp
|
3179 |
+
adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x
|
3180 |
+
xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP
|
3181 |
+
jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM
|
3182 |
+
MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z
|
3183 |
+
ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r
|
3184 |
+
AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o=
|
3185 |
+
-----END CERTIFICATE-----
|
3186 |
+
|
3187 |
+
HARICA TLS RSA Root CA 2021
|
3188 |
+
===========================
|
3189 |
+
-----BEGIN CERTIFICATE-----
|
3190 |
+
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
|
3215 |
+
kf3/W9b3raYvAwtt41dU63ZTGI0RmLo=
|
3216 |
+
-----END CERTIFICATE-----
|
3217 |
+
|
3218 |
+
HARICA TLS ECC Root CA 2021
|
3219 |
+
===========================
|
3220 |
+
-----BEGIN CERTIFICATE-----
|
3221 |
+
MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH
|
3222 |
+
UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD
|
3223 |
+
QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX
|
3224 |
+
DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj
|
3225 |
+
IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv
|
3226 |
+
b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l
|
3227 |
+
AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b
|
3228 |
+
ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW
|
3229 |
+
0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi
|
3230 |
+
rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw
|
3231 |
+
CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps
|
3232 |
+
-----END CERTIFICATE-----
|
vendor/composer/ca-bundle/src/CaBundle.php
CHANGED
@@ -108,7 +108,7 @@ class CaBundle
|
|
108 |
return self::$caPath = $caBundle;
|
109 |
}
|
110 |
|
111 |
-
if ($caBundle && self::caDirUsable($caBundle)) {
|
112 |
return self::$caPath = $caBundle;
|
113 |
}
|
114 |
}
|
@@ -335,19 +335,97 @@ EOT;
|
|
335 |
|
336 |
/**
|
337 |
* @param string|false $certFile
|
|
|
338 |
* @return bool
|
339 |
*/
|
340 |
private static function caFileUsable($certFile, LoggerInterface $logger = null)
|
341 |
{
|
342 |
-
return $certFile
|
|
|
|
|
|
|
343 |
}
|
344 |
|
345 |
/**
|
346 |
* @param string|false $certDir
|
|
|
347 |
* @return bool
|
348 |
*/
|
349 |
-
private static function caDirUsable($certDir)
|
350 |
{
|
351 |
-
return $certDir
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
}
|
353 |
}
|
108 |
return self::$caPath = $caBundle;
|
109 |
}
|
110 |
|
111 |
+
if ($caBundle && self::caDirUsable($caBundle, $logger)) {
|
112 |
return self::$caPath = $caBundle;
|
113 |
}
|
114 |
}
|
335 |
|
336 |
/**
|
337 |
* @param string|false $certFile
|
338 |
+
* @param LoggerInterface|null $logger
|
339 |
* @return bool
|
340 |
*/
|
341 |
private static function caFileUsable($certFile, LoggerInterface $logger = null)
|
342 |
{
|
343 |
+
return $certFile
|
344 |
+
&& static::isFile($certFile, $logger)
|
345 |
+
&& static::isReadable($certFile, $logger)
|
346 |
+
&& static::validateCaFile($certFile, $logger);
|
347 |
}
|
348 |
|
349 |
/**
|
350 |
* @param string|false $certDir
|
351 |
+
* @param LoggerInterface|null $logger
|
352 |
* @return bool
|
353 |
*/
|
354 |
+
private static function caDirUsable($certDir, LoggerInterface $logger = null)
|
355 |
{
|
356 |
+
return $certDir
|
357 |
+
&& static::isDir($certDir, $logger)
|
358 |
+
&& static::isReadable($certDir, $logger)
|
359 |
+
&& static::glob($certDir . '/*', $logger);
|
360 |
+
}
|
361 |
+
|
362 |
+
/**
|
363 |
+
* @param string $certFile
|
364 |
+
* @param LoggerInterface|null $logger
|
365 |
+
* @return bool
|
366 |
+
*/
|
367 |
+
private static function isFile($certFile, LoggerInterface $logger = null)
|
368 |
+
{
|
369 |
+
$isFile = @is_file($certFile);
|
370 |
+
if (!$isFile && $logger) {
|
371 |
+
$logger->debug(sprintf('Checked CA file %s does not exist or it is not a file.', $certFile));
|
372 |
+
}
|
373 |
+
|
374 |
+
return $isFile;
|
375 |
+
}
|
376 |
+
|
377 |
+
/**
|
378 |
+
* @param string $certDir
|
379 |
+
* @param LoggerInterface|null $logger
|
380 |
+
* @return bool
|
381 |
+
*/
|
382 |
+
private static function isDir($certDir, LoggerInterface $logger = null)
|
383 |
+
{
|
384 |
+
$isDir = @is_dir($certDir);
|
385 |
+
if (!$isDir && $logger) {
|
386 |
+
$logger->debug(sprintf('Checked directory %s does not exist or it is not a directory.', $certDir));
|
387 |
+
}
|
388 |
+
|
389 |
+
return $isDir;
|
390 |
+
}
|
391 |
+
|
392 |
+
/**
|
393 |
+
* @param string $certFileOrDir
|
394 |
+
* @param LoggerInterface|null $logger
|
395 |
+
* @return bool
|
396 |
+
*/
|
397 |
+
private static function isReadable($certFileOrDir, LoggerInterface $logger = null)
|
398 |
+
{
|
399 |
+
$isReadable = @is_readable($certFileOrDir);
|
400 |
+
if (!$isReadable && $logger) {
|
401 |
+
$logger->debug(sprintf('Checked file or directory %s is not readable.', $certFileOrDir));
|
402 |
+
}
|
403 |
+
|
404 |
+
return $isReadable;
|
405 |
+
}
|
406 |
+
|
407 |
+
/**
|
408 |
+
* @param string $pattern
|
409 |
+
* @param LoggerInterface|null $logger
|
410 |
+
* @return bool
|
411 |
+
*/
|
412 |
+
private static function glob($pattern, LoggerInterface $logger = null)
|
413 |
+
{
|
414 |
+
$certs = glob($pattern);
|
415 |
+
if ($certs === false) {
|
416 |
+
if ($logger) {
|
417 |
+
$logger->debug(sprintf("An error occurred while trying to find certificates for pattern: %s", $pattern));
|
418 |
+
}
|
419 |
+
return false;
|
420 |
+
}
|
421 |
+
|
422 |
+
if (count($certs) === 0) {
|
423 |
+
if ($logger) {
|
424 |
+
$logger->debug(sprintf("No CA files found for pattern: %s", $pattern));
|
425 |
+
}
|
426 |
+
return false;
|
427 |
+
}
|
428 |
+
|
429 |
+
return true;
|
430 |
}
|
431 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/ca-bundle",
|
4 |
-
"version": "1.
|
5 |
-
"version_normalized": "1.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/ca-bundle.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
@@ -23,9 +23,9 @@
|
|
23 |
"phpstan/phpstan": "^0.12.55",
|
24 |
"psr/log": "^1.0",
|
25 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
26 |
-
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
|
27 |
},
|
28 |
-
"time": "2021-
|
29 |
"type": "library",
|
30 |
"extra": {
|
31 |
"branch-alias": {
|
@@ -56,6 +56,20 @@
|
|
56 |
"certificate",
|
57 |
"ssl",
|
58 |
"tls"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
]
|
60 |
},
|
61 |
{
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/ca-bundle",
|
4 |
+
"version": "1.3.1",
|
5 |
+
"version_normalized": "1.3.1.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/ca-bundle.git",
|
9 |
+
"reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b",
|
14 |
+
"reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
23 |
"phpstan/phpstan": "^0.12.55",
|
24 |
"psr/log": "^1.0",
|
25 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
26 |
+
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
|
27 |
},
|
28 |
+
"time": "2021-10-28T20:44:15+00:00",
|
29 |
"type": "library",
|
30 |
"extra": {
|
31 |
"branch-alias": {
|
56 |
"certificate",
|
57 |
"ssl",
|
58 |
"tls"
|
59 |
+
],
|
60 |
+
"funding": [
|
61 |
+
{
|
62 |
+
"url": "https://packagist.com",
|
63 |
+
"type": "custom"
|
64 |
+
},
|
65 |
+
{
|
66 |
+
"url": "https://github.com/composer",
|
67 |
+
"type": "github"
|
68 |
+
},
|
69 |
+
{
|
70 |
+
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
|
71 |
+
"type": "tidelift"
|
72 |
+
}
|
73 |
]
|
74 |
},
|
75 |
{
|
vendor/geoip2/geoip2/src/Model/AbstractModel.php
CHANGED
@@ -60,6 +60,8 @@ abstract class AbstractModel implements \JsonSerializable
|
|
60 |
return $attr !== 'instance' && isset($this->$attr);
|
61 |
}
|
62 |
|
|
|
|
|
63 |
public function jsonSerialize()
|
64 |
{
|
65 |
return $this->raw;
|
60 |
return $attr !== 'instance' && isset($this->$attr);
|
61 |
}
|
62 |
|
63 |
+
// PHP 8.1 : jsonSerialize(): mixed
|
64 |
+
#[\ReturnTypeWillChange]
|
65 |
public function jsonSerialize()
|
66 |
{
|
67 |
return $this->raw;
|
vendor/geoip2/geoip2/src/Record/AbstractRecord.php
CHANGED
@@ -54,6 +54,7 @@ abstract class AbstractRecord implements \JsonSerializable
|
|
54 |
return \in_array($attr, $this->validAttributes, true);
|
55 |
}
|
56 |
|
|
|
57 |
public function jsonSerialize()
|
58 |
{
|
59 |
return $this->record;
|
54 |
return \in_array($attr, $this->validAttributes, true);
|
55 |
}
|
56 |
|
57 |
+
#[\ReturnTypeWillChange]
|
58 |
public function jsonSerialize()
|
59 |
{
|
60 |
return $this->record;
|
views/lookup.php
CHANGED
@@ -6,6 +6,15 @@ $registry = DataSourceRegistry::getInstance();
|
|
6 |
$current_source = $registry->getCurrentSource();
|
7 |
$can_be_cached = $registry->isSourceCachable($current_source->getId());
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
$is_ajax_enabled = !!get_option('geoip-detect-ajax_enabled');
|
11 |
|
@@ -57,7 +66,7 @@ function var_export_short($data, $return=true)
|
|
57 |
</p>
|
58 |
|
59 |
<p>
|
60 |
-
<b><?= __('Your current IP:', 'geoip-detect');?></b> <?php echo
|
61 |
<a href="options-general.php?page=<?php echo GEOIP_PLUGIN_BASENAME ?>&geoip_detect_part=client-ip">(<?= __('Not correct?', 'geoip-detect');?>)</a>
|
62 |
<?php if (geoip_detect_is_internal_ip(geoip_detect2_get_client_ip())) : ?>
|
63 |
<br><i>(<?php printf(__('This is an IP internal to your network. When looking up this IP, it will use the external IP of the server instead: %s', 'geoip-detect'), geoip_detect2_get_external_ip_adress()); ?>)</i>
|
@@ -84,6 +93,7 @@ function var_export_short($data, $return=true)
|
|
84 |
</select>
|
85 |
</label><br>
|
86 |
<label><input type="checkbox" name="skip_cache" value="1" <?php if (!empty($_POST['skip_cache'])) echo 'checked="checked"'?>/><?= __('Skip cache', 'geoip-detect')?></label><br />
|
|
|
87 |
<br />
|
88 |
<input type="submit" class="button button-primary" value="<?= __('Lookup', 'geoip-detect'); ?>" />
|
89 |
</form>
|
@@ -109,7 +119,7 @@ function var_export_short($data, $return=true)
|
|
109 |
<?php endif; ?>
|
110 |
<p>
|
111 |
<?php if ($_POST['syntax'] == 'php') : ?>
|
112 |
-
<?php printf(__('The function %s returns an object:', 'geoip-detect'),
|
113 |
<?= sprintf(__('See %s for more information.', 'geoip-detect'), '<a href="https://github.com/yellowtree/geoip-detect/wiki/API:-PHP">API: PHP</a>'); ?>
|
114 |
<?php elseif ($_POST['syntax'] == 'shortcode') : ?>
|
115 |
<?= sprintf(__('You can use the following shortcodes.', 'geoip-detect')); ?><br />
|
@@ -120,8 +130,9 @@ function var_export_short($data, $return=true)
|
|
120 |
<?php endif; ?>
|
121 |
</p>
|
122 |
<p>
|
123 |
-
<?php printf(__('Lookup duration: %.
|
124 |
-
<?php if ($record->extra->cached) : ?><i><?= __('(From cache.)', 'geoip-detect');?></i><?php endif;
|
|
|
125 |
</p>
|
126 |
<?php if ($record->isEmpty) : ?>
|
127 |
<p class="geoip_detect_error">
|
6 |
$current_source = $registry->getCurrentSource();
|
7 |
$can_be_cached = $registry->isSourceCachable($current_source->getId());
|
8 |
|
9 |
+
if (!empty($request_ip)) {
|
10 |
+
$code = "<code>\$record = ";
|
11 |
+
if ($request_ip == $current_ip) {
|
12 |
+
$code .= "geoip_detect2_get_info_from_current_ip(";
|
13 |
+
} else {
|
14 |
+
$code .= "geoip_detect2_get_info_from_ip('" . esc_html($request_ip) . "', ";
|
15 |
+
}
|
16 |
+
$code .= var_export_short($request_locales, true) . ($request_skipCache ? ', [ \'skipCache\' => TRUE ]' : '') .");</code>";
|
17 |
+
}
|
18 |
|
19 |
$is_ajax_enabled = !!get_option('geoip-detect-ajax_enabled');
|
20 |
|
66 |
</p>
|
67 |
|
68 |
<p>
|
69 |
+
<b><?= __('Your current IP:', 'geoip-detect');?></b> <?php echo $current_ip; ?>
|
70 |
<a href="options-general.php?page=<?php echo GEOIP_PLUGIN_BASENAME ?>&geoip_detect_part=client-ip">(<?= __('Not correct?', 'geoip-detect');?>)</a>
|
71 |
<?php if (geoip_detect_is_internal_ip(geoip_detect2_get_client_ip())) : ?>
|
72 |
<br><i>(<?php printf(__('This is an IP internal to your network. When looking up this IP, it will use the external IP of the server instead: %s', 'geoip-detect'), geoip_detect2_get_external_ip_adress()); ?>)</i>
|
93 |
</select>
|
94 |
</label><br>
|
95 |
<label><input type="checkbox" name="skip_cache" value="1" <?php if (!empty($_POST['skip_cache'])) echo 'checked="checked"'?>/><?= __('Skip cache', 'geoip-detect')?></label><br />
|
96 |
+
<label><input type="checkbox" name="skip_local_cache" value="1" <?php if (!empty($_POST['skip_local_cache'])) echo 'checked="checked"'?>/><?= __('Skip local cache (only works for <code>geoip_detect2_get_info_from_current_ip</code>)', 'geoip-detect')?></label><br />
|
97 |
<br />
|
98 |
<input type="submit" class="button button-primary" value="<?= __('Lookup', 'geoip-detect'); ?>" />
|
99 |
</form>
|
119 |
<?php endif; ?>
|
120 |
<p>
|
121 |
<?php if ($_POST['syntax'] == 'php') : ?>
|
122 |
+
<?php printf(__('The function %s returns an object:', 'geoip-detect'), $code); ?><br />
|
123 |
<?= sprintf(__('See %s for more information.', 'geoip-detect'), '<a href="https://github.com/yellowtree/geoip-detect/wiki/API:-PHP">API: PHP</a>'); ?>
|
124 |
<?php elseif ($_POST['syntax'] == 'shortcode') : ?>
|
125 |
<?= sprintf(__('You can use the following shortcodes.', 'geoip-detect')); ?><br />
|
130 |
<?php endif; ?>
|
131 |
</p>
|
132 |
<p>
|
133 |
+
<?php printf(__('Lookup duration: %.2f ms', 'geoip-detect'), $ip_lookup_duration * 1000); ?>
|
134 |
+
<?php if ($record->extra->cached) : ?><i><?= __('(From cache.)', 'geoip-detect');?></i><?php endif; ?><br>
|
135 |
+
<?php printf(__('Lookup duration when called for the second time in the same request: %.4f ms', 'geoip-detect'), $ip_lookup_2nd_duration * 1000); ?>
|
136 |
</p>
|
137 |
<?php if ($record->isEmpty) : ?>
|
138 |
<p class="geoip_detect_error">
|