diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 2433b9809..cc21eef86 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -686,7 +686,7 @@ class Context public function checkSSO() { // pass if it's not GET request or XE is not yet installed - if(!config('use_sso') || isCrawler()) + if(!config('use_sso') || Rhymix\Framework\UA::isRobot()) { return TRUE; } diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 5bfe6f292..cc38f6416 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -8,7 +8,6 @@ */ class FileHandler { - /** * Changes path of target file, directory into absolute path * @@ -17,12 +16,7 @@ class FileHandler */ public static function getRealPath($source) { - if(strlen($source) >= 2 && substr_compare($source, './', 0, 2) === 0) - { - return _XE_PATH_ . substr($source, 2); - } - - return $source; + return (strncmp($source, './', 2) === 0) ? (\RX_BASEDIR . substr($source, 2)) : $source; } /** @@ -33,64 +27,11 @@ class FileHandler * @param string $source_dir Path of source directory * @param string $target_dir Path of target dir * @param string $filter Regex to filter files. If file matches this regex, the file is not copied. - * @param string $type If set as 'force'. Even if the file exists in target, the file is copied. * @return void */ - public static function copyDir($source_dir, $target_dir, $filter = null, $type = null) + public static function copyDir($source_dir, $target_dir, $filter = null) { - $source_dir = self::getRealPath($source_dir); - $target_dir = self::getRealPath($target_dir); - if(!is_dir($source_dir)) - { - return FALSE; - } - - // generate when no target exists - self::makeDir($target_dir); - - if(substr($source_dir, -1) != DIRECTORY_SEPARATOR) - { - $source_dir .= DIRECTORY_SEPARATOR; - } - - if(substr($target_dir, -1) != DIRECTORY_SEPARATOR) - { - $target_dir .= DIRECTORY_SEPARATOR; - } - - $oDir = dir($source_dir); - while($file = $oDir->read()) - { - if($file{0} == '.') - { - continue; - } - - if($filter && preg_match($filter, $file)) - { - continue; - } - - if(is_dir($source_dir . $file)) - { - self::copyDir($source_dir . $file, $target_dir . $file, $type); - } - else - { - if($type == 'force') - { - @unlink($target_dir . $file); - } - else - { - if(!file_exists($target_dir . $file)) - { - @copy($source_dir . $file, $target_dir . $file); - } - } - } - } - $oDir->close(); + return Rhymix\Framework\Storage::copyDirectory(self::getRealPath($source_dir), self::getRealPath($target_dir), $filter); } /** @@ -104,18 +45,7 @@ class FileHandler public static function copyFile($source, $target, $force = 'Y') { setlocale(LC_CTYPE, 'en_US.UTF8', 'ko_KR.UTF8'); - $source = self::getRealPath($source); - $target_dir = self::getRealPath(dirname($target)); - $target = basename($target); - - self::makeDir($target_dir); - - if($force == 'Y') - { - @unlink($target_dir . DIRECTORY_SEPARATOR . $target); - } - - @copy($source, $target_dir . DIRECTORY_SEPARATOR . $target); + return Rhymix\Framework\Storage::copy(self::getRealPath($source), self::getRealPath($target)); } /** @@ -126,12 +56,7 @@ class FileHandler */ public static function readFile($filename) { - if(($filename = self::exists($filename)) === FALSE || filesize($filename) < 1) - { - return; - } - - return @file_get_contents($filename); + return Rhymix\Framework\Storage::read(self::getRealPath($filename)); } /** @@ -144,22 +69,7 @@ class FileHandler */ public static function writeFile($filename, $buff, $mode = "w") { - $filename = self::getRealPath($filename); - $pathinfo = pathinfo($filename); - self::makeDir($pathinfo['dirname']); - - $flags = 0; - if(strtolower($mode) == 'a') - { - $flags = FILE_APPEND; - } - - @file_put_contents($filename, $buff, $flags|LOCK_EX); - @chmod($filename, 0644); - if(function_exists('opcache_invalidate') && substr($filename, -4) === '.php') - { - @opcache_invalidate($filename, true); - } + return Rhymix\Framework\Storage::write(self::getRealPath($filename), $buff, $mode); } /** @@ -170,16 +80,7 @@ class FileHandler */ public static function removeFile($filename) { - if(($filename = self::exists($filename)) === false) - { - return false; - } - $status = @unlink($filename); - if(function_exists('opcache_invalidate') && substr($filename, -4) === '.php') - { - @opcache_invalidate($filename, true); - } - return $status; + return Rhymix\Framework\Storage::delete(self::getRealPath($filename)); } /** @@ -193,7 +94,7 @@ class FileHandler */ public static function rename($source, $target) { - return @rename(self::getRealPath($source), self::getRealPath($target)); + return Rhymix\Framework\Storage::move(self::getRealPath($source), self::getRealPath($target)); } /** @@ -205,12 +106,7 @@ class FileHandler */ public static function moveFile($source, $target) { - if(($source = self::exists($source)) !== FALSE) - { - self::removeFile($target); - return self::rename($source, $target); - } - return FALSE; + return Rhymix\Framework\Storage::move(self::getRealPath($source), self::getRealPath($target)); } /** @@ -224,7 +120,7 @@ class FileHandler */ public static function moveDir($source_dir, $target_dir) { - self::rename($source_dir, $target_dir); + return Rhymix\Framework\Storage::move(self::getRealPath($source_dir), self::getRealPath($target_dir)); } /** @@ -240,45 +136,31 @@ class FileHandler */ public static function readDir($path, $filter = '', $to_lower = FALSE, $concat_prefix = FALSE) { - $path = self::getRealPath($path); + $list = Rhymix\Framework\Storage::readDirectory(self::getRealPath($path), $concat_prefix, true, false); + if (!$list) + { + return array(); + } + $output = array(); - - if(substr($path, -1) != '/') + foreach ($list as $filename) { - $path .= '/'; - } - - if(!is_dir($path)) - { - return $output; - } - - $files = scandir($path); - foreach($files as $file) - { - if($file{0} == '.' || ($filter && !preg_match($filter, $file))) + $filename = str_replace(array('/\\', '//'), '/', $filename); + $basename = $concat_prefix ? basename($filename) : $filename; + if ($basename[0] === '.' || ($filter && !preg_match($filter, $basename))) { continue; } - - if($to_lower) + if ($to_lower) { - $file = strtolower($file); + $filename = strtolower($filename); } - if($filter) { - $file = preg_replace($filter, '$1', $file); + $filename = preg_replace($filter, '$1', $filename); } - - if($concat_prefix) - { - $file = sprintf('%s%s', str_replace(_XE_PATH_, '', $path), $file); - } - - $output[] = str_replace(array('/\\', '//'), '/', $file); + $output[] = $filename; } - return $output; } @@ -292,16 +174,11 @@ class FileHandler */ public static function makeDir($path_string) { - if(self::exists($path_string) !== FALSE) + if (!ini_get('safe_mode')) { - return TRUE; - } - - if(!ini_get('safe_mode')) - { - @mkdir($path_string, 0755, TRUE); - @chmod($path_string, 0755); + return Rhymix\Framework\Storage::createDirectory(self::getRealPath($path_string)); } + // if safe_mode is on, use FTP else { @@ -372,37 +249,7 @@ class FileHandler */ public static function removeDir($path) { - if(($path = self::isDir($path)) === FALSE) - { - return; - } - - if(self::isDir($path)) - { - $files = array_diff(scandir($path), array('..', '.')); - - foreach($files as $file) - { - if(($target = self::getRealPath($path . DIRECTORY_SEPARATOR . $file)) === FALSE) - { - continue; - } - - if(is_dir($target)) - { - self::removeDir($target); - } - else - { - unlink($target); - } - } - rmdir($path); - } - else - { - unlink($path); - } + return Rhymix\Framework\Storage::deleteDirectory(self::getRealPath($path)); } /** @@ -413,27 +260,14 @@ class FileHandler */ public static function removeBlankDir($path) { - if(($path = self::isDir($path)) === FALSE) + $path = self::getRealPath($path); + if (Rhymix\Framework\Storage::isEmptyDirectory($path)) { - return; + return Rhymix\Framework\Storage::deleteDirectory($path); } - - $files = array_diff(scandir($path), array('..', '.')); - - if(count($files) < 1) + else { - rmdir($path); - return; - } - - foreach($files as $file) - { - if(($target = self::isDir($path . DIRECTORY_SEPARATOR . $file)) === FALSE) - { - continue; - } - - self::removeBlankDir($target); + return false; } } @@ -447,37 +281,7 @@ class FileHandler */ public static function removeFilesInDir($path) { - if(($path = self::getRealPath($path)) === FALSE) - { - return; - } - - if(is_dir($path)) - { - $files = array_diff(scandir($path), array('..', '.')); - - foreach($files as $file) - { - if(($target = self::getRealPath($path . DIRECTORY_SEPARATOR . $file)) === FALSE) - { - continue; - } - - if(is_dir($target)) - { - self::removeFilesInDir($target); - } - else - { - unlink($target); - } - } - } - else - { - if(self::exists($path)) unlink($path); - } - + return Rhymix\Framework\Storage::deleteDirectory(self::getRealPath($path), false); } /** @@ -584,7 +388,14 @@ class FileHandler if($response->success) { - return $response->body; + if (isset($request_config['filename'])) + { + return true; + } + else + { + return $response->body; + } } else { @@ -611,13 +422,9 @@ class FileHandler */ public static function getRemoteFile($url, $target_filename, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array(), $request_config = array()) { - if(!($body = self::getRemoteResource($url, $body, $timeout, $method, $content_type, $headers,$cookies,$post_data,$request_config))) - { - return FALSE; - } - - self::writeFile($target_filename, $body); - return TRUE; + $request_config['filename'] = $target_filename; + $success = self::getRemoteResource($url, $body, $timeout, $method, $content_type, $headers, $cookies, $post_data, $request_config); + return $success ? true : false; } /** @@ -658,12 +465,17 @@ class FileHandler $channels = 6; //for png } $memoryNeeded = round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $channels / 8 + $K64 ) * $TWEAKFACTOR); - $availableMemory = self::returnBytes(ini_get('memory_limit')) - memory_get_usage(); + $memoryLimit = self::returnBytes(ini_get('memory_limit')); + if($memoryLimit < 0) + { + return true; + } + $availableMemory = $memoryLimit - memory_get_usage(); if($availableMemory < $memoryNeeded) { - return FALSE; + return false; } - return TRUE; + return false; } /** @@ -882,19 +694,13 @@ class FileHandler */ public static function readIniFile($filename) { - if(($filename = self::exists($filename)) === FALSE) + if(!Rhymix\Framework\Storage::isReadable($filename)) { - return FALSE; - } - $arr = parse_ini_file($filename, TRUE); - if(is_array($arr) && count($arr) > 0) - { - return $arr; - } - else - { - return array(); + return false; } + + $arr = parse_ini_file($filename, true); + return is_array($arr) ? $arr : array(); } /** @@ -966,11 +772,9 @@ class FileHandler */ public static function openFile($filename, $mode) { - $pathinfo = pathinfo($filename); - self::makeDir($pathinfo['dirname']); - - require_once("FileObject.class.php"); - return new FileObject($filename, $mode); + $filename = self::getRealPath($filename); + Rhymix\Framework\Storage::createDirectory(dirname($filename)); + return new FileObject($filename, $mode); } /** @@ -981,7 +785,7 @@ class FileHandler */ public static function hasContent($filename) { - return (is_readable($filename) && (filesize($filename) > 0)); + return Rhymix\Framework\Storage::getSize(self::getRealPath($filename)) > 0; } /** @@ -993,7 +797,7 @@ class FileHandler public static function exists($filename) { $filename = self::getRealPath($filename); - return file_exists($filename) ? $filename : FALSE; + return Rhymix\Framework\Storage::exists($filename) ? $filename : false; } /** @@ -1005,7 +809,7 @@ class FileHandler public static function isDir($path) { $path = self::getRealPath($path); - return is_dir($path) ? $path : FALSE; + return Rhymix\Framework\Storage::isDirectory($path) ? $path : false; } /** @@ -1017,22 +821,7 @@ class FileHandler public static function isWritableDir($path) { $path = self::getRealPath($path); - if(is_dir($path)==FALSE) - { - return FALSE; - } - - $checkFile = $path . '/_CheckWritableDir'; - - $fp = fopen($checkFile, 'w'); - if(!is_resource($fp)) - { - return FALSE; - } - fclose($fp); - - self::removeFile($checkFile); - return TRUE; + return Rhymix\Framework\Storage::isDirectory($path) && Rhymix\Framework\Storage::isWritable($path); } } diff --git a/classes/mail/Mail.class.php b/classes/mail/Mail.class.php index c2d9725db..465e623be 100644 --- a/classes/mail/Mail.class.php +++ b/classes/mail/Mail.class.php @@ -460,81 +460,7 @@ class Mail */ function returnMIMEType($filename) { - preg_match("|\.([a-z0-9]{2,4})$|i", $filename, $fileSuffix); - switch(strtolower($fileSuffix[1])) - { - case "js" : - return "application/x-javascript"; - case "json" : - return "application/json"; - case "jpg" : - case "jpeg" : - case "jpe" : - return "image/jpg"; - case "png" : - case "gif" : - case "bmp" : - case "tiff" : - return "image/" . strtolower($fileSuffix[1]); - case "css" : - return "text/css"; - case "xml" : - return "application/xml"; - case "doc" : - case "docx" : - return "application/msword"; - case "xls" : - case "xlt" : - case "xlm" : - case "xld" : - case "xla" : - case "xlc" : - case "xlw" : - case "xll" : - return "application/vnd.ms-excel"; - case "ppt" : - case "pps" : - return "application/vnd.ms-powerpoint"; - case "rtf" : - return "application/rtf"; - case "pdf" : - return "application/pdf"; - case "html" : - case "htm" : - case "php" : - return "text/html"; - case "txt" : - return "text/plain"; - case "mpeg" : - case "mpg" : - case "mpe" : - return "video/mpeg"; - case "mp3" : - return "audio/mpeg3"; - case "wav" : - return "audio/wav"; - case "aiff" : - case "aif" : - return "audio/aiff"; - case "avi" : - return "video/msvideo"; - case "wmv" : - return "video/x-ms-wmv"; - case "mov" : - return "video/quicktime"; - case "zip" : - return "application/zip"; - case "tar" : - return "application/x-tar"; - case "swf" : - return "application/x-shockwave-flash"; - default : - if(function_exists("mime_content_type")) - { - $fileSuffix = mime_content_type($filename); - } - return "unknown/" . trim($fileSuffix[0], "."); - } + return Rhymix\Framework\MIME::getTypeByFilename($filename); } } diff --git a/classes/mobile/Mobile.class.php b/classes/mobile/Mobile.class.php index 5b3528621..65b4276e3 100644 --- a/classes/mobile/Mobile.class.php +++ b/classes/mobile/Mobile.class.php @@ -55,9 +55,6 @@ class Mobile return $this->ismobile = false; } - $xe_web_path = Context::pathToUrl(_XE_PATH_); - - // default setting. if there is cookie for a device, XE do not have to check if it is mobile or not and it will enhance performace of the server. $this->ismobile = FALSE; $m = Context::get('m'); @@ -87,28 +84,14 @@ class Mobile } else { - $this->ismobile = FALSE; - setcookie("mobile", FALSE, 0, $xe_web_path); - setcookie("user-agent", FALSE, 0, $xe_web_path); - if(!self::isMobilePadCheckByAgent() && self::isMobileCheckByAgent()) - { - $this->ismobile = TRUE; - } + setcookie("mobile", FALSE, 0, RX_BASEURL); + setcookie("user-agent", FALSE, 0, RX_BASEURL); + $this->ismobile = Rhymix\Framework\UA::isMobile() && !Rhymix\Framework\UA::isTablet(); } } else { - if(self::isMobilePadCheckByAgent()) - { - $this->ismobile = FALSE; - } - else - { - if(self::isMobileCheckByAgent()) - { - $this->ismobile = TRUE; - } - } + $this->ismobile = Rhymix\Framework\UA::isMobile() && !Rhymix\Framework\UA::isTablet(); } if($this->ismobile !== NULL) @@ -118,18 +101,18 @@ class Mobile if($_COOKIE['mobile'] != 'true') { $_COOKIE['mobile'] = 'true'; - setcookie("mobile", 'true', 0, $xe_web_path); + setcookie("mobile", 'true', 0, RX_BASEURL); } } elseif(isset($_COOKIE['mobile']) && $_COOKIE['mobile'] != 'false') { $_COOKIE['mobile'] = 'false'; - setcookie("mobile", 'false', 0, $xe_web_path); + setcookie("mobile", 'false', 0, RX_BASEURL); } if(isset($_COOKIE['mobile']) && $_COOKIE['user-agent'] != md5($_SERVER['HTTP_USER_AGENT'])) { - setcookie("user-agent", md5($_SERVER['HTTP_USER_AGENT']), 0, $xe_web_path); + setcookie("user-agent", md5($_SERVER['HTTP_USER_AGENT']), 0, RX_BASEURL); } } @@ -143,31 +126,7 @@ class Mobile */ public static function isMobileCheckByAgent() { - static $UACheck; - if(isset($UACheck)) - { - return $UACheck; - } - - $oMobile = Mobile::getInstance(); - $mobileAgent = array('iPod', 'iPhone', 'Android', 'BlackBerry', 'SymbianOS', 'Bada', 'Tizen', 'Kindle', 'Wii', 'SCH-', 'SPH-', 'CANU-', 'Windows Phone', 'Windows CE', 'POLARIS', 'Palm', 'Dorothy Browser', 'Mobile', 'Opera Mobi', 'Opera Mini', 'Minimo', 'AvantGo', 'NetFront', 'Nokia', 'LGPlayer', 'SonyEricsson', 'HTC'); - - if($oMobile->isMobilePadCheckByAgent()) - { - $UACheck = TRUE; - return TRUE; - } - - foreach($mobileAgent as $agent) - { - if(stripos($_SERVER['HTTP_USER_AGENT'], $agent) !== FALSE) - { - $UACheck = TRUE; - return TRUE; - } - } - $UACheck = FALSE; - return FALSE; + return Rhymix\Framework\UA::isMobile(); } /** @@ -177,45 +136,7 @@ class Mobile */ public static function isMobilePadCheckByAgent() { - static $UACheck; - if(isset($UACheck)) - { - return $UACheck; - } - $padAgent = array('iPad', 'Android', 'webOS', 'hp-tablet', 'PlayBook'); - - // Android with 'Mobile' string is not a tablet-like device, and 'Andoroid' without 'Mobile' string is a tablet-like device. - // $exceptionAgent[0] contains exception agents for all exceptions. - $exceptionAgent = array(0 => array('Opera Mini', 'Opera Mobi'), 'Android' => 'Mobile'); - - foreach($padAgent as $agent) - { - if(strpos($_SERVER['HTTP_USER_AGENT'], $agent) !== FALSE) - { - if(!isset($exceptionAgent[$agent])) - { - $UACheck = TRUE; - return TRUE; - } - elseif(strpos($_SERVER['HTTP_USER_AGENT'], $exceptionAgent[$agent]) === FALSE) - { - // If the agent is the Android, that can be either tablet and mobile phone. - foreach($exceptionAgent[0] as $val) - { - if(strpos($_SERVER['HTTP_USER_AGENT'], $val) !== FALSE) - { - $UACheck = FALSE; - return FALSE; - } - } - $UACheck = TRUE; - return TRUE; - } - } - } - - $UACheck = FALSE; - return FALSE; + return Rhymix\Framework\UA::isTablet(); } /** diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index dcad62e66..e2a6511a0 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -238,7 +238,7 @@ class ModuleHandler extends Handler } // redirect, if site_srl of module_info is different from one of site's module_info - if($module_info && $module_info->site_srl != $site_module_info->site_srl && !isCrawler()) + if($module_info && $module_info->site_srl != $site_module_info->site_srl && !Rhymix\Framework\UA::isRobot()) { // If the module is of virtual site if($module_info->site_srl) @@ -1289,6 +1289,8 @@ class ModuleHandler extends Handler $statusMessageList = array( '100' => 'Continue', '101' => 'Switching Protocols', + '102' => 'Processing', + '103' => 'Checkpoint', '200' => 'OK', '201' => 'Created', '202' => 'Accepted', @@ -1296,13 +1298,18 @@ class ModuleHandler extends Handler '204' => 'No Content', '205' => 'Reset Content', '206' => 'Partial Content', + '207' => 'Multi-Status', + '208' => 'Already Reported', + '226' => 'IM Used', '300' => 'Multiple Choices', '301' => 'Moved Permanently', '302' => 'Found', '303' => 'See Other', '304' => 'Not Modified', '305' => 'Use Proxy', + '306' => 'Switch Proxy', '307' => 'Temporary Redirect', + '308' => 'Permanent Redirect', '400' => 'Bad Request', '401' => 'Unauthorized', '402' => 'Payment Required', @@ -1316,19 +1323,39 @@ class ModuleHandler extends Handler '410' => 'Gone', '411' => 'Length Required', '412' => 'Precondition Failed', - '413' => 'Request Entity Too Large', - '414' => 'Request-URI Too Long', + '413' => 'Payload Too Large', + '414' => 'URI Too Long', '415' => 'Unsupported Media Type', - '416' => 'Requested Range Not Satisfiable', + '416' => 'Range Not Satisfiable', '417' => 'Expectation Failed', + '418' => 'I\'m a teapot', + '420' => 'Enhance Your Calm', + '421' => 'Misdirected Request', + '422' => 'Unprocessable Entity', + '423' => 'Locked', + '424' => 'Failed Dependency', + '425' => 'Unordered Collection', + '426' => 'Upgrade Required', + '428' => 'Precondition Required', + '429' => 'Too Many Requests', + '431' => 'Request Header Fields Too Large', + '444' => 'No Response', + '449' => 'Retry With', + '451' => 'Unavailable For Legal Reasons', '500' => 'Internal Server Error', '501' => 'Not Implemented', '502' => 'Bad Gateway', '503' => 'Service Unavailable', '504' => 'Gateway Timeout', '505' => 'HTTP Version Not Supported', + '506' => 'Variant Also Negotiates', + '507' => 'Insufficient Storage', + '508' => 'Loop Detected', + '509' => 'Bandwidth Limit Exceeded', + '510' => 'Not Extended', + '511' => 'Network Authentication Required', ); - $statusMessage = $statusMessageList[$code]; + $statusMessage = $statusMessageList[strval($code)]; if(!$statusMessage) { $statusMessage = 'OK'; diff --git a/common/defaults/countries.php b/common/defaults/countries.php new file mode 100644 index 000000000..b84843d13 --- /dev/null +++ b/common/defaults/countries.php @@ -0,0 +1,2259 @@ + 'AF', + 'iso_3166_1_alpha3' => 'AFG', + 'iso_3166_1_numeric' => '004', + 'cctld' => 'af', + 'name_english' => 'Afghanistan', + 'name_korean' => '아프가니스탄', + 'name_native' => 'افغانستان', + ), + array( + 'iso_3166_1_alpha2' => 'AL', + 'iso_3166_1_alpha3' => 'ALB', + 'iso_3166_1_numeric' => '008', + 'cctld' => 'al', + 'name_english' => 'Albania', + 'name_korean' => '알바니아', + 'name_native' => 'Shqipëria', + ), + array( + 'iso_3166_1_alpha2' => 'AQ', + 'iso_3166_1_alpha3' => 'ATA', + 'iso_3166_1_numeric' => '010', + 'cctld' => 'aq', + 'name_english' => 'Antarctica', + 'name_korean' => '남극', + 'name_native' => 'Antarctica', + ), + array( + 'iso_3166_1_alpha2' => 'DZ', + 'iso_3166_1_alpha3' => 'DZA', + 'iso_3166_1_numeric' => '012', + 'cctld' => 'dz', + 'name_english' => 'Algeria', + 'name_korean' => '알제리', + 'name_native' => 'الجزائر', + ), + array( + 'iso_3166_1_alpha2' => 'AS', + 'iso_3166_1_alpha3' => 'ASM', + 'iso_3166_1_numeric' => '016', + 'cctld' => 'as', + 'name_english' => 'American Samoa', + 'name_korean' => '아메리칸 사모아', + 'name_native' => 'Amerika Sāmoa', + ), + array( + 'iso_3166_1_alpha2' => 'AD', + 'iso_3166_1_alpha3' => 'AND', + 'iso_3166_1_numeric' => '020', + 'cctld' => 'ad', + 'name_english' => 'Andorra', + 'name_korean' => '안도라', + 'name_native' => 'Andorra', + ), + array( + 'iso_3166_1_alpha2' => 'AO', + 'iso_3166_1_alpha3' => 'AGO', + 'iso_3166_1_numeric' => '024', + 'cctld' => 'ao', + 'name_english' => 'Angola', + 'name_korean' => '앙골라', + 'name_native' => 'Angola', + ), + array( + 'iso_3166_1_alpha2' => 'AG', + 'iso_3166_1_alpha3' => 'ATG', + 'iso_3166_1_numeric' => '028', + 'cctld' => 'ag', + 'name_english' => 'Antigua and Barbuda', + 'name_korean' => '앤티가 바부다', + 'name_native' => 'Antigua and Barbuda', + ), + array( + 'iso_3166_1_alpha2' => 'AZ', + 'iso_3166_1_alpha3' => 'AZE', + 'iso_3166_1_numeric' => '031', + 'cctld' => 'az', + 'name_english' => 'Azerbaijan', + 'name_korean' => '아제르바이잔', + 'name_native' => 'Azərbaycan', + ), + array( + 'iso_3166_1_alpha2' => 'AR', + 'iso_3166_1_alpha3' => 'ARG', + 'iso_3166_1_numeric' => '032', + 'cctld' => 'ar', + 'name_english' => 'Argentina', + 'name_korean' => '아르헨티나', + 'name_native' => 'Argentina', + ), + array( + 'iso_3166_1_alpha2' => 'AU', + 'iso_3166_1_alpha3' => 'AUS', + 'iso_3166_1_numeric' => '036', + 'cctld' => 'au', + 'name_english' => 'Australia', + 'name_korean' => '호주', + 'name_native' => 'Australia', + ), + array( + 'iso_3166_1_alpha2' => 'AT', + 'iso_3166_1_alpha3' => 'AUT', + 'iso_3166_1_numeric' => '040', + 'cctld' => 'at', + 'name_english' => 'Austria', + 'name_korean' => '오스트리아', + 'name_native' => 'Österreich', + ), + array( + 'iso_3166_1_alpha2' => 'BS', + 'iso_3166_1_alpha3' => 'BHS', + 'iso_3166_1_numeric' => '044', + 'cctld' => 'bs', + 'name_english' => 'Bahamas', + 'name_korean' => '바하마', + 'name_native' => 'Bahamas', + ), + array( + 'iso_3166_1_alpha2' => 'BH', + 'iso_3166_1_alpha3' => 'BHR', + 'iso_3166_1_numeric' => '048', + 'cctld' => 'bh', + 'name_english' => 'Bahrain', + 'name_korean' => '바레인', + 'name_native' => 'البحرين', + ), + array( + 'iso_3166_1_alpha2' => 'BD', + 'iso_3166_1_alpha3' => 'BGD', + 'iso_3166_1_numeric' => '050', + 'cctld' => 'bd', + 'name_english' => 'Bangladesh', + 'name_korean' => '방글라데시', + 'name_native' => 'বাংলাদেশ', + ), + array( + 'iso_3166_1_alpha2' => 'AM', + 'iso_3166_1_alpha3' => 'ARM', + 'iso_3166_1_numeric' => '051', + 'cctld' => 'am', + 'name_english' => 'Armenia', + 'name_korean' => '아르메니아', + 'name_native' => 'Հայաստան', + ), + array( + 'iso_3166_1_alpha2' => 'BB', + 'iso_3166_1_alpha3' => 'BRB', + 'iso_3166_1_numeric' => '052', + 'cctld' => 'bb', + 'name_english' => 'Barbados', + 'name_korean' => '바베이도스', + 'name_native' => 'Barbados', + ), + array( + 'iso_3166_1_alpha2' => 'BE', + 'iso_3166_1_alpha3' => 'BEL', + 'iso_3166_1_numeric' => '056', + 'cctld' => 'be', + 'name_english' => 'Belgium', + 'name_korean' => '벨기에', + 'name_native' => 'België, Belgique, Belgien', + ), + array( + 'iso_3166_1_alpha2' => 'BM', + 'iso_3166_1_alpha3' => 'BMU', + 'iso_3166_1_numeric' => '060', + 'cctld' => 'bm', + 'name_english' => 'Bermuda', + 'name_korean' => '버뮤다', + 'name_native' => 'Bermuda', + ), + array( + 'iso_3166_1_alpha2' => 'BT', + 'iso_3166_1_alpha3' => 'BTN', + 'iso_3166_1_numeric' => '064', + 'cctld' => 'bt', + 'name_english' => 'Bhutan', + 'name_korean' => '부탄', + 'name_native' => 'འབྲུག་ཡུལ', + ), + array( + 'iso_3166_1_alpha2' => 'BO', + 'iso_3166_1_alpha3' => 'BOL', + 'iso_3166_1_numeric' => '068', + 'cctld' => 'bo', + 'name_english' => 'Bolivia (Plurinational State of)', + 'name_korean' => '볼리비아', + 'name_native' => 'Bolivia', + ), + array( + 'iso_3166_1_alpha2' => 'BA', + 'iso_3166_1_alpha3' => 'BIH', + 'iso_3166_1_numeric' => '070', + 'cctld' => 'ba', + 'name_english' => 'Bosnia and Herzegovina', + 'name_korean' => '보스니아 헤르체고비나', + 'name_native' => 'Bosna i Hercegovina', + ), + array( + 'iso_3166_1_alpha2' => 'BW', + 'iso_3166_1_alpha3' => 'BWA', + 'iso_3166_1_numeric' => '072', + 'cctld' => 'bw', + 'name_english' => 'Botswana', + 'name_korean' => '보츠와나', + 'name_native' => 'Botswana', + ), + array( + 'iso_3166_1_alpha2' => 'BV', + 'iso_3166_1_alpha3' => 'BVT', + 'iso_3166_1_numeric' => '074', + 'cctld' => 'bv', + 'name_english' => 'Bouvet Island', + 'name_korean' => '부베 섬', + 'name_native' => 'Bouvet Island', + ), + array( + 'iso_3166_1_alpha2' => 'BR', + 'iso_3166_1_alpha3' => 'BRA', + 'iso_3166_1_numeric' => '076', + 'cctld' => 'br', + 'name_english' => 'Brazil', + 'name_korean' => '브라질', + 'name_native' => 'Brasil', + ), + array( + 'iso_3166_1_alpha2' => 'BZ', + 'iso_3166_1_alpha3' => 'BLZ', + 'iso_3166_1_numeric' => '084', + 'cctld' => 'bz', + 'name_english' => 'Belize', + 'name_korean' => '벨리즈', + 'name_native' => 'Belize', + ), + array( + 'iso_3166_1_alpha2' => 'IO', + 'iso_3166_1_alpha3' => 'IOT', + 'iso_3166_1_numeric' => '086', + 'cctld' => 'io', + 'name_english' => 'British Indian Ocean Territory', + 'name_korean' => '영국령 인도양 지역', + 'name_native' => 'British Indian Ocean Territory', + ), + array( + 'iso_3166_1_alpha2' => 'SB', + 'iso_3166_1_alpha3' => 'SLB', + 'iso_3166_1_numeric' => '090', + 'cctld' => 'sb', + 'name_english' => 'Solomon Islands', + 'name_korean' => '솔로몬 제도', + 'name_native' => 'Solomon Islands', + ), + array( + 'iso_3166_1_alpha2' => 'VG', + 'iso_3166_1_alpha3' => 'VGB', + 'iso_3166_1_numeric' => '092', + 'cctld' => 'vg', + 'name_english' => 'Virgin Islands (British)', + 'name_korean' => '영국령 버진아일랜드', + 'name_native' => 'Virgin Islands (British)', + ), + array( + 'iso_3166_1_alpha2' => 'BN', + 'iso_3166_1_alpha3' => 'BRN', + 'iso_3166_1_numeric' => '096', + 'cctld' => 'bn', + 'name_english' => 'Brunei', + 'name_korean' => '브루나이', + 'name_native' => 'بروني', + ), + array( + 'iso_3166_1_alpha2' => 'BG', + 'iso_3166_1_alpha3' => 'BGR', + 'iso_3166_1_numeric' => '100', + 'cctld' => 'bg', + 'name_english' => 'Bulgaria', + 'name_korean' => '불가리아', + 'name_native' => 'Bulgariya', + ), + array( + 'iso_3166_1_alpha2' => 'MM', + 'iso_3166_1_alpha3' => 'MMR', + 'iso_3166_1_numeric' => '104', + 'cctld' => 'mm', + 'name_english' => 'Myanmar', + 'name_korean' => '미얀마 (버마)', + 'name_native' => 'Myanma', + ), + array( + 'iso_3166_1_alpha2' => 'BI', + 'iso_3166_1_alpha3' => 'BDI', + 'iso_3166_1_numeric' => '108', + 'cctld' => 'bi', + 'name_english' => 'Burundi', + 'name_korean' => '부룬디', + 'name_native' => 'Burundi', + ), + array( + 'iso_3166_1_alpha2' => 'BY', + 'iso_3166_1_alpha3' => 'BLR', + 'iso_3166_1_numeric' => '112', + 'cctld' => 'by', + 'name_english' => 'Belarus', + 'name_korean' => '벨라루스', + 'name_native' => 'Беларусь', + ), + array( + 'iso_3166_1_alpha2' => 'KH', + 'iso_3166_1_alpha3' => 'KHM', + 'iso_3166_1_numeric' => '116', + 'cctld' => 'kh', + 'name_english' => 'Cambodia', + 'name_korean' => '캄보디아', + 'name_native' => 'កម្ពុជា', + ), + array( + 'iso_3166_1_alpha2' => 'CM', + 'iso_3166_1_alpha3' => 'CMR', + 'iso_3166_1_numeric' => '120', + 'cctld' => 'cm', + 'name_english' => 'Cameroon', + 'name_korean' => '카메룬', + 'name_native' => 'Cameroun', + ), + array( + 'iso_3166_1_alpha2' => 'CA', + 'iso_3166_1_alpha3' => 'CAN', + 'iso_3166_1_numeric' => '124', + 'cctld' => 'ca', + 'name_english' => 'Canada', + 'name_korean' => '캐나다', + 'name_native' => 'Canada', + ), + array( + 'iso_3166_1_alpha2' => 'CV', + 'iso_3166_1_alpha3' => 'CPV', + 'iso_3166_1_numeric' => '132', + 'cctld' => 'cv', + 'name_english' => 'Cabo Verde', + 'name_korean' => '카보베르데', + 'name_native' => 'Cabo Verde', + ), + array( + 'iso_3166_1_alpha2' => 'KY', + 'iso_3166_1_alpha3' => 'CYM', + 'iso_3166_1_numeric' => '136', + 'cctld' => 'ky', + 'name_english' => 'Cayman Islands', + 'name_korean' => '케이맨 제도', + 'name_native' => 'Cayman Islands', + ), + array( + 'iso_3166_1_alpha2' => 'CF', + 'iso_3166_1_alpha3' => 'CAF', + 'iso_3166_1_numeric' => '140', + 'cctld' => 'cf', + 'name_english' => 'Central African Republic', + 'name_korean' => '중앙아프리카 공화국', + 'name_native' => 'République Centrafricaine', + ), + array( + 'iso_3166_1_alpha2' => 'LK', + 'iso_3166_1_alpha3' => 'LKA', + 'iso_3166_1_numeric' => '144', + 'cctld' => 'lk', + 'name_english' => 'Sri Lanka', + 'name_korean' => '스리랑카', + 'name_native' => 'ශ්‍රී ලංකාව, இலங்கை', + ), + array( + 'iso_3166_1_alpha2' => 'TD', + 'iso_3166_1_alpha3' => 'TCD', + 'iso_3166_1_numeric' => '148', + 'cctld' => 'td', + 'name_english' => 'Chad', + 'name_korean' => '차드', + 'name_native' => 'Tchad', + ), + array( + 'iso_3166_1_alpha2' => 'CL', + 'iso_3166_1_alpha3' => 'CHL', + 'iso_3166_1_numeric' => '152', + 'cctld' => 'cl', + 'name_english' => 'Chile', + 'name_korean' => '칠레', + 'name_native' => 'Chile', + ), + array( + 'iso_3166_1_alpha2' => 'CN', + 'iso_3166_1_alpha3' => 'CHN', + 'iso_3166_1_numeric' => '156', + 'cctld' => 'cn', + 'name_english' => 'China', + 'name_korean' => '중국', + 'name_native' => '中国', + ), + array( + 'iso_3166_1_alpha2' => 'TW', + 'iso_3166_1_alpha3' => 'TWN', + 'iso_3166_1_numeric' => '158', + 'cctld' => 'tw', + 'name_english' => 'Taiwan (Republic of China)', + 'name_korean' => '대만', + 'name_native' => '臺灣 (中華民國)', + ), + array( + 'iso_3166_1_alpha2' => 'CX', + 'iso_3166_1_alpha3' => 'CXR', + 'iso_3166_1_numeric' => '162', + 'cctld' => 'cx', + 'name_english' => 'Christmas Island', + 'name_korean' => '크리스마스 섬', + 'name_native' => 'Christmas Island', + ), + array( + 'iso_3166_1_alpha2' => 'CC', + 'iso_3166_1_alpha3' => 'CCK', + 'iso_3166_1_numeric' => '166', + 'cctld' => 'cc', + 'name_english' => 'Cocos (Keeling) Islands', + 'name_korean' => '코코스 제도', + 'name_native' => 'Cocos (Keeling) Islands', + ), + array( + 'iso_3166_1_alpha2' => 'CO', + 'iso_3166_1_alpha3' => 'COL', + 'iso_3166_1_numeric' => '170', + 'cctld' => 'co', + 'name_english' => 'Colombia', + 'name_korean' => '콜롬비아', + 'name_native' => 'Colombia', + ), + array( + 'iso_3166_1_alpha2' => 'KM', + 'iso_3166_1_alpha3' => 'COM', + 'iso_3166_1_numeric' => '174', + 'cctld' => 'km', + 'name_english' => 'Comoros', + 'name_korean' => '코모로', + 'name_native' => 'Komori', + ), + array( + 'iso_3166_1_alpha2' => 'YT', + 'iso_3166_1_alpha3' => 'MYT', + 'iso_3166_1_numeric' => '175', + 'cctld' => 'yt', + 'name_english' => 'Mayotte', + 'name_korean' => '마요트', + 'name_native' => 'Mayotte', + ), + array( + 'iso_3166_1_alpha2' => 'CG', + 'iso_3166_1_alpha3' => 'COG', + 'iso_3166_1_numeric' => '178', + 'cctld' => 'cg', + 'name_english' => 'Congo (Republic of)', + 'name_korean' => '콩고', + 'name_native' => 'République du Congo', + ), + array( + 'iso_3166_1_alpha2' => 'CD', + 'iso_3166_1_alpha3' => 'COD', + 'iso_3166_1_numeric' => '180', + 'cctld' => 'cd', + 'name_english' => 'Congo (Democratic Republic of the)', + 'name_korean' => '콩고 민주 공화국', + 'name_native' => 'République démocratique du Congo', + ), + array( + 'iso_3166_1_alpha2' => 'CK', + 'iso_3166_1_alpha3' => 'COK', + 'iso_3166_1_numeric' => '184', + 'cctld' => 'ck', + 'name_english' => 'Cook Islands', + 'name_korean' => '쿡 제도', + 'name_native' => 'Cook Islands', + ), + array( + 'iso_3166_1_alpha2' => 'CR', + 'iso_3166_1_alpha3' => 'CRI', + 'iso_3166_1_numeric' => '188', + 'cctld' => 'cr', + 'name_english' => 'Costa Rica', + 'name_korean' => '코스타리카', + 'name_native' => 'Costa Rica', + ), + array( + 'iso_3166_1_alpha2' => 'HR', + 'iso_3166_1_alpha3' => 'HRV', + 'iso_3166_1_numeric' => '191', + 'cctld' => 'hr', + 'name_english' => 'Croatia', + 'name_korean' => '크로아티아', + 'name_native' => 'Hrvatska', + ), + array( + 'iso_3166_1_alpha2' => 'CU', + 'iso_3166_1_alpha3' => 'CUB', + 'iso_3166_1_numeric' => '192', + 'cctld' => 'cu', + 'name_english' => 'Cuba', + 'name_korean' => '쿠바', + 'name_native' => 'Cuba', + ), + array( + 'iso_3166_1_alpha2' => 'CY', + 'iso_3166_1_alpha3' => 'CYP', + 'iso_3166_1_numeric' => '196', + 'cctld' => 'cy', + 'name_english' => 'Cyprus', + 'name_korean' => '키프로스', + 'name_native' => 'Κύπρος', + ), + array( + 'iso_3166_1_alpha2' => 'CZ', + 'iso_3166_1_alpha3' => 'CZE', + 'iso_3166_1_numeric' => '203', + 'cctld' => 'cz', + 'name_english' => 'Czech Republic', + 'name_korean' => '체코', + 'name_native' => 'Česká republika', + ), + array( + 'iso_3166_1_alpha2' => 'BJ', + 'iso_3166_1_alpha3' => 'BEN', + 'iso_3166_1_numeric' => '204', + 'cctld' => 'bj', + 'name_english' => 'Benin', + 'name_korean' => '베냉', + 'name_native' => 'Bénin', + ), + array( + 'iso_3166_1_alpha2' => 'DK', + 'iso_3166_1_alpha3' => 'DNK', + 'iso_3166_1_numeric' => '208', + 'cctld' => 'dk', + 'name_english' => 'Denmark', + 'name_korean' => '덴마크', + 'name_native' => 'Danmark', + ), + array( + 'iso_3166_1_alpha2' => 'DM', + 'iso_3166_1_alpha3' => 'DMA', + 'iso_3166_1_numeric' => '212', + 'cctld' => 'dm', + 'name_english' => 'Dominica', + 'name_korean' => '도미니카 연방', + 'name_native' => 'Dominica', + ), + array( + 'iso_3166_1_alpha2' => 'DO', + 'iso_3166_1_alpha3' => 'DOM', + 'iso_3166_1_numeric' => '214', + 'cctld' => 'do', + 'name_english' => 'Dominican Republic', + 'name_korean' => '도미니카 공화국', + 'name_native' => 'República Dominicana', + ), + array( + 'iso_3166_1_alpha2' => 'EC', + 'iso_3166_1_alpha3' => 'ECU', + 'iso_3166_1_numeric' => '218', + 'cctld' => 'ec', + 'name_english' => 'Ecuador', + 'name_korean' => '에콰도르', + 'name_native' => 'Ecuador', + ), + array( + 'iso_3166_1_alpha2' => 'SV', + 'iso_3166_1_alpha3' => 'SLV', + 'iso_3166_1_numeric' => '222', + 'cctld' => 'sv', + 'name_english' => 'El Salvador', + 'name_korean' => '엘살바도르', + 'name_native' => 'El Salvador', + ), + array( + 'iso_3166_1_alpha2' => 'GQ', + 'iso_3166_1_alpha3' => 'GNQ', + 'iso_3166_1_numeric' => '226', + 'cctld' => 'gq', + 'name_english' => 'Equatorial Guinea', + 'name_korean' => '적도기니', + 'name_native' => 'Guinea Ecuatorial', + ), + array( + 'iso_3166_1_alpha2' => 'ET', + 'iso_3166_1_alpha3' => 'ETH', + 'iso_3166_1_numeric' => '231', + 'cctld' => 'et', + 'name_english' => 'Ethiopia', + 'name_korean' => '에티오피아', + 'name_native' => 'ኢትዮጵያ', + ), + array( + 'iso_3166_1_alpha2' => 'ER', + 'iso_3166_1_alpha3' => 'ERI', + 'iso_3166_1_numeric' => '232', + 'cctld' => 'er', + 'name_english' => 'Eritrea', + 'name_korean' => '에리트레아', + 'name_native' => 'إرتريا', + ), + array( + 'iso_3166_1_alpha2' => 'EE', + 'iso_3166_1_alpha3' => 'EST', + 'iso_3166_1_numeric' => '233', + 'cctld' => 'ee', + 'name_english' => 'Estonia', + 'name_korean' => '에스토니아', + 'name_native' => 'Eesti', + ), + array( + 'iso_3166_1_alpha2' => 'FO', + 'iso_3166_1_alpha3' => 'FRO', + 'iso_3166_1_numeric' => '234', + 'cctld' => 'fo', + 'name_english' => 'Faroe Islands', + 'name_korean' => '페로 제도', + 'name_native' => 'Føroyar', + ), + array( + 'iso_3166_1_alpha2' => 'FK', + 'iso_3166_1_alpha3' => 'FLK', + 'iso_3166_1_numeric' => '238', + 'cctld' => 'fk', + 'name_english' => 'Falkland Islands (Malvinas)', + 'name_korean' => '포클랜드 제도', + 'name_native' => 'Falkland Islands (Malvinas)', + ), + array( + 'iso_3166_1_alpha2' => 'GS', + 'iso_3166_1_alpha3' => 'SGS', + 'iso_3166_1_numeric' => '239', + 'cctld' => 'gs', + 'name_english' => 'South Georgia and the South Sandwich Islands', + 'name_korean' => '사우스조지아 사우스샌드위치 제도', + 'name_native' => 'South Georgia and the South Sandwich Islands', + ), + array( + 'iso_3166_1_alpha2' => 'FJ', + 'iso_3166_1_alpha3' => 'FJI', + 'iso_3166_1_numeric' => '242', + 'cctld' => 'fj', + 'name_english' => 'Fiji', + 'name_korean' => '피지', + 'name_native' => 'Fiji', + ), + array( + 'iso_3166_1_alpha2' => 'FI', + 'iso_3166_1_alpha3' => 'FIN', + 'iso_3166_1_numeric' => '246', + 'cctld' => 'fi', + 'name_english' => 'Finland', + 'name_korean' => '핀란드', + 'name_native' => 'Suomi', + ), + array( + 'iso_3166_1_alpha2' => 'AX', + 'iso_3166_1_alpha3' => 'ALA', + 'iso_3166_1_numeric' => '248', + 'cctld' => 'ax', + 'name_english' => 'Åland Islands', + 'name_korean' => '올란드 제도', + 'name_native' => 'Åland Islands', + ), + array( + 'iso_3166_1_alpha2' => 'FR', + 'iso_3166_1_alpha3' => 'FRA', + 'iso_3166_1_numeric' => '250', + 'cctld' => 'fr', + 'name_english' => 'France', + 'name_korean' => '프랑스', + 'name_native' => 'France', + ), + array( + 'iso_3166_1_alpha2' => 'GF', + 'iso_3166_1_alpha3' => 'GUF', + 'iso_3166_1_numeric' => '254', + 'cctld' => 'gf', + 'name_english' => 'French Guiana', + 'name_korean' => '프랑스령 기아나', + 'name_native' => 'Guyane', + ), + array( + 'iso_3166_1_alpha2' => 'PF', + 'iso_3166_1_alpha3' => 'PYF', + 'iso_3166_1_numeric' => '258', + 'cctld' => 'pf', + 'name_english' => 'French Polynesia', + 'name_korean' => '프랑스령 폴리네시아', + 'name_native' => 'Polynésie française', + ), + array( + 'iso_3166_1_alpha2' => 'TF', + 'iso_3166_1_alpha3' => 'ATF', + 'iso_3166_1_numeric' => '260', + 'cctld' => 'tf', + 'name_english' => 'French Southern and Antarctic Lands', + 'name_korean' => '프랑스령 남방 및 남극 지역', + 'name_native' => 'Terres australes et antarctiques françaises', + ), + array( + 'iso_3166_1_alpha2' => 'DJ', + 'iso_3166_1_alpha3' => 'DJI', + 'iso_3166_1_numeric' => '262', + 'cctld' => 'dj', + 'name_english' => 'Djibouti', + 'name_korean' => '지부티', + 'name_native' => 'جيبوتي', + ), + array( + 'iso_3166_1_alpha2' => 'GA', + 'iso_3166_1_alpha3' => 'GAB', + 'iso_3166_1_numeric' => '266', + 'cctld' => 'ga', + 'name_english' => 'Gabon', + 'name_korean' => '가봉', + 'name_native' => 'Gabon', + ), + array( + 'iso_3166_1_alpha2' => 'GE', + 'iso_3166_1_alpha3' => 'GEO', + 'iso_3166_1_numeric' => '268', + 'cctld' => 'ge', + 'name_english' => 'Georgia', + 'name_korean' => '그루지아', + 'name_native' => 'საქართველო', + ), + array( + 'iso_3166_1_alpha2' => 'GM', + 'iso_3166_1_alpha3' => 'GMB', + 'iso_3166_1_numeric' => '270', + 'cctld' => 'gm', + 'name_english' => 'Gambia', + 'name_korean' => '감비아', + 'name_native' => 'Gambia', + ), + array( + 'iso_3166_1_alpha2' => 'PS', + 'iso_3166_1_alpha3' => 'PSE', + 'iso_3166_1_numeric' => '275', + 'cctld' => 'ps', + 'name_english' => 'Palestine', + 'name_korean' => '팔레스타인', + 'name_native' => 'فلسطين', + ), + array( + 'iso_3166_1_alpha2' => 'DE', + 'iso_3166_1_alpha3' => 'DEU', + 'iso_3166_1_numeric' => '276', + 'cctld' => 'de', + 'name_english' => 'Germany', + 'name_korean' => '독일', + 'name_native' => 'Deutschland', + ), + array( + 'iso_3166_1_alpha2' => 'GH', + 'iso_3166_1_alpha3' => 'GHA', + 'iso_3166_1_numeric' => '288', + 'cctld' => 'gh', + 'name_english' => 'Ghana', + 'name_korean' => '가나', + 'name_native' => 'Ghana', + ), + array( + 'iso_3166_1_alpha2' => 'GI', + 'iso_3166_1_alpha3' => 'GIB', + 'iso_3166_1_numeric' => '292', + 'cctld' => 'gi', + 'name_english' => 'Gibraltar', + 'name_korean' => '지브롤터', + 'name_native' => 'Gibraltar', + ), + array( + 'iso_3166_1_alpha2' => 'KI', + 'iso_3166_1_alpha3' => 'KIR', + 'iso_3166_1_numeric' => '296', + 'cctld' => 'ki', + 'name_english' => 'Kiribati', + 'name_korean' => '키리바시', + 'name_native' => 'Kiribati', + ), + array( + 'iso_3166_1_alpha2' => 'GR', + 'iso_3166_1_alpha3' => 'GRC', + 'iso_3166_1_numeric' => '300', + 'cctld' => 'gr', + 'name_english' => 'Greece', + 'name_korean' => '그리스', + 'name_native' => 'Ελλάς', + ), + array( + 'iso_3166_1_alpha2' => 'GL', + 'iso_3166_1_alpha3' => 'GRL', + 'iso_3166_1_numeric' => '304', + 'cctld' => 'gl', + 'name_english' => 'Greenland', + 'name_korean' => '그린란드', + 'name_native' => 'Grønland, Kalaallit Nunaat', + ), + array( + 'iso_3166_1_alpha2' => 'GD', + 'iso_3166_1_alpha3' => 'GRD', + 'iso_3166_1_numeric' => '308', + 'cctld' => 'gd', + 'name_english' => 'Grenada', + 'name_korean' => '그레나다', + 'name_native' => 'Grenada', + ), + array( + 'iso_3166_1_alpha2' => 'GP', + 'iso_3166_1_alpha3' => 'GLP', + 'iso_3166_1_numeric' => '312', + 'cctld' => 'gp', + 'name_english' => 'Guadeloupe', + 'name_korean' => '과들루프', + 'name_native' => 'Guadeloupe', + ), + array( + 'iso_3166_1_alpha2' => 'GU', + 'iso_3166_1_alpha3' => 'GUM', + 'iso_3166_1_numeric' => '316', + 'cctld' => 'gu', + 'name_english' => 'Guam', + 'name_korean' => '괌', + 'name_native' => 'Guam, Guåhån', + ), + array( + 'iso_3166_1_alpha2' => 'GT', + 'iso_3166_1_alpha3' => 'GTM', + 'iso_3166_1_numeric' => '320', + 'cctld' => 'gt', + 'name_english' => 'Guatemala', + 'name_korean' => '과테말라', + 'name_native' => 'Guatemala', + ), + array( + 'iso_3166_1_alpha2' => 'GN', + 'iso_3166_1_alpha3' => 'GIN', + 'iso_3166_1_numeric' => '324', + 'cctld' => 'gn', + 'name_english' => 'Guinea', + 'name_korean' => '기니', + 'name_native' => 'Guinée, Gine', + ), + array( + 'iso_3166_1_alpha2' => 'GY', + 'iso_3166_1_alpha3' => 'GUY', + 'iso_3166_1_numeric' => '328', + 'cctld' => 'gy', + 'name_english' => 'Guyana', + 'name_korean' => '가이아나', + 'name_native' => 'Guyana', + ), + array( + 'iso_3166_1_alpha2' => 'HT', + 'iso_3166_1_alpha3' => 'HTI', + 'iso_3166_1_numeric' => '332', + 'cctld' => 'ht', + 'name_english' => 'Haiti', + 'name_korean' => '아이티', + 'name_native' => 'Haïti, Ayiti', + ), + array( + 'iso_3166_1_alpha2' => 'HM', + 'iso_3166_1_alpha3' => 'HMD', + 'iso_3166_1_numeric' => '334', + 'cctld' => 'hm', + 'name_english' => 'Heard Island and McDonald Islands', + 'name_korean' => '허드 맥도널드 제도', + 'name_native' => 'Heard Island and McDonald Islands', + ), + array( + 'iso_3166_1_alpha2' => 'VA', + 'iso_3166_1_alpha3' => 'VAT', + 'iso_3166_1_numeric' => '336', + 'cctld' => 'va', + 'name_english' => 'Vatican City', + 'name_korean' => '바티칸', + 'name_native' => 'E Civitate Vaticana', + ), + array( + 'iso_3166_1_alpha2' => 'HN', + 'iso_3166_1_alpha3' => 'HND', + 'iso_3166_1_numeric' => '340', + 'cctld' => 'hn', + 'name_english' => 'Honduras', + 'name_korean' => '온두라스', + 'name_native' => 'Honduras', + ), + array( + 'iso_3166_1_alpha2' => 'HK', + 'iso_3166_1_alpha3' => 'HKG', + 'iso_3166_1_numeric' => '344', + 'cctld' => 'hk', + 'name_english' => 'Hong Kong', + 'name_korean' => '홍콩', + 'name_native' => '香港', + ), + array( + 'iso_3166_1_alpha2' => 'HU', + 'iso_3166_1_alpha3' => 'HUN', + 'iso_3166_1_numeric' => '348', + 'cctld' => 'hu', + 'name_english' => 'Hungary', + 'name_korean' => '헝가리', + 'name_native' => 'Magyarország', + ), + array( + 'iso_3166_1_alpha2' => 'IS', + 'iso_3166_1_alpha3' => 'ISL', + 'iso_3166_1_numeric' => '352', + 'cctld' => 'is', + 'name_english' => 'Iceland', + 'name_korean' => '아이슬란드', + 'name_native' => 'Ísland', + ), + array( + 'iso_3166_1_alpha2' => 'IN', + 'iso_3166_1_alpha3' => 'IND', + 'iso_3166_1_numeric' => '356', + 'cctld' => 'in', + 'name_english' => 'India', + 'name_korean' => '인도', + 'name_native' => 'Bhārat Gaṇarājya, भारत, ভারত', + ), + array( + 'iso_3166_1_alpha2' => 'ID', + 'iso_3166_1_alpha3' => 'IDN', + 'iso_3166_1_numeric' => '360', + 'cctld' => 'id', + 'name_english' => 'Indonesia', + 'name_korean' => '인도네시아', + 'name_native' => 'Indonesia', + ), + array( + 'iso_3166_1_alpha2' => 'IR', + 'iso_3166_1_alpha3' => 'IRN', + 'iso_3166_1_numeric' => '364', + 'cctld' => 'ir', + 'name_english' => 'Iran', + 'name_korean' => '이란', + 'name_native' => 'ایران', + ), + array( + 'iso_3166_1_alpha2' => 'IQ', + 'iso_3166_1_alpha3' => 'IRQ', + 'iso_3166_1_numeric' => '368', + 'cctld' => 'iq', + 'name_english' => 'Iraq', + 'name_korean' => '이라크', + 'name_native' => 'العراق', + ), + array( + 'iso_3166_1_alpha2' => 'IE', + 'iso_3166_1_alpha3' => 'IRL', + 'iso_3166_1_numeric' => '372', + 'cctld' => 'ie', + 'name_english' => 'Ireland', + 'name_korean' => '아일랜드', + 'name_native' => 'Éire', + ), + array( + 'iso_3166_1_alpha2' => 'IL', + 'iso_3166_1_alpha3' => 'ISR', + 'iso_3166_1_numeric' => '376', + 'cctld' => 'il', + 'name_english' => 'Israel', + 'name_korean' => '이스라엘', + 'name_native' => 'ישראל', + ), + array( + 'iso_3166_1_alpha2' => 'IT', + 'iso_3166_1_alpha3' => 'ITA', + 'iso_3166_1_numeric' => '380', + 'cctld' => 'it', + 'name_english' => 'Italy', + 'name_korean' => '이탈리아', + 'name_native' => 'Italia', + ), + array( + 'iso_3166_1_alpha2' => 'CI', + 'iso_3166_1_alpha3' => 'CIV', + 'iso_3166_1_numeric' => '384', + 'cctld' => 'ci', + 'name_english' => 'Côte d\'Ivoire', + 'name_korean' => '코트디부아르', + 'name_native' => 'Côte d\'Ivoire', + ), + array( + 'iso_3166_1_alpha2' => 'JM', + 'iso_3166_1_alpha3' => 'JAM', + 'iso_3166_1_numeric' => '388', + 'cctld' => 'jm', + 'name_english' => 'Jamaica', + 'name_korean' => '자메이카', + 'name_native' => 'Jamaica', + ), + array( + 'iso_3166_1_alpha2' => 'JP', + 'iso_3166_1_alpha3' => 'JPN', + 'iso_3166_1_numeric' => '392', + 'cctld' => 'jp', + 'name_english' => 'Japan', + 'name_korean' => '일본', + 'name_native' => '日本', + ), + array( + 'iso_3166_1_alpha2' => 'KZ', + 'iso_3166_1_alpha3' => 'KAZ', + 'iso_3166_1_numeric' => '398', + 'cctld' => 'kz', + 'name_english' => 'Kazakhstan', + 'name_korean' => '카자흐스탄', + 'name_native' => 'Қазақстан', + ), + array( + 'iso_3166_1_alpha2' => 'JO', + 'iso_3166_1_alpha3' => 'JOR', + 'iso_3166_1_numeric' => '400', + 'cctld' => 'jo', + 'name_english' => 'Jordan', + 'name_korean' => '요르단', + 'name_native' => 'الأردن', + ), + array( + 'iso_3166_1_alpha2' => 'KE', + 'iso_3166_1_alpha3' => 'KEN', + 'iso_3166_1_numeric' => '404', + 'cctld' => 'ke', + 'name_english' => 'Kenya', + 'name_korean' => '케냐', + 'name_native' => 'Kenya', + ), + array( + 'iso_3166_1_alpha2' => 'KP', + 'iso_3166_1_alpha3' => 'PRK', + 'iso_3166_1_numeric' => '408', + 'cctld' => 'kp', + 'name_english' => 'Korea (Democratic People\'s Republic of)', + 'name_korean' => '북한', + 'name_native' => '조선민주주의인민공화국', + ), + array( + 'iso_3166_1_alpha2' => 'KR', + 'iso_3166_1_alpha3' => 'KOR', + 'iso_3166_1_numeric' => '410', + 'cctld' => 'kr', + 'name_english' => 'Korea (Republic of)', + 'name_korean' => '대한민국', + 'name_native' => '대한민국', + ), + array( + 'iso_3166_1_alpha2' => 'KW', + 'iso_3166_1_alpha3' => 'KWT', + 'iso_3166_1_numeric' => '414', + 'cctld' => 'kw', + 'name_english' => 'Kuwait', + 'name_korean' => '쿠웨이트', + 'name_native' => 'دولة الكويت', + ), + array( + 'iso_3166_1_alpha2' => 'KG', + 'iso_3166_1_alpha3' => 'KGZ', + 'iso_3166_1_numeric' => '417', + 'cctld' => 'kg', + 'name_english' => 'Kyrgyzstan', + 'name_korean' => '키르기스스탄', + 'name_native' => 'Кыргызстан', + ), + array( + 'iso_3166_1_alpha2' => 'LA', + 'iso_3166_1_alpha3' => 'LAO', + 'iso_3166_1_numeric' => '418', + 'cctld' => 'la', + 'name_english' => 'Laos', + 'name_korean' => '라오스', + 'name_native' => 'ປະເທດລາວ', + ), + array( + 'iso_3166_1_alpha2' => 'LB', + 'iso_3166_1_alpha3' => 'LBN', + 'iso_3166_1_numeric' => '422', + 'cctld' => 'lb', + 'name_english' => 'Lebanon', + 'name_korean' => '레바논', + 'name_native' => 'لبنان', + ), + array( + 'iso_3166_1_alpha2' => 'LS', + 'iso_3166_1_alpha3' => 'LSO', + 'iso_3166_1_numeric' => '426', + 'cctld' => 'ls', + 'name_english' => 'Lesotho', + 'name_korean' => '레소토', + 'name_native' => 'Lesotho', + ), + array( + 'iso_3166_1_alpha2' => 'LV', + 'iso_3166_1_alpha3' => 'LVA', + 'iso_3166_1_numeric' => '428', + 'cctld' => 'lv', + 'name_english' => 'Latvia', + 'name_korean' => '라트비아', + 'name_native' => 'Latvija', + ), + array( + 'iso_3166_1_alpha2' => 'LR', + 'iso_3166_1_alpha3' => 'LBR', + 'iso_3166_1_numeric' => '430', + 'cctld' => 'lr', + 'name_english' => 'Liberia', + 'name_korean' => '라이베리아', + 'name_native' => 'Liberia', + ), + array( + 'iso_3166_1_alpha2' => 'LY', + 'iso_3166_1_alpha3' => 'LBY', + 'iso_3166_1_numeric' => '434', + 'cctld' => 'ly', + 'name_english' => 'Libya', + 'name_korean' => '리비아', + 'name_native' => 'ليبيا', + ), + array( + 'iso_3166_1_alpha2' => 'LI', + 'iso_3166_1_alpha3' => 'LIE', + 'iso_3166_1_numeric' => '438', + 'cctld' => 'li', + 'name_english' => 'Liechtenstein', + 'name_korean' => '리히텐슈타인', + 'name_native' => 'Liechtenstein', + ), + array( + 'iso_3166_1_alpha2' => 'LT', + 'iso_3166_1_alpha3' => 'LTU', + 'iso_3166_1_numeric' => '440', + 'cctld' => 'lt', + 'name_english' => 'Lithuania', + 'name_korean' => '리투아니아', + 'name_native' => 'Lietuva', + ), + array( + 'iso_3166_1_alpha2' => 'LU', + 'iso_3166_1_alpha3' => 'LUX', + 'iso_3166_1_numeric' => '442', + 'cctld' => 'lu', + 'name_english' => 'Luxembourg', + 'name_korean' => '룩셈부르크', + 'name_native' => 'Lëtzebuerg', + ), + array( + 'iso_3166_1_alpha2' => 'MO', + 'iso_3166_1_alpha3' => 'MAC', + 'iso_3166_1_numeric' => '446', + 'cctld' => 'mo', + 'name_english' => 'Macau', + 'name_korean' => '마카오', + 'name_native' => '澳門', + ), + array( + 'iso_3166_1_alpha2' => 'MG', + 'iso_3166_1_alpha3' => 'MDG', + 'iso_3166_1_numeric' => '450', + 'cctld' => 'mg', + 'name_english' => 'Madagascar', + 'name_korean' => '마다가스카', + 'name_native' => 'Madagasikara', + ), + array( + 'iso_3166_1_alpha2' => 'MW', + 'iso_3166_1_alpha3' => 'MWI', + 'iso_3166_1_numeric' => '454', + 'cctld' => 'mw', + 'name_english' => 'Malawi', + 'name_korean' => '말라위', + 'name_native' => 'Malawi', + ), + array( + 'iso_3166_1_alpha2' => 'MY', + 'iso_3166_1_alpha3' => 'MYS', + 'iso_3166_1_numeric' => '458', + 'cctld' => 'my', + 'name_english' => 'Malaysia', + 'name_korean' => '말레이시아', + 'name_native' => 'Malaysia', + ), + array( + 'iso_3166_1_alpha2' => 'MV', + 'iso_3166_1_alpha3' => 'MDV', + 'iso_3166_1_numeric' => '462', + 'cctld' => 'mv', + 'name_english' => 'Maldives', + 'name_korean' => '몰디브', + 'name_native' => 'ދިވެހިރާއްޖެ', + ), + array( + 'iso_3166_1_alpha2' => 'ML', + 'iso_3166_1_alpha3' => 'MLI', + 'iso_3166_1_numeric' => '466', + 'cctld' => 'ml', + 'name_english' => 'Mali', + 'name_korean' => '말리', + 'name_native' => 'Mali', + ), + array( + 'iso_3166_1_alpha2' => 'MT', + 'iso_3166_1_alpha3' => 'MLT', + 'iso_3166_1_numeric' => '470', + 'cctld' => 'mt', + 'name_english' => 'Malta', + 'name_korean' => '몰타', + 'name_native' => 'Malta', + ), + array( + 'iso_3166_1_alpha2' => 'MQ', + 'iso_3166_1_alpha3' => 'MTQ', + 'iso_3166_1_numeric' => '474', + 'cctld' => 'mq', + 'name_english' => 'Martinique', + 'name_korean' => '마르티니크', + 'name_native' => 'Martinique', + ), + array( + 'iso_3166_1_alpha2' => 'MR', + 'iso_3166_1_alpha3' => 'MRT', + 'iso_3166_1_numeric' => '478', + 'cctld' => 'mr', + 'name_english' => 'Mauritania', + 'name_korean' => '모리타니', + 'name_native' => 'موريتانيا', + ), + array( + 'iso_3166_1_alpha2' => 'MU', + 'iso_3166_1_alpha3' => 'MUS', + 'iso_3166_1_numeric' => '480', + 'cctld' => 'mu', + 'name_english' => 'Mauritius', + 'name_korean' => '모리셔스', + 'name_native' => 'Maurice', + ), + array( + 'iso_3166_1_alpha2' => 'MX', + 'iso_3166_1_alpha3' => 'MEX', + 'iso_3166_1_numeric' => '484', + 'cctld' => 'mx', + 'name_english' => 'Mexico', + 'name_korean' => '멕시코', + 'name_native' => 'México', + ), + array( + 'iso_3166_1_alpha2' => 'MC', + 'iso_3166_1_alpha3' => 'MCO', + 'iso_3166_1_numeric' => '492', + 'cctld' => 'mc', + 'name_english' => 'Monaco', + 'name_korean' => '모나코', + 'name_native' => 'Monaco', + ), + array( + 'iso_3166_1_alpha2' => 'MN', + 'iso_3166_1_alpha3' => 'MNG', + 'iso_3166_1_numeric' => '496', + 'cctld' => 'mn', + 'name_english' => 'Mongolia', + 'name_korean' => '몽골', + 'name_native' => 'Монгол Улс', + ), + array( + 'iso_3166_1_alpha2' => 'MD', + 'iso_3166_1_alpha3' => 'MDA', + 'iso_3166_1_numeric' => '498', + 'cctld' => 'md', + 'name_english' => 'Moldova (Republic of)', + 'name_korean' => '몰도바', + 'name_native' => 'Moldova', + ), + array( + 'iso_3166_1_alpha2' => 'ME', + 'iso_3166_1_alpha3' => 'MNE', + 'iso_3166_1_numeric' => '499', + 'cctld' => 'me', + 'name_english' => 'Montenegro', + 'name_korean' => '몬테네그로', + 'name_native' => 'Црна Гора', + ), + array( + 'iso_3166_1_alpha2' => 'MS', + 'iso_3166_1_alpha3' => 'MSR', + 'iso_3166_1_numeric' => '500', + 'cctld' => 'ms', + 'name_english' => 'Montserrat', + 'name_korean' => '몬트세랫', + 'name_native' => 'Montserrat', + ), + array( + 'iso_3166_1_alpha2' => 'MA', + 'iso_3166_1_alpha3' => 'MAR', + 'iso_3166_1_numeric' => '504', + 'cctld' => 'ma', + 'name_english' => 'Morocco', + 'name_korean' => '모로코', + 'name_native' => 'المغرب', + ), + array( + 'iso_3166_1_alpha2' => 'MZ', + 'iso_3166_1_alpha3' => 'MOZ', + 'iso_3166_1_numeric' => '508', + 'cctld' => 'mz', + 'name_english' => 'Mozambique', + 'name_korean' => '모잠비크', + 'name_native' => 'Moçambique', + ), + array( + 'iso_3166_1_alpha2' => 'OM', + 'iso_3166_1_alpha3' => 'OMN', + 'iso_3166_1_numeric' => '512', + 'cctld' => 'om', + 'name_english' => 'Oman', + 'name_korean' => '오만', + 'name_native' => 'عُمان', + ), + array( + 'iso_3166_1_alpha2' => 'NA', + 'iso_3166_1_alpha3' => 'NAM', + 'iso_3166_1_numeric' => '516', + 'cctld' => 'na', + 'name_english' => 'Namibia', + 'name_korean' => '나미비아', + 'name_native' => 'Namibia', + ), + array( + 'iso_3166_1_alpha2' => 'NR', + 'iso_3166_1_alpha3' => 'NRU', + 'iso_3166_1_numeric' => '520', + 'cctld' => 'nr', + 'name_english' => 'Nauru', + 'name_korean' => '나우루', + 'name_native' => 'Naoero', + ), + array( + 'iso_3166_1_alpha2' => 'NP', + 'iso_3166_1_alpha3' => 'NPL', + 'iso_3166_1_numeric' => '524', + 'cctld' => 'np', + 'name_english' => 'Nepal', + 'name_korean' => '네팔', + 'name_native' => 'नेपाल', + ), + array( + 'iso_3166_1_alpha2' => 'NL', + 'iso_3166_1_alpha3' => 'NLD', + 'iso_3166_1_numeric' => '528', + 'cctld' => 'nl', + 'name_english' => 'Netherlands', + 'name_korean' => '네덜란드', + 'name_native' => 'Nederland', + ), + array( + 'iso_3166_1_alpha2' => 'AN', + 'iso_3166_1_alpha3' => 'ANT', + 'iso_3166_1_numeric' => '530', + 'cctld' => 'an', + 'name_english' => 'Netherlands Antilles', + 'name_korean' => '네덜란드령 안틸레스', + 'name_native' => 'Nederlandse Antillen', + ), + array( + 'iso_3166_1_alpha2' => 'CW', + 'iso_3166_1_alpha3' => 'CUW', + 'iso_3166_1_numeric' => '531', + 'cctld' => 'cw', + 'name_english' => 'Curaçao', + 'name_korean' => '퀴라소', + 'name_native' => 'Curaçao', + ), + array( + 'iso_3166_1_alpha2' => 'AW', + 'iso_3166_1_alpha3' => 'ABW', + 'iso_3166_1_numeric' => '533', + 'cctld' => 'aw', + 'name_english' => 'Aruba', + 'name_korean' => '아루바', + 'name_native' => 'Aruba', + ), + array( + 'iso_3166_1_alpha2' => 'SX', + 'iso_3166_1_alpha3' => 'SXM', + 'iso_3166_1_numeric' => '534', + 'cctld' => 'sx', + 'name_english' => 'Sint Maarten (Dutch)', + 'name_korean' => '신트마르턴 (네덜란드령)', + 'name_native' => 'Sint Maarten', + ), + array( + 'iso_3166_1_alpha2' => 'BQ', + 'iso_3166_1_alpha3' => 'BES', + 'iso_3166_1_numeric' => '535', + 'cctld' => 'bq', + 'name_english' => 'Caribbean Netherlands', + 'name_korean' => '네덜란드령 카리브', + 'name_native' => 'Caribisch Nederland', + ), + array( + 'iso_3166_1_alpha2' => 'NC', + 'iso_3166_1_alpha3' => 'NCL', + 'iso_3166_1_numeric' => '540', + 'cctld' => 'nc', + 'name_english' => 'New Caledonia', + 'name_korean' => '누벨칼레도니', + 'name_native' => 'Nouvelle-Calédonie', + ), + array( + 'iso_3166_1_alpha2' => 'VU', + 'iso_3166_1_alpha3' => 'VUT', + 'iso_3166_1_numeric' => '548', + 'cctld' => 'vu', + 'name_english' => 'Vanuatu', + 'name_korean' => '바누아투', + 'name_native' => 'Vanuatu', + ), + array( + 'iso_3166_1_alpha2' => 'NZ', + 'iso_3166_1_alpha3' => 'NZL', + 'iso_3166_1_numeric' => '554', + 'cctld' => 'nz', + 'name_english' => 'New Zealand', + 'name_korean' => '뉴질랜드', + 'name_native' => 'New Zealand', + ), + array( + 'iso_3166_1_alpha2' => 'NI', + 'iso_3166_1_alpha3' => 'NIC', + 'iso_3166_1_numeric' => '558', + 'cctld' => 'ni', + 'name_english' => 'Nicaragua', + 'name_korean' => '니카라과', + 'name_native' => 'Nicaragua', + ), + array( + 'iso_3166_1_alpha2' => 'NE', + 'iso_3166_1_alpha3' => 'NER', + 'iso_3166_1_numeric' => '562', + 'cctld' => 'ne', + 'name_english' => 'Niger', + 'name_korean' => '니제르', + 'name_native' => 'Niger', + ), + array( + 'iso_3166_1_alpha2' => 'NG', + 'iso_3166_1_alpha3' => 'NGA', + 'iso_3166_1_numeric' => '566', + 'cctld' => 'ng', + 'name_english' => 'Nigeria', + 'name_korean' => '나이지리아', + 'name_native' => 'Nigeria', + ), + array( + 'iso_3166_1_alpha2' => 'NU', + 'iso_3166_1_alpha3' => 'NIU', + 'iso_3166_1_numeric' => '570', + 'cctld' => 'nu', + 'name_english' => 'Niue', + 'name_korean' => '니우에', + 'name_native' => 'Niuē', + ), + array( + 'iso_3166_1_alpha2' => 'NF', + 'iso_3166_1_alpha3' => 'NFK', + 'iso_3166_1_numeric' => '574', + 'cctld' => 'nf', + 'name_english' => 'Norfolk Island', + 'name_korean' => '노퍽 섬', + 'name_native' => 'Norfolk Island', + ), + array( + 'iso_3166_1_alpha2' => 'NO', + 'iso_3166_1_alpha3' => 'NOR', + 'iso_3166_1_numeric' => '578', + 'cctld' => 'no', + 'name_english' => 'Norway', + 'name_korean' => '노르웨이', + 'name_native' => 'Norge', + ), + array( + 'iso_3166_1_alpha2' => 'MP', + 'iso_3166_1_alpha3' => 'MNP', + 'iso_3166_1_numeric' => '580', + 'cctld' => 'mp', + 'name_english' => 'Northern Mariana Islands', + 'name_korean' => '북마리아나 제도', + 'name_native' => 'Northern Mariana Islands', + ), + array( + 'iso_3166_1_alpha2' => 'UM', + 'iso_3166_1_alpha3' => 'UMI', + 'iso_3166_1_numeric' => '581', + 'cctld' => 'um', + 'name_english' => 'United States Minor Outlying Islands', + 'name_korean' => '미국령 군소 제도', + 'name_native' => 'United States Minor Outlying Islands', + ), + array( + 'iso_3166_1_alpha2' => 'FM', + 'iso_3166_1_alpha3' => 'FSM', + 'iso_3166_1_numeric' => '583', + 'cctld' => 'fm', + 'name_english' => 'Federated States of Micronesia', + 'name_korean' => '미크로네시아 연방', + 'name_native' => 'Federated States of Micronesia', + ), + array( + 'iso_3166_1_alpha2' => 'MH', + 'iso_3166_1_alpha3' => 'MHL', + 'iso_3166_1_numeric' => '584', + 'cctld' => 'mh', + 'name_english' => 'Marshall Islands', + 'name_korean' => '마셜 제도', + 'name_native' => 'Marshall Islands', + ), + array( + 'iso_3166_1_alpha2' => 'PW', + 'iso_3166_1_alpha3' => 'PLW', + 'iso_3166_1_numeric' => '585', + 'cctld' => 'pw', + 'name_english' => 'Palau', + 'name_korean' => '팔라우', + 'name_native' => 'Belau', + ), + array( + 'iso_3166_1_alpha2' => 'PK', + 'iso_3166_1_alpha3' => 'PAK', + 'iso_3166_1_numeric' => '586', + 'cctld' => 'pk', + 'name_english' => 'Pakistan', + 'name_korean' => '파키스탄', + 'name_native' => 'پاکستان', + ), + array( + 'iso_3166_1_alpha2' => 'PA', + 'iso_3166_1_alpha3' => 'PAN', + 'iso_3166_1_numeric' => '591', + 'cctld' => 'pa', + 'name_english' => 'Panama', + 'name_korean' => '파나마', + 'name_native' => 'Panamá', + ), + array( + 'iso_3166_1_alpha2' => 'PG', + 'iso_3166_1_alpha3' => 'PNG', + 'iso_3166_1_numeric' => '598', + 'cctld' => 'pg', + 'name_english' => 'Papua New Guinea', + 'name_korean' => '파푸아 뉴기니', + 'name_native' => 'Papua New Guinea', + ), + array( + 'iso_3166_1_alpha2' => 'PY', + 'iso_3166_1_alpha3' => 'PRY', + 'iso_3166_1_numeric' => '600', + 'cctld' => 'py', + 'name_english' => 'Paraguay', + 'name_korean' => '파라과이', + 'name_native' => 'Paraguay', + ), + array( + 'iso_3166_1_alpha2' => 'PE', + 'iso_3166_1_alpha3' => 'PER', + 'iso_3166_1_numeric' => '604', + 'cctld' => 'pe', + 'name_english' => 'Peru', + 'name_korean' => '페루', + 'name_native' => 'Perú', + ), + array( + 'iso_3166_1_alpha2' => 'PH', + 'iso_3166_1_alpha3' => 'PHL', + 'iso_3166_1_numeric' => '608', + 'cctld' => 'ph', + 'name_english' => 'Philippines', + 'name_korean' => '필리핀', + 'name_native' => 'Pilipinas', + ), + array( + 'iso_3166_1_alpha2' => 'PN', + 'iso_3166_1_alpha3' => 'PCN', + 'iso_3166_1_numeric' => '612', + 'cctld' => 'pn', + 'name_english' => 'Pitcairn Islands', + 'name_korean' => '핏케언 제도', + 'name_native' => 'Pitcairn Islands', + ), + array( + 'iso_3166_1_alpha2' => 'PL', + 'iso_3166_1_alpha3' => 'POL', + 'iso_3166_1_numeric' => '616', + 'cctld' => 'pl', + 'name_english' => 'Poland', + 'name_korean' => '폴란드', + 'name_native' => 'Polska', + ), + array( + 'iso_3166_1_alpha2' => 'PT', + 'iso_3166_1_alpha3' => 'PRT', + 'iso_3166_1_numeric' => '620', + 'cctld' => 'pt', + 'name_english' => 'Portugal', + 'name_korean' => '포르투갈', + 'name_native' => 'Portugal', + ), + array( + 'iso_3166_1_alpha2' => 'GW', + 'iso_3166_1_alpha3' => 'GNB', + 'iso_3166_1_numeric' => '624', + 'cctld' => 'gw', + 'name_english' => 'Guinea-Bissau', + 'name_korean' => '기니비사우', + 'name_native' => 'Guiné-Bissau', + ), + array( + 'iso_3166_1_alpha2' => 'TL', + 'iso_3166_1_alpha3' => 'TLS', + 'iso_3166_1_numeric' => '626', + 'cctld' => 'tl', + 'name_english' => 'Timor-Leste', + 'name_korean' => '동티모르', + 'name_native' => 'Timor Lorosa\'e', + ), + array( + 'iso_3166_1_alpha2' => 'PR', + 'iso_3166_1_alpha3' => 'PRI', + 'iso_3166_1_numeric' => '630', + 'cctld' => 'pr', + 'name_english' => 'Puerto Rico', + 'name_korean' => '푸에르토리코', + 'name_native' => 'Puerto Rico', + ), + array( + 'iso_3166_1_alpha2' => 'QA', + 'iso_3166_1_alpha3' => 'QAT', + 'iso_3166_1_numeric' => '634', + 'cctld' => 'qa', + 'name_english' => 'Qatar', + 'name_korean' => '카타르', + 'name_native' => 'قطر', + ), + array( + 'iso_3166_1_alpha2' => 'RE', + 'iso_3166_1_alpha3' => 'REU', + 'iso_3166_1_numeric' => '638', + 'cctld' => 're', + 'name_english' => 'Réunion', + 'name_korean' => '레위니옹', + 'name_native' => 'Réunion', + ), + array( + 'iso_3166_1_alpha2' => 'RO', + 'iso_3166_1_alpha3' => 'ROU', + 'iso_3166_1_numeric' => '642', + 'cctld' => 'ro', + 'name_english' => 'Romania', + 'name_korean' => '루마니아', + 'name_native' => 'România', + ), + array( + 'iso_3166_1_alpha2' => 'RU', + 'iso_3166_1_alpha3' => 'RUS', + 'iso_3166_1_numeric' => '643', + 'cctld' => 'ru', + 'name_english' => 'Russia', + 'name_korean' => '러시아', + 'name_native' => 'Россия', + ), + array( + 'iso_3166_1_alpha2' => 'RW', + 'iso_3166_1_alpha3' => 'RWA', + 'iso_3166_1_numeric' => '646', + 'cctld' => 'rw', + 'name_english' => 'Rwanda', + 'name_korean' => '르완다', + 'name_native' => 'Rwanda', + ), + array( + 'iso_3166_1_alpha2' => 'BL', + 'iso_3166_1_alpha3' => 'BLM', + 'iso_3166_1_numeric' => '652', + 'cctld' => 'bl', + 'name_english' => 'Saint-Barthélemy', + 'name_korean' => '생바르텔레미', + 'name_native' => 'Saint-Barthélemy', + ), + array( + 'iso_3166_1_alpha2' => 'SH', + 'iso_3166_1_alpha3' => 'SHN', + 'iso_3166_1_numeric' => '654', + 'cctld' => 'sh', + 'name_english' => 'Saint Helena, Ascension and Tristan da Cunha', + 'name_korean' => '세인트헬레나', + 'name_native' => 'Saint Helena, Ascension and Tristan da Cunha', + ), + array( + 'iso_3166_1_alpha2' => 'KN', + 'iso_3166_1_alpha3' => 'KNA', + 'iso_3166_1_numeric' => '659', + 'cctld' => 'kn', + 'name_english' => 'Saint Kitts and Nevis', + 'name_korean' => '세인트키츠 네비스', + 'name_native' => 'Saint Kitts and Nevis', + ), + array( + 'iso_3166_1_alpha2' => 'AI', + 'iso_3166_1_alpha3' => 'AIA', + 'iso_3166_1_numeric' => '660', + 'cctld' => 'ai', + 'name_english' => 'Anguilla', + 'name_korean' => '앵귈라', + 'name_native' => 'Anguilla', + ), + array( + 'iso_3166_1_alpha2' => 'LC', + 'iso_3166_1_alpha3' => 'LCA', + 'iso_3166_1_numeric' => '662', + 'cctld' => 'lc', + 'name_english' => 'Saint Lucia', + 'name_korean' => '세인트루시아', + 'name_native' => 'Saint Lucia', + ), + array( + 'iso_3166_1_alpha2' => 'MF', + 'iso_3166_1_alpha3' => 'MAF', + 'iso_3166_1_numeric' => '663', + 'cctld' => 'mf', + 'name_english' => 'Saint-Martin (French)', + 'name_korean' => '생마르탱 (프랑스령)', + 'name_native' => 'Saint-Martin', + ), + array( + 'iso_3166_1_alpha2' => 'PM', + 'iso_3166_1_alpha3' => 'SPM', + 'iso_3166_1_numeric' => '666', + 'cctld' => 'pm', + 'name_english' => 'Saint Pierre and Miquelon', + 'name_korean' => '생피에르 미클롱', + 'name_native' => 'Saint-Pierre et Miquelon', + ), + array( + 'iso_3166_1_alpha2' => 'VC', + 'iso_3166_1_alpha3' => 'VCT', + 'iso_3166_1_numeric' => '670', + 'cctld' => 'vc', + 'name_english' => 'Saint Vincent and the Grenadines', + 'name_korean' => '세인트빈센트 그레나', + 'name_native' => 'Saint Vincent and the Grenadines', + ), + array( + 'iso_3166_1_alpha2' => 'SM', + 'iso_3166_1_alpha3' => 'SMR', + 'iso_3166_1_numeric' => '674', + 'cctld' => 'sm', + 'name_english' => 'San Marino', + 'name_korean' => '산마리노', + 'name_native' => 'San Marino', + ), + array( + 'iso_3166_1_alpha2' => 'ST', + 'iso_3166_1_alpha3' => 'STP', + 'iso_3166_1_numeric' => '678', + 'cctld' => 'st', + 'name_english' => 'Sao Tome and Principe', + 'name_korean' => '상투메 프린시페', + 'name_native' => 'São Tomé e Príncipe', + ), + array( + 'iso_3166_1_alpha2' => 'SA', + 'iso_3166_1_alpha3' => 'SAU', + 'iso_3166_1_numeric' => '682', + 'cctld' => 'sa', + 'name_english' => 'Saudi Arabia', + 'name_korean' => '사우디아라비아', + 'name_native' => 'المملكة العربية السعودية', + ), + array( + 'iso_3166_1_alpha2' => 'SN', + 'iso_3166_1_alpha3' => 'SEN', + 'iso_3166_1_numeric' => '686', + 'cctld' => 'sn', + 'name_english' => 'Senegal', + 'name_korean' => '세네갈', + 'name_native' => 'Sénégal', + ), + array( + 'iso_3166_1_alpha2' => 'RS', + 'iso_3166_1_alpha3' => 'SRB', + 'iso_3166_1_numeric' => '688', + 'cctld' => 'rs', + 'name_english' => 'Serbia', + 'name_korean' => '세르비아', + 'name_native' => 'Србија', + ), + array( + 'iso_3166_1_alpha2' => 'SC', + 'iso_3166_1_alpha3' => 'SYC', + 'iso_3166_1_numeric' => '690', + 'cctld' => 'sc', + 'name_english' => 'Seychelles', + 'name_korean' => '세이셸', + 'name_native' => 'Sesel', + ), + array( + 'iso_3166_1_alpha2' => 'SL', + 'iso_3166_1_alpha3' => 'SLE', + 'iso_3166_1_numeric' => '694', + 'cctld' => 'sl', + 'name_english' => 'Sierra Leone', + 'name_korean' => '시에라리온', + 'name_native' => 'Sierra Leone', + ), + array( + 'iso_3166_1_alpha2' => 'SG', + 'iso_3166_1_alpha3' => 'SGP', + 'iso_3166_1_numeric' => '702', + 'cctld' => 'sg', + 'name_english' => 'Singapore', + 'name_korean' => '싱가포르', + 'name_native' => 'Singapura', + ), + array( + 'iso_3166_1_alpha2' => 'SK', + 'iso_3166_1_alpha3' => 'SVK', + 'iso_3166_1_numeric' => '703', + 'cctld' => 'sk', + 'name_english' => 'Slovakia', + 'name_korean' => '슬로바키아', + 'name_native' => 'Slovensko', + ), + array( + 'iso_3166_1_alpha2' => 'VN', + 'iso_3166_1_alpha3' => 'VNM', + 'iso_3166_1_numeric' => '704', + 'cctld' => 'vn', + 'name_english' => 'Viet Nam', + 'name_korean' => '베트남', + 'name_native' => 'Việt Nam', + ), + array( + 'iso_3166_1_alpha2' => 'SI', + 'iso_3166_1_alpha3' => 'SVN', + 'iso_3166_1_numeric' => '705', + 'cctld' => 'si', + 'name_english' => 'Slovenia', + 'name_korean' => '슬로베니아', + 'name_native' => 'Slovenija', + ), + array( + 'iso_3166_1_alpha2' => 'SO', + 'iso_3166_1_alpha3' => 'SOM', + 'iso_3166_1_numeric' => '706', + 'cctld' => 'so', + 'name_english' => 'Somalia', + 'name_korean' => '소말리아', + 'name_native' => 'الصومال', + ), + array( + 'iso_3166_1_alpha2' => 'ZA', + 'iso_3166_1_alpha3' => 'ZAF', + 'iso_3166_1_numeric' => '710', + 'cctld' => 'za', + 'name_english' => 'South Africa', + 'name_korean' => '남아프리카 공화국', + 'name_native' => 'South Africa', + ), + array( + 'iso_3166_1_alpha2' => 'ZW', + 'iso_3166_1_alpha3' => 'ZWE', + 'iso_3166_1_numeric' => '716', + 'cctld' => 'zw', + 'name_english' => 'Zimbabwe', + 'name_korean' => '짐바브웨', + 'name_native' => 'Zimbabwe', + ), + array( + 'iso_3166_1_alpha2' => 'ES', + 'iso_3166_1_alpha3' => 'ESP', + 'iso_3166_1_numeric' => '724', + 'cctld' => 'es', + 'name_english' => 'Spain', + 'name_korean' => '스페인', + 'name_native' => 'España', + ), + array( + 'iso_3166_1_alpha2' => 'SS', + 'iso_3166_1_alpha3' => 'SSD', + 'iso_3166_1_numeric' => '728', + 'cctld' => 'ss', + 'name_english' => 'South Sudan', + 'name_korean' => '남수단', + 'name_native' => 'South Sudan', + ), + array( + 'iso_3166_1_alpha2' => 'SD', + 'iso_3166_1_alpha3' => 'SDN', + 'iso_3166_1_numeric' => '729', + 'cctld' => 'sd', + 'name_english' => 'Sudan', + 'name_korean' => '수단', + 'name_native' => 'السودان', + ), + array( + 'iso_3166_1_alpha2' => 'EH', + 'iso_3166_1_alpha3' => 'ESH', + 'iso_3166_1_numeric' => '732', + 'cctld' => 'eh', + 'name_english' => 'Western Sahara', + 'name_korean' => '서사하라', + 'name_native' => 'الصحراء الغربية', + ), + array( + 'iso_3166_1_alpha2' => 'SR', + 'iso_3166_1_alpha3' => 'SUR', + 'iso_3166_1_numeric' => '740', + 'cctld' => 'sr', + 'name_english' => 'Suriname', + 'name_korean' => '수리남', + 'name_native' => 'Suriname', + ), + array( + 'iso_3166_1_alpha2' => 'SJ', + 'iso_3166_1_alpha3' => 'SJM', + 'iso_3166_1_numeric' => '744', + 'cctld' => 'sj', + 'name_english' => 'Svalbard', + 'name_korean' => '스발바르', + 'name_native' => 'Svalbard', + ), + array( + 'iso_3166_1_alpha2' => 'SZ', + 'iso_3166_1_alpha3' => 'SWZ', + 'iso_3166_1_numeric' => '748', + 'cctld' => 'sz', + 'name_english' => 'Swaziland', + 'name_korean' => '스와질란드', + 'name_native' => 'Umbuso weSwatini', + ), + array( + 'iso_3166_1_alpha2' => 'SE', + 'iso_3166_1_alpha3' => 'SWE', + 'iso_3166_1_numeric' => '752', + 'cctld' => 'se', + 'name_english' => 'Sweden', + 'name_korean' => '스웨덴', + 'name_native' => 'Sverige', + ), + array( + 'iso_3166_1_alpha2' => 'CH', + 'iso_3166_1_alpha3' => 'CHE', + 'iso_3166_1_numeric' => '756', + 'cctld' => 'ch', + 'name_english' => 'Switzerland', + 'name_korean' => '스위스', + 'name_native' => 'Schweiz, Suisse, Svizzera, Svizra', + ), + array( + 'iso_3166_1_alpha2' => 'SY', + 'iso_3166_1_alpha3' => 'SYR', + 'iso_3166_1_numeric' => '760', + 'cctld' => 'sy', + 'name_english' => 'Syria', + 'name_korean' => '시리아', + 'name_native' => 'سورية', + ), + array( + 'iso_3166_1_alpha2' => 'TJ', + 'iso_3166_1_alpha3' => 'TJK', + 'iso_3166_1_numeric' => '762', + 'cctld' => 'tj', + 'name_english' => 'Tajikistan', + 'name_korean' => '타지키스탄', + 'name_native' => 'Тоҷикистон', + ), + array( + 'iso_3166_1_alpha2' => 'TH', + 'iso_3166_1_alpha3' => 'THA', + 'iso_3166_1_numeric' => '764', + 'cctld' => 'th', + 'name_english' => 'Thailand', + 'name_korean' => '태국', + 'name_native' => 'ประเทศไทย', + ), + array( + 'iso_3166_1_alpha2' => 'TG', + 'iso_3166_1_alpha3' => 'TGO', + 'iso_3166_1_numeric' => '768', + 'cctld' => 'tg', + 'name_english' => 'Togo', + 'name_korean' => '토고', + 'name_native' => 'Togo', + ), + array( + 'iso_3166_1_alpha2' => 'TK', + 'iso_3166_1_alpha3' => 'TKL', + 'iso_3166_1_numeric' => '772', + 'cctld' => 'tk', + 'name_english' => 'Tokelau', + 'name_korean' => '토켈라우', + 'name_native' => 'Tokelau', + ), + array( + 'iso_3166_1_alpha2' => 'TO', + 'iso_3166_1_alpha3' => 'TON', + 'iso_3166_1_numeric' => '776', + 'cctld' => 'to', + 'name_english' => 'Tonga', + 'name_korean' => '통가', + 'name_native' => 'Tonga', + ), + array( + 'iso_3166_1_alpha2' => 'TT', + 'iso_3166_1_alpha3' => 'TTO', + 'iso_3166_1_numeric' => '780', + 'cctld' => 'tt', + 'name_english' => 'Trinidad and Tobago', + 'name_korean' => '트리니다드 토바고', + 'name_native' => 'Trinidad and Tobago', + ), + array( + 'iso_3166_1_alpha2' => 'AE', + 'iso_3166_1_alpha3' => 'ARE', + 'iso_3166_1_numeric' => '784', + 'cctld' => 'ae', + 'name_english' => 'United Arab Emirates', + 'name_korean' => '아랍에미리트', + 'name_native' => 'الإمارات العربيّة المتّحدة', + ), + array( + 'iso_3166_1_alpha2' => 'TN', + 'iso_3166_1_alpha3' => 'TUN', + 'iso_3166_1_numeric' => '788', + 'cctld' => 'tn', + 'name_english' => 'Tunisia', + 'name_korean' => '튀니지', + 'name_native' => 'تونس', + ), + array( + 'iso_3166_1_alpha2' => 'TR', + 'iso_3166_1_alpha3' => 'TUR', + 'iso_3166_1_numeric' => '792', + 'cctld' => 'tr', + 'name_english' => 'Turkey', + 'name_korean' => '터키', + 'name_native' => 'Türkiye', + ), + array( + 'iso_3166_1_alpha2' => 'TM', + 'iso_3166_1_alpha3' => 'TKM', + 'iso_3166_1_numeric' => '795', + 'cctld' => 'tm', + 'name_english' => 'Turkmenistan', + 'name_korean' => '투르크메니스탄', + 'name_native' => 'Türkmenistan', + ), + array( + 'iso_3166_1_alpha2' => 'TC', + 'iso_3166_1_alpha3' => 'TCA', + 'iso_3166_1_numeric' => '796', + 'cctld' => 'tc', + 'name_english' => 'Turks and Caicos Islands', + 'name_korean' => '터크스 케이커스 제도', + 'name_native' => 'Turks and Caicos Islands', + ), + array( + 'iso_3166_1_alpha2' => 'TV', + 'iso_3166_1_alpha3' => 'TUV', + 'iso_3166_1_numeric' => '798', + 'cctld' => 'tv', + 'name_english' => 'Tuvalu', + 'name_korean' => '투발루', + 'name_native' => 'Tuvalu', + ), + array( + 'iso_3166_1_alpha2' => 'UG', + 'iso_3166_1_alpha3' => 'UGA', + 'iso_3166_1_numeric' => '800', + 'cctld' => 'ug', + 'name_english' => 'Uganda', + 'name_korean' => '우간다', + 'name_native' => 'Uganda', + ), + array( + 'iso_3166_1_alpha2' => 'UA', + 'iso_3166_1_alpha3' => 'UKR', + 'iso_3166_1_numeric' => '804', + 'cctld' => 'ua', + 'name_english' => 'Ukraine', + 'name_korean' => '우크라이나', + 'name_native' => 'Україна', + ), + array( + 'iso_3166_1_alpha2' => 'MK', + 'iso_3166_1_alpha3' => 'MKD', + 'iso_3166_1_numeric' => '807', + 'cctld' => 'mk', + 'name_english' => 'Macedonia', + 'name_korean' => '마케도니아', + 'name_native' => 'Македонија', + ), + array( + 'iso_3166_1_alpha2' => 'EG', + 'iso_3166_1_alpha3' => 'EGY', + 'iso_3166_1_numeric' => '818', + 'cctld' => 'eg', + 'name_english' => 'Egypt', + 'name_korean' => '이집트', + 'name_native' => 'مصر', + ), + array( + 'iso_3166_1_alpha2' => 'GB', + 'iso_3166_1_alpha3' => 'GBR', + 'iso_3166_1_numeric' => '826', + 'cctld' => 'gb', + 'name_english' => 'United Kingdom', + 'name_korean' => '영국', + 'name_native' => 'United Kingdom', + ), + array( + 'iso_3166_1_alpha2' => 'GG', + 'iso_3166_1_alpha3' => 'GGY', + 'iso_3166_1_numeric' => '831', + 'cctld' => 'gg', + 'name_english' => 'Guernsey', + 'name_korean' => '건지 섬', + 'name_native' => 'Guernsey', + ), + array( + 'iso_3166_1_alpha2' => 'JE', + 'iso_3166_1_alpha3' => 'JEY', + 'iso_3166_1_numeric' => '832', + 'cctld' => 'je', + 'name_english' => 'Jersey', + 'name_korean' => '저지 섬', + 'name_native' => 'Jersey', + ), + array( + 'iso_3166_1_alpha2' => 'IM', + 'iso_3166_1_alpha3' => 'IMN', + 'iso_3166_1_numeric' => '833', + 'cctld' => 'im', + 'name_english' => 'Isle of Man', + 'name_korean' => '맨 섬', + 'name_native' => 'Isle of Man', + ), + array( + 'iso_3166_1_alpha2' => 'TZ', + 'iso_3166_1_alpha3' => 'TZA', + 'iso_3166_1_numeric' => '834', + 'cctld' => 'tz', + 'name_english' => 'Tanzania', + 'name_korean' => '탄자니아', + 'name_native' => 'Tanzania', + ), + array( + 'iso_3166_1_alpha2' => 'US', + 'iso_3166_1_alpha3' => 'USA', + 'iso_3166_1_numeric' => '840', + 'cctld' => 'us', + 'name_english' => 'United States of America', + 'name_korean' => '미국', + 'name_native' => 'United States of America', + ), + array( + 'iso_3166_1_alpha2' => 'VI', + 'iso_3166_1_alpha3' => 'VIR', + 'iso_3166_1_numeric' => '850', + 'cctld' => 'vi', + 'name_english' => 'Virgin Islands (U.S.)', + 'name_korean' => '미국령 버진아일랜드', + 'name_native' => 'Virgin Islands (U.S.)', + ), + array( + 'iso_3166_1_alpha2' => 'BF', + 'iso_3166_1_alpha3' => 'BFA', + 'iso_3166_1_numeric' => '854', + 'cctld' => 'bf', + 'name_english' => 'Burkina Faso', + 'name_korean' => '부르키나파소', + 'name_native' => 'Burkina Faso', + ), + array( + 'iso_3166_1_alpha2' => 'UY', + 'iso_3166_1_alpha3' => 'URY', + 'iso_3166_1_numeric' => '858', + 'cctld' => 'uy', + 'name_english' => 'Uruguay', + 'name_korean' => '우루과이', + 'name_native' => 'Uruguay', + ), + array( + 'iso_3166_1_alpha2' => 'UZ', + 'iso_3166_1_alpha3' => 'UZB', + 'iso_3166_1_numeric' => '860', + 'cctld' => 'uz', + 'name_english' => 'Uzbekistan', + 'name_korean' => '우즈베키스탄', + 'name_native' => 'Ўзбекистон', + ), + array( + 'iso_3166_1_alpha2' => 'VE', + 'iso_3166_1_alpha3' => 'VEN', + 'iso_3166_1_numeric' => '862', + 'cctld' => 've', + 'name_english' => 'Venezuela', + 'name_korean' => '베네수엘라', + 'name_native' => 'Venezuela', + ), + array( + 'iso_3166_1_alpha2' => 'WF', + 'iso_3166_1_alpha3' => 'WLF', + 'iso_3166_1_numeric' => '876', + 'cctld' => 'wf', + 'name_english' => 'Wallis and Futuna', + 'name_korean' => '왈리스 퓌튀나', + 'name_native' => 'Wallis-et-Futuna', + ), + array( + 'iso_3166_1_alpha2' => 'WS', + 'iso_3166_1_alpha3' => 'WSM', + 'iso_3166_1_numeric' => '882', + 'cctld' => 'ws', + 'name_english' => 'Samoa', + 'name_korean' => '사모아', + 'name_native' => 'Samoa', + ), + array( + 'iso_3166_1_alpha2' => 'YE', + 'iso_3166_1_alpha3' => 'YEM', + 'iso_3166_1_numeric' => '887', + 'cctld' => 'ye', + 'name_english' => 'Yemen', + 'name_korean' => '예멘', + 'name_native' => 'اليمن', + ), + array( + 'iso_3166_1_alpha2' => 'ZM', + 'iso_3166_1_alpha3' => 'ZMB', + 'iso_3166_1_numeric' => '894', + 'cctld' => 'zm', + 'name_english' => 'Zambia', + 'name_korean' => '잠비아', + 'name_native' => 'Zambia', + ), +); diff --git a/common/defaults/korea.ipv4.php b/common/defaults/korea.ipv4.php new file mode 100644 index 000000000..d2ce958aa --- /dev/null +++ b/common/defaults/korea.ipv4.php @@ -0,0 +1,3863 @@ + + array ( + 0 => '17498112', + 1 => '17563647', + ), + 1 => + array ( + 0 => '17825792', + 1 => '17842175', + ), + 2 => + array ( + 0 => '23068672', + 1 => '24117247', + ), + 3 => + array ( + 0 => '28311552', + 1 => '28442623', + ), + 4 => + array ( + 0 => '29949952', + 1 => '30015487', + ), + 5 => + array ( + 0 => '30408704', + 1 => '33554431', + ), + 6 => + array ( + 0 => '234889216', + 1 => '234913791', + ), + 7 => + array ( + 0 => '235143168', + 1 => '235405311', + ), + 8 => + array ( + 0 => '236978176', + 1 => '241172479', + ), + 9 => + array ( + 0 => '243302400', + 1 => '243400703', + ), + 10 => + array ( + 0 => '243924992', + 1 => '243990527', + ), + 11 => + array ( + 0 => '247484416', + 1 => '247488511', + ), + 12 => + array ( + 0 => '248381440', + 1 => '248446975', + ), + 13 => + array ( + 0 => '453045248', + 1 => '453046271', + ), + 14 => + array ( + 0 => '453050368', + 1 => '453115903', + ), + 15 => + array ( + 0 => '455278592', + 1 => '455344127', + ), + 16 => + array ( + 0 => '459309056', + 1 => '459325439', + ), + 17 => + array ( + 0 => '459571200', + 1 => '459735039', + ), + 18 => + array ( + 0 => '460283904', + 1 => '460292095', + ), + 19 => + array ( + 0 => '460357632', + 1 => '460423167', + ), + 20 => + array ( + 0 => '460554240', + 1 => '460587007', + ), + 21 => + array ( + 0 => '460603392', + 1 => '460718079', + ), + 22 => + array ( + 0 => '460734464', + 1 => '460865535', + ), + 23 => + array ( + 0 => '461012992', + 1 => '461045759', + ), + 24 => + array ( + 0 => '461144064', + 1 => '461209599', + ), + 25 => + array ( + 0 => '461242368', + 1 => '461258751', + ), + 26 => + array ( + 0 => '463470592', + 1 => '465043455', + ), + 27 => + array ( + 0 => '468189184', + 1 => '468713471', + ), + 28 => + array ( + 0 => '469712896', + 1 => '469729279', + ), + 29 => + array ( + 0 => '606470144', + 1 => '606601215', + ), + 30 => + array ( + 0 => '654573568', + 1 => '654835711', + ), + 31 => + array ( + 0 => '655360000', + 1 => '656408575', + ), + 32 => + array ( + 0 => '661651456', + 1 => '662700031', + ), + 33 => + array ( + 0 => '705167360', + 1 => '707788799', + ), + 34 => + array ( + 0 => '710017024', + 1 => '710082559', + ), + 35 => + array ( + 0 => '736126976', + 1 => '736127999', + ), + 36 => + array ( + 0 => '736326656', + 1 => '736328703', + ), + 37 => + array ( + 0 => '736403456', + 1 => '736404479', + ), + 38 => + array ( + 0 => '736493568', + 1 => '736494591', + ), + 39 => + array ( + 0 => '736513024', + 1 => '736515071', + ), + 40 => + array ( + 0 => '736548864', + 1 => '736549887', + ), + 41 => + array ( + 0 => '737241088', + 1 => '737243135', + ), + 42 => + array ( + 0 => '737308672', + 1 => '737309695', + ), + 43 => + array ( + 0 => '737400832', + 1 => '737401855', + ), + 44 => + array ( + 0 => '737581056', + 1 => '737582079', + ), + 45 => + array ( + 0 => '737634304', + 1 => '737635327', + ), + 46 => + array ( + 0 => '737656832', + 1 => '737657855', + ), + 47 => + array ( + 0 => '737843200', + 1 => '737844223', + ), + 48 => + array ( + 0 => '737900544', + 1 => '737901567', + ), + 49 => + array ( + 0 => '738128896', + 1 => '738129919', + ), + 50 => + array ( + 0 => '738195456', + 1 => '738197503', + ), + 51 => + array ( + 0 => '759204864', + 1 => '759206911', + ), + 52 => + array ( + 0 => '759207936', + 1 => '759208959', + ), + 53 => + array ( + 0 => '759213056', + 1 => '759214079', + ), + 54 => + array ( + 0 => '762337280', + 1 => '762345471', + ), + 55 => + array ( + 0 => '762353664', + 1 => '762358783', + ), + 56 => + array ( + 0 => '762391552', + 1 => '762393599', + ), + 57 => + array ( + 0 => '762550272', + 1 => '762551295', + ), + 58 => + array ( + 0 => '762645504', + 1 => '762646527', + ), + 59 => + array ( + 0 => '762810368', + 1 => '762811391', + ), + 60 => + array ( + 0 => '762855424', + 1 => '762857471', + ), + 61 => + array ( + 0 => '762946560', + 1 => '762947583', + ), + 62 => + array ( + 0 => '763226112', + 1 => '763227135', + ), + 63 => + array ( + 0 => '822149120', + 1 => '822214655', + ), + 64 => + array ( + 0 => '823132160', + 1 => '824180735', + ), + 65 => + array ( + 0 => '825360384', + 1 => '825361407', + ), + 66 => + array ( + 0 => '825364480', + 1 => '825376767', + ), + 67 => + array ( + 0 => '825393152', + 1 => '825409535', + ), + 68 => + array ( + 0 => '825753600', + 1 => '826277887', + ), + 69 => + array ( + 0 => '830521344', + 1 => '830529535', + ), + 70 => + array ( + 0 => '831389696', + 1 => '831512575', + ), + 71 => + array ( + 0 => '832569344', + 1 => '833617919', + ), + 72 => + array ( + 0 => '837566464', + 1 => '837599231', + ), + 73 => + array ( + 0 => '837697536', + 1 => '837746687', + ), + 74 => + array ( + 0 => '837779456', + 1 => '837795839', + ), + 75 => + array ( + 0 => '838205440', + 1 => '838238207', + ), + 76 => + array ( + 0 => '838270976', + 1 => '838336511', + ), + 77 => + array ( + 0 => '838729728', + 1 => '838795263', + ), + 78 => + array ( + 0 => '974979072', + 1 => '975044607', + ), + 79 => + array ( + 0 => '977354752', + 1 => '977371135', + ), + 80 => + array ( + 0 => '977797120', + 1 => '978321407', + ), + 81 => + array ( + 0 => '978594816', + 1 => '978595839', + ), + 82 => + array ( + 0 => '978788352', + 1 => '978796543', + ), + 83 => + array ( + 0 => '979763200', + 1 => '979894271', + ), + 84 => + array ( + 0 => '980942848', + 1 => '981467135', + ), + 85 => + array ( + 0 => '982171648', + 1 => '982188031', + ), + 86 => + array ( + 0 => '982253568', + 1 => '982515711', + ), + 87 => + array ( + 0 => '982581248', + 1 => '982614015', + ), + 88 => + array ( + 0 => '982695936', + 1 => '982712319', + ), + 89 => + array ( + 0 => '982757376', + 1 => '982759423', + ), + 90 => + array ( + 0 => '982777856', + 1 => '983039999', + ), + 91 => + array ( + 0 => '984875008', + 1 => '984956927', + ), + 92 => + array ( + 0 => '985137152', + 1 => '985202687', + ), + 93 => + array ( + 0 => '987758592', + 1 => '988807167', + ), + 94 => + array ( + 0 => '989855744', + 1 => '991952895', + ), + 95 => + array ( + 0 => '995540992', + 1 => '995557375', + ), + 96 => + array ( + 0 => '999686144', + 1 => '999751679', + ), + 97 => + array ( + 0 => '999800832', + 1 => '999817215', + ), + 98 => + array ( + 0 => '999849984', + 1 => '999866367', + ), + 99 => + array ( + 0 => '1002045440', + 1 => '1002176511', + ), + 100 => + array ( + 0 => '1019478016', + 1 => '1019609087', + ), + 101 => + array ( + 0 => '1023213568', + 1 => '1023238143', + ), + 102 => + array ( + 0 => '1023721472', + 1 => '1023737855', + ), + 103 => + array ( + 0 => '1023778816', + 1 => '1023787007', + ), + 104 => + array ( + 0 => '1024380928', + 1 => '1024381951', + ), + 105 => + array ( + 0 => '1025507328', + 1 => '1026293759', + ), + 106 => + array ( + 0 => '1026539520', + 1 => '1026555903', + ), + 107 => + array ( + 0 => '1028128768', + 1 => '1029046271', + ), + 108 => + array ( + 0 => '1029701632', + 1 => '1030027263', + ), + 109 => + array ( + 0 => '1030029312', + 1 => '1030086655', + ), + 110 => + array ( + 0 => '1030091776', + 1 => '1030092799', + ), + 111 => + array ( + 0 => '1030094848', + 1 => '1030627327', + ), + 112 => + array ( + 0 => '1030631424', + 1 => '1030701055', + ), + 113 => + array ( + 0 => '1030713344', + 1 => '1030733823', + ), + 114 => + array ( + 0 => '1030746112', + 1 => '1030750207', + ), + 115 => + array ( + 0 => '1039511552', + 1 => '1039515647', + ), + 116 => + array ( + 0 => '1039523840', + 1 => '1039532031', + ), + 117 => + array ( + 0 => '1039613952', + 1 => '1039638527', + ), + 118 => + array ( + 0 => '1039646720', + 1 => '1039654911', + ), + 119 => + array ( + 0 => '1039708160', + 1 => '1039720447', + ), + 120 => + array ( + 0 => '1039753216', + 1 => '1039769599', + ), + 121 => + array ( + 0 => '1039785984', + 1 => '1039871999', + ), + 122 => + array ( + 0 => '1039876096', + 1 => '1039925247', + ), + 123 => + array ( + 0 => '1039929344', + 1 => '1039941631', + ), + 124 => + array ( + 0 => '1039949824', + 1 => '1040187391', + ), + 125 => + array ( + 0 => '1694566400', + 1 => '1694568447', + ), + 126 => + array ( + 0 => '1694572544', + 1 => '1694580735', + ), + 127 => + array ( + 0 => '1697988608', + 1 => '1697996799', + ), + 128 => + array ( + 0 => '1698103296', + 1 => '1698136063', + ), + 129 => + array ( + 0 => '1699676160', + 1 => '1699741695', + ), + 130 => + array ( + 0 => '1701150720', + 1 => '1701183487', + ), + 131 => + array ( + 0 => '1707737088', + 1 => '1707802623', + ), + 132 => + array ( + 0 => '1709899776', + 1 => '1709965311', + ), + 133 => + array ( + 0 => '1710882816', + 1 => '1710948351', + ), + 134 => + array ( + 0 => '1728203776', + 1 => '1728204799', + ), + 135 => + array ( + 0 => '1728205824', + 1 => '1728206847', + ), + 136 => + array ( + 0 => '1728207872', + 1 => '1728208895', + ), + 137 => + array ( + 0 => '1728259072', + 1 => '1728260095', + ), + 138 => + array ( + 0 => '1728327680', + 1 => '1728328703', + ), + 139 => + array ( + 0 => '1728353280', + 1 => '1728354303', + ), + 140 => + array ( + 0 => '1728360448', + 1 => '1728362495', + ), + 141 => + array ( + 0 => '1728413696', + 1 => '1728414719', + ), + 142 => + array ( + 0 => '1728417792', + 1 => '1728418815', + ), + 143 => + array ( + 0 => '1728464896', + 1 => '1728465919', + ), + 144 => + array ( + 0 => '1728466944', + 1 => '1728467967', + ), + 145 => + array ( + 0 => '1728472064', + 1 => '1728473087', + ), + 146 => + array ( + 0 => '1728490496', + 1 => '1728491519', + ), + 147 => + array ( + 0 => '1728520192', + 1 => '1728521215', + ), + 148 => + array ( + 0 => '1728560640', + 1 => '1728561151', + ), + 149 => + array ( + 0 => '1728574464', + 1 => '1728575487', + ), + 150 => + array ( + 0 => '1728603136', + 1 => '1728604159', + ), + 151 => + array ( + 0 => '1728636416', + 1 => '1728636671', + ), + 152 => + array ( + 0 => '1728651264', + 1 => '1728652287', + ), + 153 => + array ( + 0 => '1728675840', + 1 => '1728676863', + ), + 154 => + array ( + 0 => '1728732160', + 1 => '1728733183', + ), + 155 => + array ( + 0 => '1728763904', + 1 => '1728764927', + ), + 156 => + array ( + 0 => '1728780288', + 1 => '1728781311', + ), + 157 => + array ( + 0 => '1728785408', + 1 => '1728786431', + ), + 158 => + array ( + 0 => '1728788480', + 1 => '1728789503', + ), + 159 => + array ( + 0 => '1728806912', + 1 => '1728807935', + ), + 160 => + array ( + 0 => '1728837632', + 1 => '1728838655', + ), + 161 => + array ( + 0 => '1728903168', + 1 => '1728905215', + ), + 162 => + array ( + 0 => '1728918528', + 1 => '1728919551', + ), + 163 => + array ( + 0 => '1728946176', + 1 => '1728947199', + ), + 164 => + array ( + 0 => '1729330176', + 1 => '1729331199', + ), + 165 => + array ( + 0 => '1729378816', + 1 => '1729379071', + ), + 166 => + array ( + 0 => '1729393664', + 1 => '1729394687', + ), + 167 => + array ( + 0 => '1729480704', + 1 => '1729481727', + ), + 168 => + array ( + 0 => '1729551360', + 1 => '1729552383', + ), + 169 => + array ( + 0 => '1729581056', + 1 => '1729583103', + ), + 170 => + array ( + 0 => '1729628160', + 1 => '1729629183', + ), + 171 => + array ( + 0 => '1729695744', + 1 => '1729696767', + ), + 172 => + array ( + 0 => '1729855488', + 1 => '1729856511', + ), + 173 => + array ( + 0 => '1729860608', + 1 => '1729861631', + ), + 174 => + array ( + 0 => '1729903616', + 1 => '1729905663', + ), + 175 => + array ( + 0 => '1730046976', + 1 => '1730047999', + ), + 176 => + array ( + 0 => '1730060288', + 1 => '1730061311', + ), + 177 => + array ( + 0 => '1730071552', + 1 => '1730072575', + ), + 178 => + array ( + 0 => '1730130944', + 1 => '1730131967', + ), + 179 => + array ( + 0 => '1730549760', + 1 => '1730550783', + ), + 180 => + array ( + 0 => '1730618368', + 1 => '1730619391', + ), + 181 => + array ( + 0 => '1730852864', + 1 => '1730853887', + ), + 182 => + array ( + 0 => '1730887680', + 1 => '1730887935', + ), + 183 => + array ( + 0 => '1730902016', + 1 => '1730903039', + ), + 184 => + array ( + 0 => '1731275776', + 1 => '1731276799', + ), + 185 => + array ( + 0 => '1731340288', + 1 => '1731341311', + ), + 186 => + array ( + 0 => '1731438592', + 1 => '1731441663', + ), + 187 => + array ( + 0 => '1731442688', + 1 => '1731447807', + ), + 188 => + array ( + 0 => '1731457024', + 1 => '1731461119', + ), + 189 => + array ( + 0 => '1731512320', + 1 => '1731513343', + ), + 190 => + array ( + 0 => '1731555840', + 1 => '1731556095', + ), + 191 => + array ( + 0 => '1731666688', + 1 => '1731666943', + ), + 192 => + array ( + 0 => '1731705856', + 1 => '1731706879', + ), + 193 => + array ( + 0 => '1731804160', + 1 => '1731805183', + ), + 194 => + array ( + 0 => '1731959808', + 1 => '1731960831', + ), + 195 => + array ( + 0 => '1732016128', + 1 => '1732018175', + ), + 196 => + array ( + 0 => '1732174848', + 1 => '1732175871', + ), + 197 => + array ( + 0 => '1740794880', + 1 => '1740795903', + ), + 198 => + array ( + 0 => '1740831744', + 1 => '1740832767', + ), + 199 => + array ( + 0 => '1741572608', + 1 => '1741573119', + ), + 200 => + array ( + 0 => '1741794304', + 1 => '1741795327', + ), + 201 => + array ( + 0 => '1742882816', + 1 => '1742884863', + ), + 202 => + array ( + 0 => '1742888960', + 1 => '1742889983', + ), + 203 => + array ( + 0 => '1743100928', + 1 => '1743101951', + ), + 204 => + array ( + 0 => '1743155200', + 1 => '1743156223', + ), + 205 => + array ( + 0 => '1743224832', + 1 => '1743225855', + ), + 206 => + array ( + 0 => '1743389696', + 1 => '1743390719', + ), + 207 => + array ( + 0 => '1743460352', + 1 => '1743461375', + ), + 208 => + array ( + 0 => '1743590400', + 1 => '1743591423', + ), + 209 => + array ( + 0 => '1743714304', + 1 => '1743715327', + ), + 210 => + array ( + 0 => '1743745024', + 1 => '1743746047', + ), + 211 => + array ( + 0 => '1743776768', + 1 => '1743778815', + ), + 212 => + array ( + 0 => '1743789056', + 1 => '1743790079', + ), + 213 => + array ( + 0 => '1743794176', + 1 => '1743795199', + ), + 214 => + array ( + 0 => '1744029696', + 1 => '1744030719', + ), + 215 => + array ( + 0 => '1744054272', + 1 => '1744055295', + ), + 216 => + array ( + 0 => '1744071680', + 1 => '1744072703', + ), + 217 => + array ( + 0 => '1744189440', + 1 => '1744190463', + ), + 218 => + array ( + 0 => '1744235520', + 1 => '1744236543', + ), + 219 => + array ( + 0 => '1744296960', + 1 => '1744297983', + ), + 220 => + array ( + 0 => '1744300032', + 1 => '1744301055', + ), + 221 => + array ( + 0 => '1744332800', + 1 => '1744333823', + ), + 222 => + array ( + 0 => '1744378880', + 1 => '1744379903', + ), + 223 => + array ( + 0 => '1744529408', + 1 => '1744530431', + ), + 224 => + array ( + 0 => '1744695296', + 1 => '1744696319', + ), + 225 => + array ( + 0 => '1779040256', + 1 => '1779073023', + ), + 226 => + array ( + 0 => '1784676352', + 1 => '1785200639', + ), + 227 => + array ( + 0 => '1794113536', + 1 => '1795162111', + ), + 228 => + array ( + 0 => '1845772288', + 1 => '1845788671', + ), + 229 => + array ( + 0 => '1845854208', + 1 => '1845886975', + ), + 230 => + array ( + 0 => '1846018048', + 1 => '1846542335', + ), + 231 => + array ( + 0 => '1847738368', + 1 => '1847754751', + ), + 232 => + array ( + 0 => '1847787520', + 1 => '1847803903', + ), + 233 => + array ( + 0 => '1847812096', + 1 => '1847853055', + ), + 234 => + array ( + 0 => '1848385536', + 1 => '1848393727', + ), + 235 => + array ( + 0 => '1848426496', + 1 => '1848639487', + ), + 236 => + array ( + 0 => '1849950208', + 1 => '1850212351', + ), + 237 => + array ( + 0 => '1850490880', + 1 => '1850507263', + ), + 238 => + array ( + 0 => '1850510336', + 1 => '1850511359', + ), + 239 => + array ( + 0 => '1851528192', + 1 => '1851528959', + ), + 240 => + array ( + 0 => '1851555840', + 1 => '1851588607', + ), + 241 => + array ( + 0 => '1851594752', + 1 => '1851596799', + ), + 242 => + array ( + 0 => '1851617280', + 1 => '1851637759', + ), + 243 => + array ( + 0 => '1856307200', + 1 => '1856315391', + ), + 244 => + array ( + 0 => '1856323584', + 1 => '1856339967', + ), + 245 => + array ( + 0 => '1856791552', + 1 => '1856798719', + ), + 246 => + array ( + 0 => '1860722688', + 1 => '1860723711', + ), + 247 => + array ( + 0 => '1866563584', + 1 => '1866579967', + ), + 248 => + array ( + 0 => '1866715136', + 1 => '1866727423', + ), + 249 => + array ( + 0 => '1868267520', + 1 => '1868283903', + ), + 250 => + array ( + 0 => '1868348416', + 1 => '1868349439', + ), + 251 => + array ( + 0 => '1870004224', + 1 => '1870036991', + ), + 252 => + array ( + 0 => '1873477632', + 1 => '1873510399', + ), + 253 => + array ( + 0 => '1876557824', + 1 => '1876688895', + ), + 254 => + array ( + 0 => '1876762624', + 1 => '1876764671', + ), + 255 => + array ( + 0 => '1883799552', + 1 => '1883832319', + ), + 256 => + array ( + 0 => '1884028928', + 1 => '1884159999', + ), + 257 => + array ( + 0 => '1885995008', + 1 => '1886191615', + ), + 258 => + array ( + 0 => '1886199808', + 1 => '1886207999', + ), + 259 => + array ( + 0 => '1886978048', + 1 => '1886986239', + ), + 260 => + array ( + 0 => '1887027200', + 1 => '1887043583', + ), + 261 => + array ( + 0 => '1887764480', + 1 => '1887813631', + ), + 262 => + array ( + 0 => '1887993856', + 1 => '1888026623', + ), + 263 => + array ( + 0 => '1888071680', + 1 => '1888073727', + ), + 264 => + array ( + 0 => '1888239616', + 1 => '1888255999', + ), + 265 => + array ( + 0 => '1888260096', + 1 => '1888264191', + ), + 266 => + array ( + 0 => '1888272384', + 1 => '1888288767', + ), + 267 => + array ( + 0 => '1888485376', + 1 => '1891631103', + ), + 268 => + array ( + 0 => '1891942400', + 1 => '1891950591', + ), + 269 => + array ( + 0 => '1892941824', + 1 => '1893015551', + ), + 270 => + array ( + 0 => '1893072896', + 1 => '1893138431', + ), + 271 => + array ( + 0 => '1893203968', + 1 => '1893728255', + ), + 272 => + array ( + 0 => '1896480768', + 1 => '1896497151', + ), + 273 => + array ( + 0 => '1897201664', + 1 => '1897209855', + ), + 274 => + array ( + 0 => '1897758720', + 1 => '1897779199', + ), + 275 => + array ( + 0 => '1897791488', + 1 => '1897824255', + ), + 276 => + array ( + 0 => '1899268096', + 1 => '1899270143', + ), + 277 => + array ( + 0 => '1899282432', + 1 => '1899290623', + ), + 278 => + array ( + 0 => '1899724800', + 1 => '1899741183', + ), + 279 => + array ( + 0 => '1899757568', + 1 => '1899831295', + ), + 280 => + array ( + 0 => '1899849728', + 1 => '1899850751', + ), + 281 => + array ( + 0 => '1904361472', + 1 => '1904369663', + ), + 282 => + array ( + 0 => '1904377856', + 1 => '1904476159', + ), + 283 => + array ( + 0 => '1908424704', + 1 => '1908441087', + ), + 284 => + array ( + 0 => '1908756480', + 1 => '1908760575', + ), + 285 => + array ( + 0 => '1908801536', + 1 => '1908899839', + ), + 286 => + array ( + 0 => '1909981184', + 1 => '1910112255', + ), + 287 => + array ( + 0 => '1914503168', + 1 => '1914544127', + ), + 288 => + array ( + 0 => '1914568704', + 1 => '1914576895', + ), + 289 => + array ( + 0 => '1914580992', + 1 => '1914585087', + ), + 290 => + array ( + 0 => '1914601472', + 1 => '1914634239', + ), + 291 => + array ( + 0 => '1914642432', + 1 => '1914650623', + ), + 292 => + array ( + 0 => '1914662912', + 1 => '1914667007', + ), + 293 => + array ( + 0 => '1916010496', + 1 => '1916141567', + ), + 294 => + array ( + 0 => '1917190144', + 1 => '1917321215', + ), + 295 => + array ( + 0 => '1919680512', + 1 => '1919729663', + ), + 296 => + array ( + 0 => '1919844352', + 1 => '1919877119', + ), + 297 => + array ( + 0 => '1919885312', + 1 => '1919893503', + ), + 298 => + array ( + 0 => '1919926272', + 1 => '1919942655', + ), + 299 => + array ( + 0 => '1921073152', + 1 => '1921089535', + ), + 300 => + array ( + 0 => '1921105920', + 1 => '1921122303', + ), + 301 => + array ( + 0 => '1921843200', + 1 => '1921851391', + ), + 302 => + array ( + 0 => '1921853440', + 1 => '1921855487', + ), + 303 => + array ( + 0 => '1921900544', + 1 => '1921908735', + ), + 304 => + array ( + 0 => '1925644288', + 1 => '1925660671', + ), + 305 => + array ( + 0 => '1925677056', + 1 => '1926234111', + ), + 306 => + array ( + 0 => '1929379840', + 1 => '1930952703', + ), + 307 => + array ( + 0 => '1931436032', + 1 => '1931444223', + ), + 308 => + array ( + 0 => '1932001280', + 1 => '1932132351', + ), + 309 => + array ( + 0 => '1933836288', + 1 => '1933901823', + ), + 310 => + array ( + 0 => '1933926400', + 1 => '1933934591', + ), + 311 => + array ( + 0 => '1934032896', + 1 => '1934098431', + ), + 312 => + array ( + 0 => '1934925824', + 1 => '1934927871', + ), + 313 => + array ( + 0 => '1934991360', + 1 => '1934999551', + ), + 314 => + array ( + 0 => '1935015936', + 1 => '1935081471', + ), + 315 => + array ( + 0 => '1935147008', + 1 => '1935671295', + ), + 316 => + array ( + 0 => '1937686528', + 1 => '1937702911', + ), + 317 => + array ( + 0 => '1938292736', + 1 => '1938948095', + ), + 318 => + array ( + 0 => '1939865600', + 1 => '1939898367', + ), + 319 => + array ( + 0 => '1939931136', + 1 => '1939996671', + ), + 320 => + array ( + 0 => '1940238336', + 1 => '1940240383', + ), + 321 => + array ( + 0 => '1941053440', + 1 => '1941057535', + ), + 322 => + array ( + 0 => '1941061632', + 1 => '1941069823', + ), + 323 => + array ( + 0 => '1941655552', + 1 => '1941657599', + ), + 324 => + array ( + 0 => '1948254208', + 1 => '1949302783', + ), + 325 => + array ( + 0 => '1950547968', + 1 => '1950580735', + ), + 326 => + array ( + 0 => '1950621696', + 1 => '1950629887', + ), + 327 => + array ( + 0 => '1951662080', + 1 => '1951727615', + ), + 328 => + array ( + 0 => '1952030720', + 1 => '1952038911', + ), + 329 => + array ( + 0 => '1952110592', + 1 => '1952112639', + ), + 330 => + array ( + 0 => '1952292864', + 1 => '1952317439', + ), + 331 => + array ( + 0 => '1954021376', + 1 => '1954545663', + ), + 332 => + array ( + 0 => '1958825984', + 1 => '1958830079', + ), + 333 => + array ( + 0 => '1959239680', + 1 => '1959241727', + ), + 334 => + array ( + 0 => '1959264256', + 1 => '1959395327', + ), + 335 => + array ( + 0 => '1960050688', + 1 => '1960058879', + ), + 336 => + array ( + 0 => '1962885120', + 1 => '1962901503', + ), + 337 => + array ( + 0 => '1963982848', + 1 => '1964113919', + ), + 338 => + array ( + 0 => '1964265472', + 1 => '1964269567', + ), + 339 => + array ( + 0 => '1964294144', + 1 => '1964310527', + ), + 340 => + array ( + 0 => '1966342144', + 1 => '1966407679', + ), + 341 => + array ( + 0 => '1966424064', + 1 => '1966440447', + ), + 342 => + array ( + 0 => '1966456832', + 1 => '1966473215', + ), + 343 => + array ( + 0 => '1966571520', + 1 => '1966587903', + ), + 344 => + array ( + 0 => '1966768128', + 1 => '1966772223', + ), + 345 => + array ( + 0 => '1970143232', + 1 => '1970210303', + ), + 346 => + array ( + 0 => '1970144768', + 1 => '1970211071', + ), + 347 => + array ( + 0 => '1970145536', + 1 => '1970274303', + ), + 348 => + array ( + 0 => '1970995200', + 1 => '1971060735', + ), + 349 => + array ( + 0 => '1981808640', + 1 => '1983905791', + ), + 350 => + array ( + 0 => '1984135168', + 1 => '1984151551', + ), + 351 => + array ( + 0 => '1985675264', + 1 => '1985708031', + ), + 352 => + array ( + 0 => '1985712128', + 1 => '1985716223', + ), + 353 => + array ( + 0 => '1986510848', + 1 => '1986519039', + ), + 354 => + array ( + 0 => '1986764800', + 1 => '1986768895', + ), + 355 => + array ( + 0 => '1988083712', + 1 => '1988362239', + ), + 356 => + array ( + 0 => '1988870144', + 1 => '1988886527', + ), + 357 => + array ( + 0 => '1991245824', + 1 => '1991311359', + ), + 358 => + array ( + 0 => '1993867264', + 1 => '1994391551', + ), + 359 => + array ( + 0 => '1995046912', + 1 => '1995177983', + ), + 360 => + array ( + 0 => '1997602816', + 1 => '1997611007', + ), + 361 => + array ( + 0 => '1997619200', + 1 => '1997635583', + ), + 362 => + array ( + 0 => '1997684736', + 1 => '1997701119', + ), + 363 => + array ( + 0 => '1998487552', + 1 => '1998503935', + ), + 364 => + array ( + 0 => '1998581760', + 1 => '1998585855', + ), + 365 => + array ( + 0 => '1999282176', + 1 => '1999290367', + ), + 366 => + array ( + 0 => '2000191488', + 1 => '2000224255', + ), + 367 => + array ( + 0 => '2000355328', + 1 => '2000371711', + ), + 368 => + array ( + 0 => '2000674816', + 1 => '2001207295', + ), + 369 => + array ( + 0 => '2001420288', + 1 => '2001453055', + ), + 370 => + array ( + 0 => '2001559552', + 1 => '2001567743', + ), + 371 => + array ( + 0 => '2001870848', + 1 => '2001879039', + ), + 372 => + array ( + 0 => '2006216704', + 1 => '2006228991', + ), + 373 => + array ( + 0 => '2006253568', + 1 => '2006319103', + ), + 374 => + array ( + 0 => '2007040000', + 1 => '2007048191', + ), + 375 => + array ( + 0 => '2009071616', + 1 => '2011168767', + ), + 376 => + array ( + 0 => '2011951104', + 1 => '2011953151', + ), + 377 => + array ( + 0 => '2015199232', + 1 => '2015203327', + ), + 378 => + array ( + 0 => '2016559104', + 1 => '2016583679', + ), + 379 => + array ( + 0 => '2018050048', + 1 => '2018115583', + ), + 380 => + array ( + 0 => '2022195200', + 1 => '2022211583', + ), + 381 => + array ( + 0 => '2022572032', + 1 => '2022637567', + ), + 382 => + array ( + 0 => '2022678528', + 1 => '2022703103', + ), + 383 => + array ( + 0 => '2030059520', + 1 => '2030108671', + ), + 384 => + array ( + 0 => '2030125056', + 1 => '2030141439', + ), + 385 => + array ( + 0 => '2033324032', + 1 => '2033328127', + ), + 386 => + array ( + 0 => '2033336320', + 1 => '2033352703', + ), + 387 => + array ( + 0 => '2033377280', + 1 => '2033385471', + ), + 388 => + array ( + 0 => '2033516544', + 1 => '2033582079', + ), + 389 => + array ( + 0 => '2033631232', + 1 => '2033647615', + ), + 390 => + array ( + 0 => '2033664000', + 1 => '2033696767', + ), + 391 => + array ( + 0 => '2034237440', + 1 => '2034499583', + ), + 392 => + array ( + 0 => '2035154944', + 1 => '2035220479', + ), + 393 => + array ( + 0 => '2035810304', + 1 => '2035875839', + ), + 394 => + array ( + 0 => '2036613120', + 1 => '2036629503', + ), + 395 => + array ( + 0 => '2036711424', + 1 => '2036715519', + ), + 396 => + array ( + 0 => '2036719616', + 1 => '2036727807', + ), + 397 => + array ( + 0 => '2038169600', + 1 => '2038366207', + ), + 398 => + array ( + 0 => '2038382592', + 1 => '2038415359', + ), + 399 => + array ( + 0 => '2038431744', + 1 => '2042626047', + ), + 400 => + array ( + 0 => '2043166720', + 1 => '2043183103', + ), + 401 => + array ( + 0 => '2046558208', + 1 => '2046705663', + ), + 402 => + array ( + 0 => '2046722048', + 1 => '2046754815', + ), + 403 => + array ( + 0 => '2046822400', + 1 => '2046824447', + ), + 404 => + array ( + 0 => '2046828544', + 1 => '2046836735', + ), + 405 => + array ( + 0 => '2048917504', + 1 => '2049966079', + ), + 406 => + array ( + 0 => '2050048000', + 1 => '2050064383', + ), + 407 => + array ( + 0 => '2053341184', + 1 => '2053373951', + ), + 408 => + array ( + 0 => '2053382144', + 1 => '2053390335', + ), + 409 => + array ( + 0 => '2053439488', + 1 => '2053505023', + ), + 410 => + array ( + 0 => '2055217152', + 1 => '2055229439', + ), + 411 => + array ( + 0 => '2055241728', + 1 => '2055274495', + ), + 412 => + array ( + 0 => '2055327744', + 1 => '2055329791', + ), + 413 => + array ( + 0 => '2055335936', + 1 => '2055340031', + ), + 414 => + array ( + 0 => '2056806400', + 1 => '2056814591', + ), + 415 => + array ( + 0 => '2056847360', + 1 => '2056912895', + ), + 416 => + array ( + 0 => '2059878400', + 1 => '2059927551', + ), + 417 => + array ( + 0 => '2060066816', + 1 => '2060075007', + ), + 418 => + array ( + 0 => '2060091392', + 1 => '2060189695', + ), + 419 => + array ( + 0 => '2063351808', + 1 => '2063368191', + ), + 420 => + array ( + 0 => '2063384576', + 1 => '2063392767', + ), + 421 => + array ( + 0 => '2063499264', + 1 => '2063532031', + ), + 422 => + array ( + 0 => '2063597568', + 1 => '2063601663', + ), + 423 => + array ( + 0 => '2065694720', + 1 => '2066743295', + ), + 424 => + array ( + 0 => '2070061056', + 1 => '2070077439', + ), + 425 => + array ( + 0 => '2070102016', + 1 => '2070118399', + ), + 426 => + array ( + 0 => '2070192128', + 1 => '2070200319', + ), + 427 => + array ( + 0 => '2070679552', + 1 => '2070683647', + ), + 428 => + array ( + 0 => '2070716416', + 1 => '2070724607', + ), + 429 => + array ( + 0 => '2070740992', + 1 => '2070806527', + ), + 430 => + array ( + 0 => '2070872064', + 1 => '2070937599', + ), + 431 => + array ( + 0 => '2072772608', + 1 => '2073034751', + ), + 432 => + array ( + 0 => '2076639232', + 1 => '2076671999', + ), + 433 => + array ( + 0 => '2076721152', + 1 => '2076737535', + ), + 434 => + array ( + 0 => '2077491200', + 1 => '2077753343', + ), + 435 => + array ( + 0 => '2078539776', + 1 => '2078670847', + ), + 436 => + array ( + 0 => '2079850496', + 1 => '2079916031', + ), + 437 => + array ( + 0 => '2079981568', + 1 => '2080112639', + ), + 438 => + array ( + 0 => '2080260096', + 1 => '2080268287', + ), + 439 => + array ( + 0 => '2080276480', + 1 => '2080309247', + ), + 440 => + array ( + 0 => '2080374784', + 1 => '2080636927', + ), + 441 => + array ( + 0 => '2080702464', + 1 => '2080767999', + ), + 442 => + array ( + 0 => '2082209792', + 1 => '2082258943', + ), + 443 => + array ( + 0 => '2083389440', + 1 => '2083454975', + ), + 444 => + array ( + 0 => '2083520512', + 1 => '2084569087', + ), + 445 => + array ( + 0 => '2084745216', + 1 => '2084749311', + ), + 446 => + array ( + 0 => '2084753408', + 1 => '2084757503', + ), + 447 => + array ( + 0 => '2085617664', + 1 => '2085683199', + ), + 448 => + array ( + 0 => '2087649280', + 1 => '2087714815', + ), + 449 => + array ( + 0 => '2089287680', + 1 => '2089549823', + ), + 450 => + array ( + 0 => '2089943040', + 1 => '2089959423', + ), + 451 => + array ( + 0 => '2090434560', + 1 => '2090467327', + ), + 452 => + array ( + 0 => '2093088768', + 1 => '2093154303', + ), + 453 => + array ( + 0 => '2093195264', + 1 => '2093203455', + ), + 454 => + array ( + 0 => '2093211648', + 1 => '2093219839', + ), + 455 => + array ( + 0 => '2093318144', + 1 => '2093342719', + ), + 456 => + array ( + 0 => '2093350912', + 1 => '2093383679', + ), + 457 => + array ( + 0 => '2093416448', + 1 => '2093432831', + ), + 458 => + array ( + 0 => '2093449216', + 1 => '2093481983', + ), + 459 => + array ( + 0 => '2094530560', + 1 => '2094596095', + ), + 460 => + array ( + 0 => '2094645248', + 1 => '2094653439', + ), + 461 => + array ( + 0 => '2096300032', + 1 => '2096332799', + ), + 462 => + array ( + 0 => '2097053696', + 1 => '2097086463', + ), + 463 => + array ( + 0 => '2097643520', + 1 => '2097676287', + ), + 464 => + array ( + 0 => '2099216384', + 1 => '2099232767', + ), + 465 => + array ( + 0 => '2100876800', + 1 => '2100877055', + ), + 466 => + array ( + 0 => '2100887552', + 1 => '2100953087', + ), + 467 => + array ( + 0 => '2101084160', + 1 => '2101108735', + ), + 468 => + array ( + 0 => '2101149696', + 1 => '2101182463', + ), + 469 => + array ( + 0 => '2101270528', + 1 => '2101272575', + ), + 470 => + array ( + 0 => '2105540608', + 1 => '2107637759', + ), + 471 => + array ( + 0 => '2108686336', + 1 => '2109734911', + ), + 472 => + array ( + 0 => '2110799872', + 1 => '2110816255', + ), + 473 => + array ( + 0 => '2110832640', + 1 => '2110865407', + ), + 474 => + array ( + 0 => '2110898176', + 1 => '2110914559', + ), + 475 => + array ( + 0 => '2112880640', + 1 => '2113683455', + ), + 476 => + array ( + 0 => '2156265472', + 1 => '2156331007', + ), + 477 => + array ( + 0 => '2180907008', + 1 => '2180972543', + ), + 478 => + array ( + 0 => '2253062144', + 1 => '2253127679', + ), + 479 => + array ( + 0 => '2302935040', + 1 => '2303000575', + ), + 480 => + array ( + 0 => '2341863424', + 1 => '2341928959', + ), + 481 => + array ( + 0 => '2380201984', + 1 => '2380267519', + ), + 482 => + array ( + 0 => '2415394816', + 1 => '2415460351', + ), + 483 => + array ( + 0 => '2466643968', + 1 => '2466709503', + ), + 484 => + array ( + 0 => '2469068800', + 1 => '2469134335', + ), + 485 => + array ( + 0 => '2469265408', + 1 => '2469396479', + ), + 486 => + array ( + 0 => '2523612160', + 1 => '2523613183', + ), + 487 => + array ( + 0 => '2523615232', + 1 => '2523617279', + ), + 488 => + array ( + 0 => '2525093888', + 1 => '2525094911', + ), + 489 => + array ( + 0 => '2526412800', + 1 => '2526478335', + ), + 490 => + array ( + 0 => '2528575488', + 1 => '2528641023', + ), + 491 => + array ( + 0 => '2529492992', + 1 => '2529558527', + ), + 492 => + array ( + 0 => '2532475904', + 1 => '2532476927', + ), + 493 => + array ( + 0 => '2532478976', + 1 => '2532479999', + ), + 494 => + array ( + 0 => '2556624896', + 1 => '2556690431', + ), + 495 => + array ( + 0 => '2559901696', + 1 => '2559967231', + ), + 496 => + array ( + 0 => '2584346624', + 1 => '2584412159', + ), + 497 => + array ( + 0 => '2615541760', + 1 => '2615607295', + ), + 498 => + array ( + 0 => '2626879488', + 1 => '2626945023', + ), + 499 => + array ( + 0 => '2646933504', + 1 => '2646999039', + ), + 500 => + array ( + 0 => '2653683712', + 1 => '2653749247', + ), + 501 => + array ( + 0 => '2709127168', + 1 => '2709192703', + ), + 502 => + array ( + 0 => '2738199552', + 1 => '2738200575', + ), + 503 => + array ( + 0 => '2744647680', + 1 => '2744713215', + ), + 504 => + array ( + 0 => '2746482688', + 1 => '2746548223', + ), + 505 => + array ( + 0 => '2748645376', + 1 => '2748710911', + ), + 506 => + array ( + 0 => '2749235200', + 1 => '2749300735', + ), + 507 => + array ( + 0 => '2749693952', + 1 => '2749759487', + ), + 508 => + array ( + 0 => '2750349312', + 1 => '2750414847', + ), + 509 => + array ( + 0 => '2751397888', + 1 => '2751463423', + ), + 510 => + array ( + 0 => '2759589888', + 1 => '2759720959', + ), + 511 => + array ( + 0 => '2776891392', + 1 => '2777022463', + ), + 512 => + array ( + 0 => '2777481216', + 1 => '2777546751', + ), + 513 => + array ( + 0 => '2780430336', + 1 => '2780495871', + ), + 514 => + array ( + 0 => '2780954624', + 1 => '2781020159', + ), + 515 => + array ( + 0 => '2782199808', + 1 => '2782265343', + ), + 516 => + array ( + 0 => '2783248384', + 1 => '2783313919', + ), + 517 => + array ( + 0 => '2784165888', + 1 => '2784296959', + ), + 518 => + array ( + 0 => '2784362496', + 1 => '2784428031', + ), + 519 => + array ( + 0 => '2790195200', + 1 => '2790260735', + ), + 520 => + array ( + 0 => '2791768064', + 1 => '2791899135', + ), + 521 => + array ( + 0 => '2793209856', + 1 => '2793275391', + ), + 522 => + array ( + 0 => '2823684096', + 1 => '2823749631', + ), + 523 => + array ( + 0 => '2826108928', + 1 => '2826174463', + ), + 524 => + array ( + 0 => '2826829824', + 1 => '2826895359', + ), + 525 => + array ( + 0 => '2827157504', + 1 => '2827223039', + ), + 526 => + array ( + 0 => '2828664832', + 1 => '2828730367', + ), + 527 => + array ( + 0 => '2830893056', + 1 => '2830958591', + ), + 528 => + array ( + 0 => '2832924672', + 1 => '2832990207', + ), + 529 => + array ( + 0 => '2834825216', + 1 => '2834956287', + ), + 530 => + array ( + 0 => '2844524544', + 1 => '2844590079', + ), + 531 => + array ( + 0 => '2848980992', + 1 => '2850029567', + ), + 532 => + array ( + 0 => '2937856000', + 1 => '2937860095', + ), + 533 => + array ( + 0 => '2938699776', + 1 => '2938703871', + ), + 534 => + array ( + 0 => '2939002880', + 1 => '2939004927', + ), + 535 => + array ( + 0 => '2939011072', + 1 => '2939027455', + ), + 536 => + array ( + 0 => '2942976000', + 1 => '2942992383', + ), + 537 => + array ( + 0 => '2943041536', + 1 => '2943057919', + ), + 538 => + array ( + 0 => '2943291392', + 1 => '2943295487', + ), + 539 => + array ( + 0 => '2943352832', + 1 => '2944401407', + ), + 540 => + array ( + 0 => '2946367488', + 1 => '2946375679', + ), + 541 => + array ( + 0 => '2947579904', + 1 => '2947583999', + ), + 542 => + array ( + 0 => '2948595712', + 1 => '2952790015', + ), + 543 => + array ( + 0 => '3024093184', + 1 => '3024617471', + ), + 544 => + array ( + 0 => '3025141760', + 1 => '3025403903', + ), + 545 => + array ( + 0 => '3025944576', + 1 => '3025960959', + ), + 546 => + array ( + 0 => '3025989632', + 1 => '3025993727', + ), + 547 => + array ( + 0 => '3028484096', + 1 => '3028500479', + ), + 548 => + array ( + 0 => '3028549632', + 1 => '3028811775', + ), + 549 => + array ( + 0 => '3029644288', + 1 => '3029645311', + ), + 550 => + array ( + 0 => '3029778432', + 1 => '3029788671', + ), + 551 => + array ( + 0 => '3031826432', + 1 => '3031891967', + ), + 552 => + array ( + 0 => '3032301568', + 1 => '3032317951', + ), + 553 => + array ( + 0 => '3032330240', + 1 => '3032334335', + ), + 554 => + array ( + 0 => '3033661440', + 1 => '3033694207', + ), + 555 => + array ( + 0 => '3033710592', + 1 => '3033712639', + ), + 556 => + array ( + 0 => '3033726976', + 1 => '3033743359', + ), + 557 => + array ( + 0 => '3034578944', + 1 => '3035103231', + ), + 558 => + array ( + 0 => '3035217920', + 1 => '3035234303', + ), + 559 => + array ( + 0 => '3035365376', + 1 => '3035627519', + ), + 560 => + array ( + 0 => '3055484928', + 1 => '3055550463', + ), + 561 => + array ( + 0 => '3056734208', + 1 => '3056746495', + ), + 562 => + array ( + 0 => '3064029184', + 1 => '3064135679', + ), + 563 => + array ( + 0 => '3064168448', + 1 => '3064201215', + ), + 564 => + array ( + 0 => '3064725504', + 1 => '3064791039', + ), + 565 => + array ( + 0 => '3064811520', + 1 => '3064823807', + ), + 566 => + array ( + 0 => '3064832000', + 1 => '3064840191', + ), + 567 => + array ( + 0 => '3066036224', + 1 => '3066560511', + ), + 568 => + array ( + 0 => '3067084800', + 1 => '3068657663', + ), + 569 => + array ( + 0 => '3068993536', + 1 => '3069018111', + ), + 570 => + array ( + 0 => '3069034496', + 1 => '3069050879', + ), + 571 => + array ( + 0 => '3069968384', + 1 => '3069984767', + ), + 572 => + array ( + 0 => '3070001152', + 1 => '3070033919', + ), + 573 => + array ( + 0 => '3070197760', + 1 => '3070230527', + ), + 574 => + array ( + 0 => '3075375104', + 1 => '3075383295', + ), + 575 => + array ( + 0 => '3075391488', + 1 => '3075407871', + ), + 576 => + array ( + 0 => '3075915776', + 1 => '3075932159', + ), + 577 => + array ( + 0 => '3076161536', + 1 => '3076169727', + ), + 578 => + array ( + 0 => '3076243456', + 1 => '3076259839', + ), + 579 => + array ( + 0 => '3076521984', + 1 => '3078619135', + ), + 580 => + array ( + 0 => '3221576192', + 1 => '3221576447', + ), + 581 => + array ( + 0 => '3227779584', + 1 => '3227779839', + ), + 582 => + array ( + 0 => '3228045056', + 1 => '3228045311', + ), + 583 => + array ( + 0 => '3234014976', + 1 => '3234015487', + ), + 584 => + array ( + 0 => '3234564608', + 1 => '3234566911', + ), + 585 => + array ( + 0 => '3237345536', + 1 => '3237346303', + ), + 586 => + array ( + 0 => '3237548032', + 1 => '3237552127', + ), + 587 => + array ( + 0 => '3389198336', + 1 => '3389202431', + ), + 588 => + array ( + 0 => '3389562880', + 1 => '3389571071', + ), + 589 => + array ( + 0 => '3389938176', + 1 => '3389938687', + ), + 590 => + array ( + 0 => '3389941504', + 1 => '3389941759', + ), + 591 => + array ( + 0 => '3389957376', + 1 => '3389957631', + ), + 592 => + array ( + 0 => '3390329600', + 1 => '3390330111', + ), + 593 => + array ( + 0 => '3390333696', + 1 => '3390333951', + ), + 594 => + array ( + 0 => '3390338816', + 1 => '3390339071', + ), + 595 => + array ( + 0 => '3390341120', + 1 => '3390375935', + ), + 596 => + array ( + 0 => '3390963712', + 1 => '3390972671', + ), + 597 => + array ( + 0 => '3390972928', + 1 => '3390973695', + ), + 598 => + array ( + 0 => '3390973952', + 1 => '3390977023', + ), + 599 => + array ( + 0 => '3390977536', + 1 => '3390978047', + ), + 600 => + array ( + 0 => '3390978560', + 1 => '3390978815', + ), + 601 => + array ( + 0 => '3390979072', + 1 => '3391068671', + ), + 602 => + array ( + 0 => '3391068928', + 1 => '3391069183', + ), + 603 => + array ( + 0 => '3391074304', + 1 => '3391075583', + ), + 604 => + array ( + 0 => '3391075840', + 1 => '3391082495', + ), + 605 => + array ( + 0 => '3391083520', + 1 => '3391085567', + ), + 606 => + array ( + 0 => '3391086592', + 1 => '3391094783', + ), + 607 => + array ( + 0 => '3391827968', + 1 => '3391832063', + ), + 608 => + array ( + 0 => '3392919552', + 1 => '3392921599', + ), + 609 => + array ( + 0 => '3393511424', + 1 => '3393519615', + ), + 610 => + array ( + 0 => '3393815552', + 1 => '3393816575', + ), + 611 => + array ( + 0 => '3394635776', + 1 => '3394637823', + ), + 612 => + array ( + 0 => '3394862080', + 1 => '3394863103', + ), + 613 => + array ( + 0 => '3394893824', + 1 => '3394894847', + ), + 614 => + array ( + 0 => '3397283840', + 1 => '3397285887', + ), + 615 => + array ( + 0 => '3397411840', + 1 => '3397412351', + ), + 616 => + array ( + 0 => '3397588992', + 1 => '3397591039', + ), + 617 => + array ( + 0 => '3397718016', + 1 => '3397722111', + ), + 618 => + array ( + 0 => '3397939200', + 1 => '3397951487', + ), + 619 => + array ( + 0 => '3398873088', + 1 => '3398877183', + ), + 620 => + array ( + 0 => '3399389184', + 1 => '3399393279', + ), + 621 => + array ( + 0 => '3399712768', + 1 => '3399720959', + ), + 622 => + array ( + 0 => '3399825408', + 1 => '3399826431', + ), + 623 => + array ( + 0 => '3399995392', + 1 => '3399999487', + ), + 624 => + array ( + 0 => '3400267776', + 1 => '3400268799', + ), + 625 => + array ( + 0 => '3400423424', + 1 => '3400424447', + ), + 626 => + array ( + 0 => '3400773632', + 1 => '3400775679', + ), + 627 => + array ( + 0 => '3406946816', + 1 => '3406947071', + ), + 628 => + array ( + 0 => '3411085312', + 1 => '3411086335', + ), + 629 => + array ( + 0 => '3411116032', + 1 => '3411124223', + ), + 630 => + array ( + 0 => '3411204864', + 1 => '3411205631', + ), + 631 => + array ( + 0 => '3411210240', + 1 => '3411212287', + ), + 632 => + array ( + 0 => '3411247104', + 1 => '3411249151', + ), + 633 => + array ( + 0 => '3411254784', + 1 => '3411255295', + ), + 634 => + array ( + 0 => '3411341312', + 1 => '3411345407', + ), + 635 => + array ( + 0 => '3411681280', + 1 => '3411689471', + ), + 636 => + array ( + 0 => '3412369408', + 1 => '3412377599', + ), + 637 => + array ( + 0 => '3412918272', + 1 => '3412926463', + ), + 638 => + array ( + 0 => '3413884928', + 1 => '3413893119', + ), + 639 => + array ( + 0 => '3414204416', + 1 => '3414220799', + ), + 640 => + array ( + 0 => '3414223872', + 1 => '3414224895', + ), + 641 => + array ( + 0 => '3414230528', + 1 => '3414231039', + ), + 642 => + array ( + 0 => '3414310912', + 1 => '3414327295', + ), + 643 => + array ( + 0 => '3414339584', + 1 => '3414343679', + ), + 644 => + array ( + 0 => '3414466560', + 1 => '3414474751', + ), + 645 => + array ( + 0 => '3414532096', + 1 => '3414540287', + ), + 646 => + array ( + 0 => '3415121920', + 1 => '3415130111', + ), + 647 => + array ( + 0 => '3415136256', + 1 => '3415136767', + ), + 648 => + array ( + 0 => '3415568384', + 1 => '3415572479', + ), + 649 => + array ( + 0 => '3415777280', + 1 => '3415785471', + ), + 650 => + array ( + 0 => '3415838720', + 1 => '3415842815', + ), + 651 => + array ( + 0 => '3416707072', + 1 => '3416709119', + ), + 652 => + array ( + 0 => '3416851456', + 1 => '3416851967', + ), + 653 => + array ( + 0 => '3416940544', + 1 => '3416948735', + ), + 654 => + array ( + 0 => '3417022464', + 1 => '3417030655', + ), + 655 => + array ( + 0 => '3417137152', + 1 => '3417145343', + ), + 656 => + array ( + 0 => '3417251840', + 1 => '3417260031', + ), + 657 => + array ( + 0 => '3417291776', + 1 => '3417292799', + ), + 658 => + array ( + 0 => '3418227712', + 1 => '3418228735', + ), + 659 => + array ( + 0 => '3418233344', + 1 => '3418233855', + ), + 660 => + array ( + 0 => '3419344896', + 1 => '3419348991', + ), + 661 => + array ( + 0 => '3419541504', + 1 => '3419553791', + ), + 662 => + array ( + 0 => '3419693056', + 1 => '3419701247', + ), + 663 => + array ( + 0 => '3419709440', + 1 => '3419717631', + ), + 664 => + array ( + 0 => '3419914240', + 1 => '3419922431', + ), + 665 => + array ( + 0 => '3419971584', + 1 => '3419979775', + ), + 666 => + array ( + 0 => '3420048384', + 1 => '3420061695', + ), + 667 => + array ( + 0 => '3420413952', + 1 => '3420422143', + ), + 668 => + array ( + 0 => '3420434688', + 1 => '3420434943', + ), + 669 => + array ( + 0 => '3420454912', + 1 => '3421077503', + ), + 670 => + array ( + 0 => '3421084160', + 1 => '3421084927', + ), + 671 => + array ( + 0 => '3421093888', + 1 => '3421503487', + ), + 672 => + array ( + 0 => '3421536256', + 1 => '3421544447', + ), + 673 => + array ( + 0 => '3421552640', + 1 => '3421611519', + ), + 674 => + array ( + 0 => '3421611776', + 1 => '3421613823', + ), + 675 => + array ( + 0 => '3421614080', + 1 => '3421624319', + ), + 676 => + array ( + 0 => '3421625344', + 1 => '3421663231', + ), + 677 => + array ( + 0 => '3421665280', + 1 => '3421716479', + ), + 678 => + array ( + 0 => '3421703168', + 1 => '3421705215', + ), + 679 => + array ( + 0 => '3421732864', + 1 => '3422296063', + ), + 680 => + array ( + 0 => '3422296832', + 1 => '3422367743', + ), + 681 => + array ( + 0 => '3422371840', + 1 => '3422415103', + ), + 682 => + array ( + 0 => '3422415360', + 1 => '3422420991', + ), + 683 => + array ( + 0 => '3422421248', + 1 => '3422421503', + ), + 684 => + array ( + 0 => '3422429184', + 1 => '3422429695', + ), + 685 => + array ( + 0 => '3422431232', + 1 => '3422431487', + ), + 686 => + array ( + 0 => '3422433792', + 1 => '3422435583', + ), + 687 => + array ( + 0 => '3422445568', + 1 => '3422543359', + ), + 688 => + array ( + 0 => '3422543872', + 1 => '3422546687', + ), + 689 => + array ( + 0 => '3422546944', + 1 => '3422552063', + ), + 690 => + array ( + 0 => '3523223552', + 1 => '3523231743', + ), + 691 => + array ( + 0 => '3523354624', + 1 => '3523362815', + ), + 692 => + array ( + 0 => '3523500032', + 1 => '3523502079', + ), + 693 => + array ( + 0 => '3523532800', + 1 => '3523534847', + ), + 694 => + array ( + 0 => '3524313088', + 1 => '3524329471', + ), + 695 => + array ( + 0 => '3527008256', + 1 => '3527016447', + ), + 696 => + array ( + 0 => '3528966144', + 1 => '3528974335', + ), + 697 => + array ( + 0 => '3529089024', + 1 => '3529097215', + ), + 698 => + array ( + 0 => '3529113600', + 1 => '3529622527', + ), + 699 => + array ( + 0 => '3529629696', + 1 => '3529834495', + ), + 700 => + array ( + 0 => '3529850880', + 1 => '3530506239', + ), + 701 => + array ( + 0 => '3530510336', + 1 => '3530518527', + ), + 702 => + array ( + 0 => '3530522624', + 1 => '3530702847', + ), + 703 => + array ( + 0 => '3530708992', + 1 => '3530711039', + ), + 704 => + array ( + 0 => '3530713088', + 1 => '3530715135', + ), + 705 => + array ( + 0 => '3530727424', + 1 => '3530735615', + ), + 706 => + array ( + 0 => '3530739712', + 1 => '3531538431', + ), + 707 => + array ( + 0 => '3531546624', + 1 => '3531603967', + ), + 708 => + array ( + 0 => '3534880768', + 1 => '3535273983', + ), + 709 => + array ( + 0 => '3535814656', + 1 => '3535822847', + ), + 710 => + array ( + 0 => '3536584704', + 1 => '3536846847', + ), + 711 => + array ( + 0 => '3537027072', + 1 => '3537047551', + ), + 712 => + array ( + 0 => '3537059840', + 1 => '3537068031', + ), + 713 => + array ( + 0 => '3537371136', + 1 => '3537526783', + ), + 714 => + array ( + 0 => '3537534976', + 1 => '3537739775', + ), + 715 => + array ( + 0 => '3537743872', + 1 => '3537895423', + ), + 716 => + array ( + 0 => '3542089728', + 1 => '3542306815', + ), + 717 => + array ( + 0 => '3542310912', + 1 => '3542311935', + ), + 718 => + array ( + 0 => '3542315008', + 1 => '3542376447', + ), + 719 => + array ( + 0 => '3542384640', + 1 => '3543114751', + ), + 720 => + array ( + 0 => '3543117824', + 1 => '3543134207', + ), + 721 => + array ( + 0 => '3543138304', + 1 => '3544014847', + ), + 722 => + array ( + 0 => '3544018944', + 1 => '3544145919', + ), + 723 => + array ( + 0 => '3544154112', + 1 => '3544186879', + ), + 724 => + array ( + 0 => '3546808320', + 1 => '3547856895', + ), + 725 => + array ( + 0 => '3551002624', + 1 => '3551313919', + ), + 726 => + array ( + 0 => '3551318016', + 1 => '3552456703', + ), + 727 => + array ( + 0 => '3552473088', + 1 => '3552481279', + ), + 728 => + array ( + 0 => '3552501760', + 1 => '3552514047', + ), + 729 => + array ( + 0 => '3552518144', + 1 => '3552522239', + ), + 730 => + array ( + 0 => '3552526336', + 1 => '3552534527', + ), + 731 => + array ( + 0 => '3552538624', + 1 => '3552546815', + ), + 732 => + array ( + 0 => '3552550912', + 1 => '3552559103', + ), + 733 => + array ( + 0 => '3552571392', + 1 => '3555287039', + ), + 734 => + array ( + 0 => '3555295232', + 1 => '3555389439', + ), + 735 => + array ( + 0 => '3555390464', + 1 => '3555393535', + ), + 736 => + array ( + 0 => '3555401728', + 1 => '3555561471', + ), + 737 => + array ( + 0 => '3555565568', + 1 => '3556696063', + ), + 738 => + array ( + 0 => '3556703232', + 1 => '3556769791', + ), + 739 => + array ( + 0 => '3659792384', + 1 => '3659890687', + ), + 740 => + array ( + 0 => '3659907072', + 1 => '3660054527', + ), + 741 => + array ( + 0 => '3660578816', + 1 => '3661103103', + ), + 742 => + array ( + 0 => '3664084992', + 1 => '3664117759', + ), + 743 => + array ( + 0 => '3666870272', + 1 => '3667918847', + ), + 744 => + array ( + 0 => '3671130112', + 1 => '3671195647', + ), + 745 => + array ( + 0 => '3672637440', + 1 => '3673161727', + ), + 746 => + array ( + 0 => '3689938944', + 1 => '3690070015', + ), + 747 => + array ( + 0 => '3690463232', + 1 => '3690987519', + ), + 748 => + array ( + 0 => '3695181824', + 1 => '3697278975', + ), + 749 => + array ( + 0 => '3697737728', + 1 => '3697803263', + ), + 750 => + array ( + 0 => '3698589696', + 1 => '3699376127', + ), + 751 => + array ( + 0 => '3700752384', + 1 => '3700817919', + ), + 752 => + array ( + 0 => '3706060800', + 1 => '3706126335', + ), + 753 => + array ( + 0 => '3716431872', + 1 => '3716440063', + ), + 754 => + array ( + 0 => '3716493312', + 1 => '3716497407', + ), + 755 => + array ( + 0 => '3716513792', + 1 => '3716530175', + ), + 756 => + array ( + 0 => '3716808704', + 1 => '3718840319', + ), + 757 => + array ( + 0 => '3730833408', + 1 => '3732602879', + ), + 758 => + array ( + 0 => '3739680768', + 1 => '3739697151', + ), + 759 => + array ( + 0 => '3739746304', + 1 => '3740270591', + ), + 760 => + array ( + 0 => '3741024256', + 1 => '3741057023', + ), + 761 => + array ( + 0 => '3743055872', + 1 => '3743088639', + ), + 762 => + array ( + 0 => '3743186944', + 1 => '3743219711', + ), + 763 => + array ( + 0 => '3743416320', + 1 => '3745513471', + ), + 764 => + array ( + 0 => '3749855232', + 1 => '3749969919', + ), + 765 => + array ( + 0 => '3752165376', + 1 => '3752198143', + ), + 766 => + array ( + 0 => '3752329216', + 1 => '3752853503', + ), + 767 => + array ( + 0 => '3754033152', + 1 => '3754164223', + ), + 768 => + array ( + 0 => '3755868160', + 1 => '3755933695', + ), + 769 => + array ( + 0 => '3757899776', + 1 => '3757965311', + ), + 770 => + array ( + 0 => '3758080000', + 1 => '3758088191', + ), +); diff --git a/common/defaults/korea.ipv6.php b/common/defaults/korea.ipv6.php new file mode 100644 index 000000000..291776383 --- /dev/null +++ b/common/defaults/korea.ipv6.php @@ -0,0 +1,503 @@ + + array ( + 0 => '2001000000000000', + 1 => '2001000fffffffff', + ), + 1 => + array ( + 0 => '2001022000000000', + 1 => '20010220ffffffff', + ), + 2 => + array ( + 0 => '2001023000000000', + 1 => '20010230ffffffff', + ), + 3 => + array ( + 0 => '2001027000000000', + 1 => '20010270ffffffff', + ), + 4 => + array ( + 0 => '2001028000000000', + 1 => '20010280ffffffff', + ), + 5 => + array ( + 0 => '2001029000000000', + 1 => '20010290ffffffff', + ), + 6 => + array ( + 0 => '200102b000000000', + 1 => '200102b0ffffffff', + ), + 7 => + array ( + 0 => '200102b800000000', + 1 => '200102b8ffffffff', + ), + 8 => + array ( + 0 => '200102d800000000', + 1 => '200102d8ffffffff', + ), + 9 => + array ( + 0 => '2001032000000000', + 1 => '20010320ffffffff', + ), + 10 => + array ( + 0 => '2001033000000000', + 1 => '20010330ffffffff', + ), + 11 => + array ( + 0 => '2001037800000000', + 1 => '20010378ffffffff', + ), + 12 => + array ( + 0 => '2001039000000000', + 1 => '20010390ffffffff', + ), + 13 => + array ( + 0 => '200103a800000000', + 1 => '200103a8ffffffff', + ), + 14 => + array ( + 0 => '200107fa00000002', + 1 => '200107fa00000002', + ), + 15 => + array ( + 0 => '200107fa00080000', + 1 => '200107fa0008ffff', + ), + 16 => + array ( + 0 => '20010c4800000000', + 1 => '20010c48ffffffff', + ), + 17 => + array ( + 0 => '20010c9800000000', + 1 => '20010c98ffffffff', + ), + 18 => + array ( + 0 => '20010cf000000000', + 1 => '20010cf0ffffffff', + ), + 19 => + array ( + 0 => '20010d3800000000', + 1 => '20010d38ffffffff', + ), + 20 => + array ( + 0 => '20010dc500000000', + 1 => '20010dc5ffffffff', + ), + 21 => + array ( + 0 => '20010dcc00000000', + 1 => '20010dccffffffff', + ), + 22 => + array ( + 0 => '20010ea000000000', + 1 => '20010ea0ffffffff', + ), + 23 => + array ( + 0 => '20010ea800000000', + 1 => '20010ea8ffffffff', + ), + 24 => + array ( + 0 => '20010eb800000000', + 1 => '20010eb8ffffffff', + ), + 25 => + array ( + 0 => '20010ed000000000', + 1 => '20010ed0ffffffff', + ), + 26 => + array ( + 0 => '20010ee800000000', + 1 => '20010ee8ffffffff', + ), + 27 => + array ( + 0 => '20010ef000000000', + 1 => '20010ef0ffffffff', + ), + 28 => + array ( + 0 => '20010ef800000000', + 1 => '20010ef8ffffffff', + ), + 29 => + array ( + 0 => '20010f2800000000', + 1 => '20010f28ffffffff', + ), + 30 => + array ( + 0 => '20010f4800000000', + 1 => '20010f48ffffffff', + ), + 31 => + array ( + 0 => '24033e0000000000', + 1 => '24033e00ffffffff', + ), + 32 => + array ( + 0 => '2001443000000000', + 1 => '20014430ffffffff', + ), + 33 => + array ( + 0 => '2400000000000000', + 1 => '24000fffffffffff', + ), + 34 => + array ( + 0 => '2400180000000000', + 1 => '24001800ffffffff', + ), + 35 => + array ( + 0 => '2400330000000000', + 1 => '24003300ffffffff', + ), + 36 => + array ( + 0 => '2400478000000000', + 1 => '24004780ffffffff', + ), + 37 => + array ( + 0 => '2400498000000000', + 1 => '24004980ffffffff', + ), + 38 => + array ( + 0 => '24009f8000000000', + 1 => '24009f80ffffffff', + ), + 39 => + array ( + 0 => '2400a58000000000', + 1 => '2400a580ffffffff', + ), + 40 => + array ( + 0 => '2400ab0000000000', + 1 => '2400ab00ffffffff', + ), + 41 => + array ( + 0 => '2400cf0000000000', + 1 => '2400cf00ffffffff', + ), + 42 => + array ( + 0 => '2400fd8000000000', + 1 => '2400fd80ffffffff', + ), + 43 => + array ( + 0 => '2401270000000000', + 1 => '24012700ffffffff', + ), + 44 => + array ( + 0 => '2401400000000000', + 1 => '24014000ffffffff', + ), + 45 => + array ( + 0 => '2401a00000000000', + 1 => '2401a000ffffffff', + ), + 46 => + array ( + 0 => '2401a80000000000', + 1 => '2401a800ffffffff', + ), + 47 => + array ( + 0 => '2401c50000000000', + 1 => '2401c500ffffffff', + ), + 48 => + array ( + 0 => '2402000000000000', + 1 => '240200ffffffffff', + ), + 49 => + array ( + 0 => '24021a0000000000', + 1 => '24021a00ffffffff', + ), + 50 => + array ( + 0 => '2402310000000000', + 1 => '24023100ffffffff', + ), + 51 => + array ( + 0 => '2402580000000000', + 1 => '24025800ffffffff', + ), + 52 => + array ( + 0 => '2402610000000000', + 1 => '24026100ffffffff', + ), + 53 => + array ( + 0 => '2402700000000000', + 1 => '24027000ffffffff', + ), + 54 => + array ( + 0 => '2402be0000000000', + 1 => '2402be00ffffffff', + ), + 55 => + array ( + 0 => '2402de0000000000', + 1 => '2402de00ffffffff', + ), + 56 => + array ( + 0 => '2402f40000000000', + 1 => '2402f400ffffffff', + ), + 57 => + array ( + 0 => '2403370000000000', + 1 => '24033700ffffffff', + ), + 58 => + array ( + 0 => '2403630000000000', + 1 => '24036300ffffffff', + ), + 59 => + array ( + 0 => '2403650000000000', + 1 => '24036500ffffffff', + ), + 60 => + array ( + 0 => '2404000000000000', + 1 => '2404000fffffffff', + ), + 61 => + array ( + 0 => '2404080000000000', + 1 => '24040800ffffffff', + ), + 62 => + array ( + 0 => '2404230000000000', + 1 => '24042300ffffffff', + ), + 63 => + array ( + 0 => '2404460000000000', + 1 => '24044600ffffffff', + ), + 64 => + array ( + 0 => '2405350000000000', + 1 => '24053500ffffffff', + ), + 65 => + array ( + 0 => '2405430000000000', + 1 => '24054300ffffffff', + ), + 66 => + array ( + 0 => '2405580000000000', + 1 => '24055800ffffffff', + ), + 67 => + array ( + 0 => '20010e6000000000', + 1 => '20010e60ffffffff', + ), + 68 => + array ( + 0 => '20010e7000000000', + 1 => '20010e70ffffffff', + ), + 69 => + array ( + 0 => '20010e7800000000', + 1 => '20010e78ffffffff', + ), + 70 => + array ( + 0 => '20010e9800000000', + 1 => '20010e98ffffffff', + ), + 71 => + array ( + 0 => '24009e8000000000', + 1 => '24009e80ffffffff', + ), + 72 => + array ( + 0 => '2400e18000000000', + 1 => '2400e180ffffffff', + ), + 73 => + array ( + 0 => '2401e20000000000', + 1 => '2401e200ffffffff', + ), + 74 => + array ( + 0 => '24053d0000000000', + 1 => '24053d00ffffffff', + ), + 75 => + array ( + 0 => '24055f0000000000', + 1 => '24055f00ffffffff', + ), + 76 => + array ( + 0 => '24057b0000000000', + 1 => '24057b00ffffffff', + ), + 77 => + array ( + 0 => '2405860000000000', + 1 => '24058600ffffffff', + ), + 78 => + array ( + 0 => '2405950000000000', + 1 => '24059500ffffffff', + ), + 79 => + array ( + 0 => '2405c00000000000', + 1 => '2405c000ffffffff', + ), + 80 => + array ( + 0 => '2406400000000000', + 1 => '24064000ffffffff', + ), + 81 => + array ( + 0 => '2406590000000000', + 1 => '24065900ffffffff', + ), + 82 => + array ( + 0 => '2406660000000000', + 1 => '24066600ffffffff', + ), + 83 => + array ( + 0 => '2406680000000000', + 1 => '24066800ffffffff', + ), + 84 => + array ( + 0 => '24066a0000000000', + 1 => '24066a00ffffffff', + ), + 85 => + array ( + 0 => '2406ad0000000000', + 1 => '2406ad00ffffffff', + ), + 86 => + array ( + 0 => '2406b00000000000', + 1 => '2406b000ffffffff', + ), + 87 => + array ( + 0 => '2406d00000000000', + 1 => '2406d000ffffffff', + ), + 88 => + array ( + 0 => '2406d70000000000', + 1 => '2406d700ffffffff', + ), + 89 => + array ( + 0 => '24070b0000000000', + 1 => '24070b00ffffffff', + ), + 90 => + array ( + 0 => '2407200000000000', + 1 => '24072000ffffffff', + ), + 91 => + array ( + 0 => '2407350000000000', + 1 => '24073500ffffffff', + ), + 92 => + array ( + 0 => '2407650000000000', + 1 => '24076500ffffffff', + ), + 93 => + array ( + 0 => '2407670000000000', + 1 => '24076700ffffffff', + ), + 94 => + array ( + 0 => '2407910000000000', + 1 => '24079100ffffffff', + ), + 95 => + array ( + 0 => '2407b20000000000', + 1 => '2407b200ffffffff', + ), + 96 => + array ( + 0 => '2407b80000000000', + 1 => '2407b800ffffffff', + ), + 97 => + array ( + 0 => '2407c00000000000', + 1 => '2407c000ffffffff', + ), + 98 => + array ( + 0 => '2407c70000000000', + 1 => '2407c700ffffffff', + ), +); diff --git a/common/framework/calendar.php b/common/framework/calendar.php new file mode 100644 index 000000000..67aaafbe4 --- /dev/null +++ b/common/framework/calendar.php @@ -0,0 +1,132 @@ +ftp_info); $buff = ' DateTime::formatTimestamp('Y-m-d H:i:s', RX_TIME), + 'timestamp' => DateTime::formatTimestamp('Y-m-d H:i:s', \RX_TIME), 'url' => getCurrentPageUrl(), 'request' => (object)array( 'method' => $_SERVER['REQUEST_METHOD'] . ($_SERVER['REQUEST_METHOD'] !== \Context::getRequestMethod() ? (' (' . \Context::getRequestMethod() . ')') : ''), diff --git a/common/framework/filters/htmlfilter.php b/common/framework/filters/htmlfilter.php index 032e0e47b..dc6e6a7b6 100644 --- a/common/framework/filters/htmlfilter.php +++ b/common/framework/filters/htmlfilter.php @@ -3,6 +3,7 @@ namespace Rhymix\Framework\Filters; use Rhymix\Framework\Security; +use Rhymix\Framework\Storage; /** * The HTML filter class. @@ -126,8 +127,8 @@ class HTMLFilter $config->set('URI.SafeIframeRegexp', MediaFilter::getIframeWhitelistRegex()); // Set the serializer path. - $config->set('Cache.SerializerPath', RX_BASEDIR . 'files/cache/htmlpurifier'); - \FileHandler::makeDir(RX_BASEDIR . 'files/cache/htmlpurifier'); + $config->set('Cache.SerializerPath', \RX_BASEDIR . 'files/cache/htmlpurifier'); + Storage::createDirectory(\RX_BASEDIR . 'files/cache/htmlpurifier'); // Modify the HTML definition to support editor components and widgets. $def = $config->getHTMLDefinition(true); @@ -313,8 +314,8 @@ class HTMLFilter // flexbox $info['display'] = new \HTMLPurifier_AttrDef_Enum(array( - 'block', 'flex', '-webkit-flex', 'inline', 'inline-block', 'inline-flex', '-webkit-inline-flex', 'inline-table', - 'list-item', 'run-in', 'compact', 'marker', 'table', 'table-row-group', 'table-header-group', 'table-footer-group', + 'block', 'flex', '-webkit-flex', 'inline', 'inline-block', 'inline-flex', '-webkit-inline-flex', 'inline-table', + 'list-item', 'run-in', 'compact', 'marker', 'table', 'table-row-group', 'table-header-group', 'table-footer-group', 'table-row', 'table-column-group', 'table-column', 'table-cell', 'table-caption', 'none', 'initial', 'inherit', )); diff --git a/common/framework/filters/ipfilter.php b/common/framework/filters/ipfilter.php index 096ab4b2c..e62443d87 100644 --- a/common/framework/filters/ipfilter.php +++ b/common/framework/filters/ipfilter.php @@ -140,7 +140,7 @@ class IpFilter return false; } - $cloudflare_ranges = (include RX_BASEDIR . 'common/defaults/cloudflare.php'); + $cloudflare_ranges = (include \RX_BASEDIR . 'common/defaults/cloudflare.php'); foreach ($cloudflare_ranges as $cloudflare_range) { if (self::inRange($_SERVER['REMOTE_ADDR'], $cloudflare_range)) diff --git a/common/framework/filters/mediafilter.php b/common/framework/filters/mediafilter.php index 867030dda..11fe04f4e 100644 --- a/common/framework/filters/mediafilter.php +++ b/common/framework/filters/mediafilter.php @@ -198,7 +198,7 @@ class MediaFilter */ protected static function _loadWhitelists($custom_whitelist = array()) { - $default_whitelist = (include RX_BASEDIR . 'common/defaults/whitelist.php'); + $default_whitelist = (include \RX_BASEDIR . 'common/defaults/whitelist.php'); self::$_object_whitelist = array(); self::$_iframe_whitelist = array(); diff --git a/common/framework/formatter.php b/common/framework/formatter.php new file mode 100644 index 000000000..da2e87b9b --- /dev/null +++ b/common/framework/formatter.php @@ -0,0 +1,311 @@ + instead of
to separate lines. + if ($options & self::TEXT_NEWLINE_AS_P) + { + $lines = array_map('trim', explode("\n", escape(trim($text)))); + $result = ''; + foreach ($lines as $line) + { + $result .= "

$line

\n"; + } + return $result; + } + + // This option uses
to separate lines and

to separate paragraphs. + if ($options & self::TEXT_DOUBLE_NEWLINE_AS_P) + { + $lines = preg_replace('!(
)+\s*$!', '', nl2br(escape(trim($text)))); + $lines = preg_split('!(
\s*)+
!', $lines); + foreach ($lines as $line) + { + $result .= "

\n" . trim($line) . "\n

\n"; + } + return $result; + } + + // The default is to use
always. + return nl2br(escape(trim($text))) . "
\n"; + } + + /** + * Convert HTML to plain text. + * + * @param string $html + * @return string + */ + public static function html2text($html) + { + // Add line breaks after
and

tags. + $html = preg_replace('!]*>\s*!i', "\n", $html); + $html = preg_replace('!]*>\s*!i', '', $html); + $html = preg_replace('!]*>\s*!i', "\n\n", $html); + + // Encode links and images to preserve essential information. + $html = preg_replace_callback('!]*href="([^>"]+)"[^>]*>([^<]*)!i', function($matches) { + return trim($matches[2] . ' <' . $matches[1] . '>'); + }, $html); + $html = preg_replace_callback('!]*src="([^>"]+)"[^>]*>!i', function($matches) { + $title = preg_match('!title="([^>"]+)"!i', $matches[0], $m) ? $m[1] : null; + $title = $title ?: (preg_match('!alt="([^>"]+)"!i', $matches[0], $m) ? $m[1] : 'IMAGE'); + return trim('[' . $title . '] <' . $matches[1] . '>'); + }, $html); + + // Strip all other HTML. + $text = html_entity_decode(strip_tags($html)); + unset($html); + + // Normalize whitespace and return. + $text = str_replace("\r\n", "\n", $text); + $text = preg_replace('/\n(?:\s*\n)+/', "\n\n", $text); + return trim($text) . "\n"; + } + + /** + * Convert Markdown to HTML. + * + * @param string $markdown + * @param int $options (optional) + * @return string + */ + public static function markdown2html($markdown, $options = 0) + { + if ($options & self::MD_NEWLINE_AS_BR) + { + $markdown = preg_replace('/(?getConfig()->setOption('bold_style', '**'); + $converter->getConfig()->setOption('italic_style', '_'); + $converter->getConfig()->setOption('strip_tags', true); + return trim($converter->convert($html)) . "\n"; + } + + /** + * Convert BBCode to HTML. + * + * @param string $bbcode + * @return string + */ + public static function bbcode($bbcode) + { + $parser = new \JBBCode\Parser; + $parser->addCodeDefinitionSet(new \JBBCode\DefaultCodeDefinitionSet()); + + $builder = new \JBBCode\CodeDefinitionBuilder('quote', '

{param}
'); + $parser->addCodeDefinition($builder->build()); + $builder = new \JBBCode\CodeDefinitionBuilder('code', '
{param}
'); + $builder->setParseContent(false); + $parser->addCodeDefinition($builder->build()); + + $parser->parse($bbcode); + $html = $parser->getAsHtml(); + return Filters\HTMLFilter::clean($html); + } + + /** + * Apply smart quotes and other stylistic enhancements to HTML. + * + * @param string $html + * @return string + */ + public static function applySmartQuotes($html) + { + return \Michelf\SmartyPants::defaultTransform($html, 'qbBdDiew'); + } + + /** + * Compile LESS into CSS. + * + * @param string|array $source_filename + * @param string $target_filename + * @param array $variables (optional) + * @parsm bool $minify (optional) + * @return bool + */ + public static function compileLESS($source_filename, $target_filename, $variables = array(), $minify = false) + { + // Get the cleaned and concatenated content. + $content = self::_concatenate($source_filename, $target_filename); + + // Compile! + try + { + $less_compiler = new \lessc; + $less_compiler->setFormatter($minify ? 'compressed' : 'lessjs'); + $less_compiler->setImportDir(array(dirname(is_array($source_filename) ? array_first($source_filename) : $source_filename))); + if ($variables) + { + $less_compiler->setVariables($variables); + } + + $content = '@charset "UTF-8";' . "\n" . $less_compiler->compile($content) . "\n"; + $result = true; + } + catch (\Exception $e) + { + $content = '/*' . "\n" . 'Error while compiling LESS:' . "\n" . $e->getMessage() . "\n" . '*/' . "\n"; + $result = false; + } + + // Save the result to the target file. + Storage::write($target_filename, $content); + return $result; + } + + /** + * Compile SCSS into CSS. + * + * @param string|array $source_filename + * @param string $target_filename + * @param array $variables (optional) + * @parsm bool $minify (optional) + * @return bool + */ + public static function compileSCSS($source_filename, $target_filename, $variables = array(), $minify = false) + { + // Get the cleaned and concatenated content. + $content = self::_concatenate($source_filename, $target_filename); + + // Compile! + try + { + $scss_compiler = new \scssc; + $scss_compiler->setFormatter($minify ? 'scss_formatter_compressed' : 'scss_formatter'); + $scss_compiler->setImportPaths(array(dirname(is_array($source_filename) ? array_first($source_filename) : $source_filename))); + if ($variables) + { + $scss_compiler->setVariables($variables); + } + + $content = '@charset "UTF-8";' . "\n" . $scss_compiler->compile($content) . "\n"; + $result = true; + } + catch (\Exception $e) + { + $content = '/*' . "\n" . 'Error while compiling SCSS:' . "\n" . $e->getMessage() . "\n" . '*/' . "\n"; + $result = false; + } + + // Save the result to the target file. + Storage::write($target_filename, $content); + return $result; + } + + /** + * Minify CSS. + * + * @param string|array $source_filename + * @param string $target_filename + * @return bool + */ + public static function minifyCSS($source_filename, $target_filename) + { + $minifier = new \MatthiasMullie\Minify\CSS($source_filename); + $content = $minifier->execute($target_filename); + Storage::write($target_filename, $content); + return strlen($content) ? true : false; + } + + /** + * Minify JS. + * + * @param string|array $source_filename + * @param string $target_filename + * @return bool + */ + public static function minifyJS($source_filename, $target_filename) + { + $minifier = new \MatthiasMullie\Minify\JS($source_filename); + $content = $minifier->execute($target_filename); + Storage::write($target_filename, $content); + return strlen($content) ? true : false; + } + + /** + * CSS concatenation subroutine for compileLESS() and compileSCSS(). + * + * @param string|array $source_filename + * @param string $target_filename + * @return string + */ + protected static function _concatenate($source_filename, $target_filename) + { + $result = ''; + + if (!is_array($source_filename)) + { + $source_filename = array($source_filename); + } + foreach ($source_filename as $filename) + { + $content = utf8_clean(file_get_contents($filename)); + $path_converter = new \MatthiasMullie\PathConverter\Converter($filename, $target_filename); + $content = preg_replace_callback('/\burl\\(([^)]+)\\)/iU', function($matches) use ($path_converter) { + $url = trim($matches[1], '\'"'); + if (!strlen($url) || $url[0] === '/') + { + return $matches[0]; + } + else + { + return 'url("' . escape_dqstr($path_converter->convert($url)) . '")'; + } + }, $content); + unset($path_converter); + $result .= trim($content) . "\n\n"; + } + + return $result; + } +} diff --git a/common/framework/i18n.php b/common/framework/i18n.php new file mode 100644 index 000000000..fe3ee894b --- /dev/null +++ b/common/framework/i18n.php @@ -0,0 +1,78 @@ +iso_3166_1_alpha2, $b->iso_3166_1_alpha2); + }); + break; + case self::SORT_CODE_3: + uasort($result, function($a, $b) { + return strcmp($a->iso_3166_1_alpha3, $b->iso_3166_1_alpha3); + }); + break; + case self::SORT_CODE_NUMERIC: + uasort($result, function($a, $b) { + return strcmp($a->iso_3166_1_numeric, $b->iso_3166_1_numeric); + }); + break; + case self::SORT_CCTLD: + uasort($result, function($a, $b) { + return strcmp($a->cctld, $b->cctld); + }); + break; + case self::SORT_NAME_ENGLISH: + uasort($result, function($a, $b) { + return strcmp($a->name_english, $b->name_english); + }); + break; + case self::SORT_NAME_KOREAN: + uasort($result, function($a, $b) { + return strcmp($a->name_korean, $b->name_korean); + }); + break; + case self::SORT_NAME_NATIVE: + uasort($result, function($a, $b) { + return strcmp($a->name_native, $b->name_native); + }); + break; + } + + return $result; + } +} diff --git a/common/framework/korea.php b/common/framework/korea.php new file mode 100644 index 000000000..5996decb5 --- /dev/null +++ b/common/framework/korea.php @@ -0,0 +1,453 @@ + date('ymd')) + { + return false; + } + + // Calculate the checksum. + $sum = 0; + for ($i = 0; $i < 12; $i++) + { + $sum += $code[$i] * (($i % 8) + 2); + } + $checksum = (11 - ($sum % 11)) % 10; + if (in_array((int)($code[6]), array(1, 2, 3, 4, 9, 0))) + { + return $checksum === (int)($code[12]); + } + else + { + if (substr($code, 7, 2) % 2 !== 0) + { + return false; + } + else + { + return (($checksum + 2) % 10) === (int)($code[12]); + } + } + } + + /** + * Check if the given string is a valid corporation registration number (법인등록번호). + * + * This method only checks the format. + * It does not check that the number is actually in use. + * + * @param string $code + * @return bool + */ + public static function isValidCorporationNumber($code) + { + // Return false if the format is obviously wrong. + if (!preg_match('/^[0-9]{6}-?[0-9]{7}$/', $code)) + { + return false; + } + + // Remove hyphen. + $code = str_replace('-', '', $code); + + // Calculate the checksum. + $sum = 0; + for ($i = 0; $i < 12; $i++) + { + $sum += $code[$i] * (($i % 2) + 1); + } + $checksum = (10 - ($sum % 10)) % 10; + + // Check the 7th and 13th digits. + if ($code[6] !== '0') + { + return false; + } + return $checksum === (int)($code[12]); + } + + /** + * Check if the given string is a valid business registration number (사업자등록번호). + * + * This method only checks the format. + * It does not check that the number is actually in use. + * + * @param string $code + * @return bool + */ + public static function isValidBusinessNumber($code) + { + // Return false if the format is obviously wrong. + if (!preg_match('/^[0-9]{3}-?[0-9]{2}-?[0-9]{5}$/', $code)) + { + return false; + } + + // Remove hyphen. + $code = str_replace('-', '', $code); + + // Calculate the checksum. + $sum = 0; + $sum += $code[0] + ($code[1] * 3) + ($code[2] * 7); + $sum += $code[3] + ($code[4] * 3) + ($code[5] * 7); + $sum += $code[6] + ($code[7] * 3) + ($code[8] * 5); + $sum += floor(($code[8] * 5) / 10); + $checksum = (10 - ($sum % 10)) % 10; + + // Check the last digit. + return $checksum === (int)($code[9]); + } + + /** + * Check if the given IP address is Korean. + * + * This method may return incorrect results if the IP allocation databases + * (korea.ipv4.php, korea.ipv6.php) are out of date. + * + * @param string $ip + * @return bool + */ + public static function isKoreanIP($ip) + { + // Extract the IPv4 address from an "IPv4-mapped IPv6" address. + if (preg_match('/::ffff:(?:0+:)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/', $ip, $matches)) $ip = $matches[1]; + + // Return false if the IP address is not in the right format. + if (!filter_var($ip, \FILTER_VALIDATE_IP)) return false; + + // Check IPv4. + if (filter_var($ip, \FILTER_VALIDATE_IP, array('flags' => \FILTER_FLAG_IPV4))) + { + // Convert to integer. + $ipnum = sprintf('%u', ip2long($ip)); + + // Treat local addresses as Korean. + if ($ipnum >= 167772160 && $ipnum <= 184549375) return true; // 10.0.0.0/8 + if ($ipnum >= 2130706432 && $ipnum <= 2147483647) return true; // 127.0.0.0/8 + if ($ipnum >= 3232235520 && $ipnum <= 3232301055) return true; // 192.168.0.0/16 + if ($ipnum >= 2886729728 && $ipnum <= 2887778303) return true; // 172.16.0.0/20 + + // Check the IPv4 allocation database. + $ranges = (include \RX_BASEDIR . 'common/defaults/korea.ipv4.php'); + foreach ($ranges as $range) + { + if ($ipnum >= $range[0] && $ipnum <= $range[1]) return true; + } + return false; + } + + // Check IPv6. + elseif (function_exists('inet_pton')) + { + // Convert to hexadecimal format. + $ipbin = strtolower(bin2hex(inet_pton($ip))); + + // Treat local addresses as Korean. + if ($ipbin == '00000000000000000000000000000001') return true; // ::1 + if (preg_match('/^f(?:[cd]|e80{13})/', $ipbin)) return true; // fc00::/8, fd00::/8, fe80::/64 + + // Check the IPv6 allocation database. + $ranges = (include \RX_BASEDIR . 'common/defaults/korea.ipv6.php'); + foreach ($ranges as $range) + { + if (strncmp($ipbin, $range[0], 16) >= 0 && strncmp($ipbin, $range[1], 16) <= 0) return true; + } + return false; + } + + return false; + } + + /** + * Check if the given email address is hosted by a Korean portal site. + * + * This can be used to tell which recipients may subscribe to the KISA RBL (kisarbl.or.kr). + * If the domain is not found, this method returns false. + * + * @param string $domain + * @param bool $clear_cache (optional) + * @return bool + */ + public static function isKoreanEmailAddress($email_address, $clear_cache = false) + { + // Clear the cache if requested. + if ($clear_cache) + { + self::$_domain_cache = array(); + } + + // Get the domain from the email address. + if ($pos = strpos($email_address, '@')) + { + $domain = substr($email_address, $pos + 1); + } + else + { + $domain = $email_address; + } + $domain = rtrim(strtolower($domain), '.'); + + // Return cached result if available. + if (array_key_exists($domain, self::$_domain_cache)) + { + return self::$_domain_cache[$domain]; + } + + // Shortcut for known domains. + if (in_array($domain, self::$known_korean)) + { + return self::$_domain_cache[$domain] = true; + } + if (in_array($domain, self::$known_foreign)) + { + return self::$_domain_cache[$domain] = false; + } + + // For unknown domains, check the MX record. + $mx = self::_getDNSRecords($domain, \DNS_MX); + + $i = 0; + foreach ($mx as $mx) + { + $mx = rtrim($mx, '.'); + foreach (self::$known_korean as $portal) + { + if ($mx === $portal || ends_with('.' . $portal, $mx)) + { + return self::$_domain_cache[$domain] = true; + } + } + foreach (self::$known_foreign as $portal) + { + if ($mx === $portal || ends_with('.' . $portal, $mx)) + { + return self::$_domain_cache[$domain] = false; + } + } + foreach (self::_getDNSRecords($domain, \DNS_A) as $mx_ip) + { + return self::$_domain_cache[$domain] = self::isKoreanIP($mx_ip); + } + if (++$i > 2) + { + break; + } + } + + return self::$_domain_cache[$domain] = false; + } + + /** + * Get the DNS records of a domain. + * + * @param string $domain + * @param int $type + * @return array + */ + protected static function _getDNSRecords($domain, $type) + { + $records = dns_get_record($domain, $type); + if (!$records) + { + return array(); + } + + $result = array(); + foreach ($records as $record) + { + if (isset($record['pri']) && isset($record['target'])) + { + $result[intval($record['pri'])] = $record['target']; + } + elseif (isset($record['target'])) + { + $result[] = $record['target']; + } + elseif (isset($record['ip']) || isset($record['ipv6'])) + { + $result[] = isset($record['ip']) ? $record['ip'] : $record['ipv6']; + } + elseif (isset($record['txt'])) + { + $result[] = $record['txt']; + } + } + + ksort($result); + return $result; + } + + /** + * Prevent multiple lookups for the same domain. + */ + protected static $_domain_cache = array(); + + /** + * Domains known to be Korean and subscribed to the KISA RBL. + */ + public static $known_korean = array( + 'hanmail.net', + 'hanmail2.net', + 'daum.net', + 'paran.com', + 'tistory.com', + 'naver.com', + 'navercorp.com', + 'nate.com', + 'cyworld.com', + 'dreamwiz.com', + 'korea.com', + 'dreamx.com', + 'chol.com', + 'chollian.net', + 'hanmir.com', + 'hitel.com', + 'freechal.com', + 'empas.com', + 'empal.com', + 'hanafos.com', + ); + + /** + * Domains known to be foreign. + */ + public static $known_foreign = array( + 'gmail.com', + 'googlemail.com', + 'google.com', + 'yahoo.com', + 'yahoo.co.kr', + 'hotmail.com', + 'hotmail.co.kr', + 'live.com', + 'outlook.com', + 'msn.com', + 'me.com', + 'mac.com', + 'icloud.com', + 'facebook.com', + 'aol.com', + 'gmx.com', + 'mail.com', + 'fastmail.com', + 'fastmail.fm', + 'runbox.com', + 'inbox.com', + 'lycos.com', + 'zoho.com', + ); +} diff --git a/common/framework/lang.php b/common/framework/lang.php index 023ece8d7..7880be069 100644 --- a/common/framework/lang.php +++ b/common/framework/lang.php @@ -75,19 +75,19 @@ class Lang if ($name === 'common') { - $this->loadDirectory(RX_BASEDIR . 'common/lang', 'common'); + $this->loadDirectory(\RX_BASEDIR . 'common/lang', 'common'); } - elseif (file_exists(RX_BASEDIR . "plugins/$name/lang")) + elseif (file_exists(\RX_BASEDIR . "plugins/$name/lang")) { - $this->loadDirectory(RX_BASEDIR . "plugins/$name/lang", $name); + $this->loadDirectory(\RX_BASEDIR . "plugins/$name/lang", $name); } - elseif (file_exists(RX_BASEDIR . "modules/$name/lang")) + elseif (file_exists(\RX_BASEDIR . "modules/$name/lang")) { - $this->loadDirectory(RX_BASEDIR . "modules/$name/lang", $name); + $this->loadDirectory(\RX_BASEDIR . "modules/$name/lang", $name); } - elseif (file_exists(RX_BASEDIR . "addons/$name/lang")) + elseif (file_exists(\RX_BASEDIR . "addons/$name/lang")) { - $this->loadDirectory(RX_BASEDIR . "addons/$name/lang", $name); + $this->loadDirectory(\RX_BASEDIR . "addons/$name/lang", $name); } } @@ -163,7 +163,7 @@ class Lang */ public static function getSupportedList() { - return (include RX_BASEDIR . 'common/defaults/lang.php'); + return (include \RX_BASEDIR . 'common/defaults/lang.php'); } /** diff --git a/common/framework/mime.php b/common/framework/mime.php new file mode 100644 index 000000000..00488659a --- /dev/null +++ b/common/framework/mime.php @@ -0,0 +1,152 @@ + $mime) + { + if (!strncasecmp($type, $mime, strlen($type))) return $extension; + } + return false; + } + + /** + * The default MIME type for unknown extensions. + */ + protected static $_default = 'application/octet-stream'; + + /** + * The list of known MIME types. + */ + protected static $_types = array( + + // Text-based document formats. + 'html' => 'text/html', + 'htm' => 'text/html', + 'shtml' => 'text/html', + 'txt' => 'text/plain', + 'text' => 'text/plain', + 'log' => 'text/plain', + 'rtf' => 'text/rtf', + 'xml' => 'text/xml', + 'xsl' => 'text/xml', + 'css' => 'text/css', + 'csv' => 'text/csv', + + // Binary document formats. + 'doc' => 'application/msword', + 'dot' => 'application/msword', + 'xls' => 'application/vnd.ms-excel', + 'ppt' => 'application/vnd.ms-powerpoint', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'odt' => 'application/vnd.oasis.opendocument.text', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'odb' => 'application/vnd.oasis.opendocument.database', + 'pdf' => 'application/pdf', + + // Images. + 'bmp' => 'image/bmp', + 'gif' => 'image/gif', + 'jpg' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpe' => 'image/jpeg', + 'png' => 'image/png', + 'svg' => 'image/svg+xml', + 'tiff' => 'image/tiff', + 'tif' => 'image/tiff', + 'ico' => 'image/vnd.microsoft.icon', + + // Audio. + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mpga' => 'audio/mpeg', + 'mp2' => 'audio/mpeg', + 'mp3' => 'audio/mpeg', + 'aif' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'ra' => 'audio/x-realaudio', + 'wav' => 'audio/x-wav', + 'ogg' => 'audio/ogg', + + // Video. + 'avi' => 'video/x-msvideo', + 'flv' => 'video/x-flv', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpe' => 'video/mpeg', + 'mp4' => 'video/mpeg', + 'qt' => 'video/quicktime', + 'mov' => 'video/quicktime', + 'movie' => 'video/x-sgi-movie', + 'rv' => 'video/vnd.rn-realvideo', + 'dvi' => 'application/x-dvi', + + // Other multimedia file formats. + 'psd' => 'application/x-photoshop', + 'swf' => 'application/x-shockwave-flash', + 'ai' => 'application/postscript', + 'eps' => 'application/postscript', + 'ps' => 'application/postscript', + 'mif' => 'application/vnd.mif', + 'xul' => 'application/vnd.mozilla.xul+xml', + + // Source code formats. + 'phps' => 'application/x-httpd-php-source', + 'js' => 'application/x-javascript', + + // Archives. + 'bz2' => 'application/x-bzip', + 'gz' => 'application/x-gzip', + 'tar' => 'application/x-tar', + 'tgz' => 'application/x-tar', + 'gtar' => 'application/x-gtar', + 'rar' => 'application/x-rar-compressed', + 'zip' => 'application/x-zip', + + // RFC822 email message. + 'eml' => 'message/rfc822', + ); +} diff --git a/common/framework/pagination.php b/common/framework/pagination.php new file mode 100644 index 000000000..cc26906e4 --- /dev/null +++ b/common/framework/pagination.php @@ -0,0 +1,153 @@ + $total_pages) + { + $last_shown = $total_pages; + } + } + else + { + $first_shown = $current_page - floor(($count - 1) / 2); + if ($first_shown < 1) + { + $first_shown = 1; + } + $last_shown = $first_shown + $count - 1; + if ($last_shown > $total_pages) + { + $last_shown = $total_pages; + $first_shown = max(1, $last_shown - $count + 1); + } + } + + // Open the
tag. + $return = array('