From ae38b7ec16ca2596b6a77037953936046e7b612b Mon Sep 17 00:00:00 2001 From: Juan Lago Date: Sun, 21 Nov 2021 19:29:25 +0100 Subject: [PATCH] Implemented custom node search. --- README.md | 90 +- src/Databases/Countries/CountryCodes.php | 2059 +++++++++++----------- src/Models/ByCountryModel.php | 73 +- src/Models/Extensions/NodeSearchable.php | 36 + src/Models/ModelBase.php | 4 +- tests/test/CountriesTest.php | 96 +- 6 files changed, 1267 insertions(+), 1091 deletions(-) create mode 100644 src/Models/Extensions/NodeSearchable.php diff --git a/README.md b/README.md index 81f4687..ab2a7e2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## What is it? -A PHP library inspired in that provides a list of structured ISO codes oriented to geography/geopolitical information. +A PHP library that provides a list of structured ISO codes oriented to geography/geopolitical information. This library provides the following ISOs and codes: - [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) (Geographical codes) @@ -11,9 +11,13 @@ This library provides the following ISOs and codes: - [TLDs](https://en.wikipedia.org/wiki/Country_code_top-level_domain) (Regional TLD) - [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) (Currency codes) - [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (Language codes) +- [International dialing codes](https://en.wikipedia.org/wiki/List_of_country_calling_codes) +- [Unicode flags](https://en.wikipedia.org/wiki/Regional_indicator_symbol) This library provides localized names for countries, currencies and languages. The library allows to create custom/new locales. +RDMS like MySQL or SQLite is not required in order to use this library. All the database files are maintained in separate files that are loaded on demand in a way that keep a low footprint. + ### Disclaimer This library data is based on international standards recognized by global organizations, the author is not responsible about how the translations and geopolitical data is represented. @@ -59,10 +63,10 @@ It returns something like: [ ... "AL"=> [ - "alpha2" => "AL", - "alpha3" => "ALB", - "numeric" => "008", - "tld" => ".al", + "alpha2" => "AL", + "alpha3" => "ALB", + "numeric" => "008", + "tld" => ".al", "currencies" => Collection [ 'ALL' ], @@ -72,7 +76,10 @@ It returns something like: "continents" => Collection [ "EU", ], - "name" => "Albania" + "name" => "Albania", + "capital" => "Tirana", + "flag" => "๐Ÿ‡ฆ๐Ÿ‡ฑ", + "phone_code" => "355", ] ... ]; @@ -83,8 +90,7 @@ Retrieve one specific country: (new ISOCodes) ->byCountry() ->all() - ->where('alpha2', 'ES') - ->first(); + ->firstWhere('alpha2', 'ES'); or @@ -92,14 +98,29 @@ or ->byCountry() ->byAlpha2('ES'); - Retrieve all the countries located in Europe: (new ISOCodes) ->byCountry() - ->all() - ->whereIn('continents', ['EU']); + ->byContinent('EU'); + +Retrieve all the countries located *only* in Europe: + + (new ISOCodes) + ->byCountry() + ->byContinent('EU', true); + +Retrieve all the countries located in Europe and Asia: + + (new ISOCodes) + ->byCountry() + ->byContinent(['EU', 'AS'], true); +Retrieve all the countries located in Europe or Asia + + (new ISOCodes) + ->byCountry() + ->byContinent(['EU', 'AS']); Retrieve all the countries sorted by numeric code descending that uses *only* Euro as currency: @@ -109,14 +130,18 @@ Retrieve all the countries sorted by numeric code descending that uses *only* Eu ->where('currencies', ['EUR']) ->sortByDesc('numeric'); -Retrieve all the countries that uses *at least* Euro as currency: +or (new ISOCodes) ->byCountry() - ->all() - ->filter(fn($iso) => in_array('EUR', $iso['currencies'])); + ->byCurrency('EUR', true) + ->sortByDesc('numeric'); -alternatively is also get a list +Retrieve all the countries that uses *at least* Euro as currency: + + (new ISOCodes) + ->byCountry() + ->byCurrency('EUR'); Create a list of countries with their names (useful for a dynamic listbox): @@ -130,12 +155,11 @@ Create a list of countries with their names (useful for a dynamic listbox): ->sortBy('label') ->values(); -Retrieve a list of countries which national language is Spanish: +Retrieve a list of countries that has Portuguese as one of their official languages: (new ISOCodes) ->byCountry() - ->all() - ->filter(fn($iso) => 'ES' === ($iso['languages'][0] ?? null)); + ->byLanguage('PT'); * Note that most spoken language should be always the first in the list. @@ -231,36 +255,42 @@ Examples: returns the following: [ - "alpha2" => "PT", - "alpha3" => "PRT", - "numeric" => "620", - "tld" => ".pt", + "alpha2" => "PT", + "alpha3" => "PRT", + "numeric" => "620", + "tld" => ".pt", "currencies" => [ "EUR" => "Euro", ], - "languages" => [ + "languages" => [ "Portuguese", ], - "name" => "Portugal", + "name" => "Portugal", + "capital" => "Lisboa", + "flag" => "๐Ÿ‡ต๐Ÿ‡น", + "phone_code" => "351", ] instead of: [ - "alpha2" => "PT", - "alpha3" => "PRT", - "numeric" => "620", - "tld" => ".pt", + "alpha2" => "PT", + "alpha3" => "PRT", + "numeric" => "620", + "tld" => ".pt", "currencies" => [ "EUR", ], - "languages" => [ + "languages" => [ "PT", ], "continents" => [ "EU", ], - "name" => "Portugal", + "name" => "Portugal", + "capital" => "Lisboa", + "flag" => "๐Ÿ‡ต๐Ÿ‡น", + "phone_code" => "351", ] The node resolutions works with the others models like "byCurrency", "byLanguage", etc. diff --git a/src/Databases/Countries/CountryCodes.php b/src/Databases/Countries/CountryCodes.php index 413d949..d9f0066 100644 --- a/src/Databases/Countries/CountryCodes.php +++ b/src/Databases/Countries/CountryCodes.php @@ -5,39 +5,40 @@ use Juanparati\ISOCodes\Databases\ISODatabaseBase; /** - * List of country codes with their ISO 3166-1 alpha-2, alpha3, numeric code and TLD. + * List of country codes with their ISO 3166-1 alpha-2, alpha3, numeric code, TLD and phone code. * * @see https://www.iban.com/country-codes * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 * @see https://en.wikipedia.org/wiki/Country_code_top-level_domain + * @see https://en.wikipedia.org/wiki/List_of_country_calling_codes */ class CountryCodes extends ISODatabaseBase { protected array $db = [ 'AF' => [ - 'alpha2' => 'AF', - 'alpha3' => 'AFG', - 'numeric' => '004', - 'tld' => '.af', - 'currencies' => ['AFN',], - 'languages' => ['PS'], - 'continents' => ['AS'], - 'capital' => 'Kabul', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ซ', - 'callingcode' => '93', + 'alpha2' => 'AF', + 'alpha3' => 'AFG', + 'numeric' => '004', + 'tld' => '.af', + 'currencies' => ['AFN',], + 'languages' => ['PS'], + 'continents' => ['AS'], + 'capital' => 'Kabul', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ซ', + 'phone_code' => '93', ], 'AX' => [ - 'alpha2' => 'AX', - 'alpha3' => 'ALA', - 'numeric' => '248', - 'tld' => '.ax', - 'currencies' => ['EUR',], - 'languages' => ['SV'], - 'continents' => ['EU'], - 'capital' => 'Mariehamn', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฝ', - 'callingcode' => '358', + 'alpha2' => 'AX', + 'alpha3' => 'ALA', + 'numeric' => '248', + 'tld' => '.ax', + 'currencies' => ['EUR',], + 'languages' => ['SV'], + 'continents' => ['EU'], + 'capital' => 'Mariehamn', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฝ', + 'phone_code' => '358', ], 'AL' => [ 'alpha2' => 'AL', @@ -48,56 +49,56 @@ class CountryCodes extends ISODatabaseBase 'languages' => ['SQ'], 'continents' => ['EU'], 'capital' => 'Tirana', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฑ', - 'callingcode' => '355', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฑ', + 'phone_code' => '355', ], 'DZ' => [ - 'alpha2' => 'DZ', - 'alpha3' => 'DZA', - 'numeric' => '012', - 'tld' => '.dz', - 'currencies' => ['DZD',], - 'languages' => ['AR'], - 'continents' => ['AF'], - 'capital' => 'Algiers', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ฟ', - 'callingcode' => '213', + 'alpha2' => 'DZ', + 'alpha3' => 'DZA', + 'numeric' => '012', + 'tld' => '.dz', + 'currencies' => ['DZD',], + 'languages' => ['AR'], + 'continents' => ['AF'], + 'capital' => 'Algiers', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ฟ', + 'phone_code' => '213', ], 'AS' => [ - 'alpha2' => 'AS', - 'alpha3' => 'ASM', - 'numeric' => '016', - 'tld' => '.as', - 'currencies' => ['USD',], - 'language' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Pago Pago', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ธ', - 'callingcode' => '1684', + 'alpha2' => 'AS', + 'alpha3' => 'ASM', + 'numeric' => '016', + 'tld' => '.as', + 'currencies' => ['USD',], + 'languages' => ['EN'], + 'continents' => ['OC'], + 'capital' => 'Pago Pago', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ธ', + 'phone_code' => '1684', ], 'AD' => [ - 'alpha2' => 'AD', - 'alpha3' => 'AND', - 'numeric' => '020', - 'tld' => '.ad', - 'currencies' => ['EUR',], - 'languages' => ['CA'], - 'continents' => ['EU'], - 'capital' => 'Andorra la Vella', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฉ', - 'callingcode' => '376', + 'alpha2' => 'AD', + 'alpha3' => 'AND', + 'numeric' => '020', + 'tld' => '.ad', + 'currencies' => ['EUR',], + 'languages' => ['CA'], + 'continents' => ['EU'], + 'capital' => 'Andorra la Vella', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฉ', + 'phone_code' => '376', ], 'AO' => [ - 'alpha2' => 'AO', - 'alpha3' => 'AGO', - 'numeric' => '024', - 'tld' => '.ao', - 'currencies' => ['AOA',], - 'languages' => ['PT'], - 'continents' => ['AF'], - 'capital' => 'Luanda', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ด', - 'callingcode' => '244', + 'alpha2' => 'AO', + 'alpha3' => 'AGO', + 'numeric' => '024', + 'tld' => '.ao', + 'currencies' => ['AOA',], + 'languages' => ['PT'], + 'continents' => ['AF'], + 'capital' => 'Luanda', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ด', + 'phone_code' => '244', ], 'AI' => [ 'alpha2' => 'AI', @@ -108,8 +109,8 @@ class CountryCodes extends ISODatabaseBase 'languages' => ['EN'], 'continents' => ['NA'], 'capital' => 'The Valley', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฎ', - 'callingcode' => '1-264', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฎ', + 'phone_code' => '1-264', ], 'AG' => [ 'alpha2' => 'AG', @@ -118,10 +119,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ag', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Saint John\'s', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฌ', - 'callingcode' => '1268', + 'continents' => ['NA'], + 'capital' => 'Saint John\'s', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฌ', + 'phone_code' => '1268', ], 'AR' => [ 'alpha2' => 'AR', @@ -130,10 +131,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ar', 'currencies' => ['ARS',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Buenos Aires', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ท', - 'callingcode' => '54', + 'continents' => ['SA'], + 'capital' => 'Buenos Aires', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ท', + 'phone_code' => '54', ], 'AM' => [ 'alpha2' => 'AM', @@ -142,10 +143,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.am', 'currencies' => ['AMD',], 'languages' => ['HY'], - 'continents' => ['AS'], - 'capital' => 'Yerevan', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฒ', - 'callingcode' => '374', + 'continents' => ['AS'], + 'capital' => 'Yerevan', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฒ', + 'phone_code' => '374', ], 'AW' => [ 'alpha2' => 'AW', @@ -154,10 +155,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.aw', 'currencies' => ['AWG',], 'languages' => ['NL', 'ES'], - 'continents' => ['NA'], - 'capital' => 'Oranjestad', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ผ', - 'callingcode' => '297', + 'continents' => ['NA'], + 'capital' => 'Oranjestad', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ผ', + 'phone_code' => '297', ], 'AU' => [ 'alpha2' => 'AU', @@ -166,10 +167,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.au', 'currencies' => ['AUD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Canberra', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡บ', - 'callingcode' => '61', + 'continents' => ['OC'], + 'capital' => 'Canberra', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡บ', + 'phone_code' => '61', ], 'AT' => [ 'alpha2' => 'AT', @@ -178,10 +179,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.at', 'currencies' => ['EUR',], 'languages' => ['DE'], - 'continents' => ['EU'], - 'capital' => 'Vienna', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡น', - 'callingcode' => '43', + 'continents' => ['EU'], + 'capital' => 'Vienna', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡น', + 'phone_code' => '43', ], 'AZ' => [ 'alpha2' => 'AZ', @@ -190,10 +191,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.az', 'currencies' => ['AZN',], 'languages' => ['AZ'], - 'continents' => ['AS'], - 'capital' => 'Baku', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ฟ', - 'callingcode' => '994', + 'continents' => ['AS'], + 'capital' => 'Baku', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ฟ', + 'phone_code' => '994', ], 'BS' => [ 'alpha2' => 'BS', @@ -202,22 +203,22 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bs', 'currencies' => ['BSD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Nassau', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ธ', - 'callingcode' => '1242', + 'continents' => ['NA'], + 'capital' => 'Nassau', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ธ', + 'phone_code' => '1242', ], 'BH' => [ - 'alpha2' => 'BH', - 'alpha3' => 'BHR', - 'numeric' => '048', - 'tld' => '.bh', - 'currencies' => ['BHD',], - 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Manama', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ญ', - 'callingcode' => '973', + 'alpha2' => 'BH', + 'alpha3' => 'BHR', + 'numeric' => '048', + 'tld' => '.bh', + 'currencies' => ['BHD',], + 'languages' => ['AR'], + 'continents' => ['AS'], + 'capital' => 'Manama', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ญ', + 'phone_code' => '973', ], 'BD' => [ 'alpha2' => 'BD', @@ -225,11 +226,11 @@ class CountryCodes extends ISODatabaseBase 'numeric' => '050', 'tld' => '.bd', 'currencies' => ['BDT',], - 'languages' => ['BN'], - 'continents' => ['AS'], - 'capital' => 'Dhaka', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฉ', - 'callingcode' => '880', + 'languages' => ['BN'], + 'continents' => ['AS'], + 'capital' => 'Dhaka', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฉ', + 'phone_code' => '880', ], 'BB' => [ 'alpha2' => 'BB', @@ -237,11 +238,11 @@ class CountryCodes extends ISODatabaseBase 'numeric' => '052', 'tld' => '.bb', 'currencies' => ['BBD',], - 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Bridgetown', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ง', - 'callingcode' => '1246', + 'languages' => ['EN'], + 'continents' => ['NA'], + 'capital' => 'Bridgetown', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ง', + 'phone_code' => '1246', ], 'BY' => [ 'alpha2' => 'BY', @@ -250,10 +251,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.by', 'currencies' => ['BYN',], 'languages' => ['BE', 'RU'], - 'continents' => ['EU'], - 'capital' => 'Minsk', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡พ', - 'callingcode' => '218', + 'continents' => ['EU'], + 'capital' => 'Minsk', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡พ', + 'phone_code' => '218', ], 'BE' => [ 'alpha2' => 'BE', @@ -262,10 +263,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.be', 'currencies' => ['EUR',], 'languages' => ['NL', 'FR', 'DE'], - 'continents' => ['EU'], - 'capital' => 'Brussels', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ช', - 'callingcode' => '32', + 'continents' => ['EU'], + 'capital' => 'Brussels', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ช', + 'phone_code' => '32', ], 'BZ' => [ 'alpha2' => 'BZ', @@ -274,10 +275,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bz', 'currencies' => ['BZD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Belmopan', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฟ', - 'callingcode' => '501', + 'continents' => ['NA'], + 'capital' => 'Belmopan', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฟ', + 'phone_code' => '501', ], 'BJ' => [ 'alpha2' => 'BJ', @@ -286,10 +287,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bj', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Porto-Novo', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฏ', - 'callingcode' => '229', + 'continents' => ['AF'], + 'capital' => 'Porto-Novo', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฏ', + 'phone_code' => '229', ], 'BM' => [ 'alpha2' => 'BM', @@ -298,10 +299,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bm', 'currencies' => ['BMD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Hamilton', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฒ', - 'callingcode' => '1441', + 'continents' => ['NA'], + 'capital' => 'Hamilton', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฒ', + 'phone_code' => '1441', ], 'BT' => [ 'alpha2' => 'BT', @@ -310,10 +311,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bt', 'currencies' => ['BTN',], 'languages' => ['DZ'], - 'continents' => ['AS'], - 'capital' => 'Thimphu', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡น', - 'callingcode' => '975', + 'continents' => ['AS'], + 'capital' => 'Thimphu', + 'flag' => '๐Ÿ‡ง๐Ÿ‡น', + 'phone_code' => '975', ], 'BO' => [ 'alpha2' => 'BO', @@ -322,10 +323,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bo', 'currencies' => ['BOB',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Sucre', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ด', - 'callingcode' => '591', + 'continents' => ['SA'], + 'capital' => 'Sucre', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ด', + 'phone_code' => '591', ], 'BQ' => [ 'alpha2' => 'BQ', @@ -334,10 +335,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bq', 'currencies' => ['USD',], 'languages' => ['NL'], - 'continents' => ['SA'], - 'capital' => null, - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ถ', - 'callingcode' => null, + 'continents' => ['SA'], + 'capital' => null, + 'flag' => '๐Ÿ‡ง๐Ÿ‡ถ', + 'phone_code' => null, ], 'BA' => [ 'alpha2' => 'BA', @@ -346,10 +347,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ba', 'currencies' => ['BAM',], 'languages' => ['BS', 'HR', 'SR'], - 'continents' => ['EU'], - 'capital' => 'Sarajevo', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฆ', - 'callingcode' => '387', + 'continents' => ['EU'], + 'capital' => 'Sarajevo', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฆ', + 'phone_code' => '387', ], 'BW' => [ 'alpha2' => 'BW', @@ -358,10 +359,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bw', 'currencies' => ['BWP',], 'languages' => ['EN', 'TN'], - 'continents' => ['AF'], - 'capital' => 'Gaborone', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ผ', - 'callingcode' => '267', + 'continents' => ['AF'], + 'capital' => 'Gaborone', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ผ', + 'phone_code' => '267', ], 'BV' => [ 'alpha2' => 'BV', @@ -370,10 +371,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bv', 'currencies' => ['NOK',], 'languages' => ['NO'], - 'continents' => ['AN'], - 'capital' => null, - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ป', - 'callingcode' => NULL, + 'continents' => ['AN'], + 'capital' => null, + 'flag' => '๐Ÿ‡ง๐Ÿ‡ป', + 'phone_code' => NULL, ], 'BR' => [ 'alpha2' => 'BR', @@ -382,10 +383,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.br', 'currencies' => ['BRL',], 'languages' => ['PT'], - 'continents' => ['SA'], - 'capital' => 'Brasรญlia', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ท', - 'callingcode' => '55', + 'continents' => ['SA'], + 'capital' => 'Brasรญlia', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ท', + 'phone_code' => '55', ], 'IO' => [ 'alpha2' => 'IO', @@ -394,10 +395,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.io', 'currencies' => ['GBP',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Diego Garcia', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ด', - 'callingcode' => '246', + 'continents' => ['OC'], + 'capital' => 'Diego Garcia', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ด', + 'phone_code' => '246', ], 'BN' => [ 'alpha2' => 'BN', @@ -406,10 +407,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bn', 'currencies' => ['BND', 'SGD',], 'languages' => ['MS', 'EN'], - 'continents' => ['AS'], - 'capital' => 'Bandar Seri Begawan', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ณ', - 'callingcode' => '673', + 'continents' => ['AS'], + 'capital' => 'Bandar Seri Begawan', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ณ', + 'phone_code' => '673', ], 'BG' => [ 'alpha2' => 'BG', @@ -418,10 +419,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bg', 'currencies' => ['BGN',], 'languages' => ['BG'], - 'continents' => ['EU'], - 'capital' => 'Sofia', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฌ', - 'callingcode' => '359', + 'continents' => ['EU'], + 'capital' => 'Sofia', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฌ', + 'phone_code' => '359', ], 'BF' => [ 'alpha2' => 'BF', @@ -430,10 +431,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bf', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Ouagadougou', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ซ', - 'callingcode' => '226', + 'continents' => ['AF'], + 'capital' => 'Ouagadougou', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ซ', + 'phone_code' => '226', ], 'BI' => [ 'alpha2' => 'BI', @@ -442,10 +443,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bi', 'currencies' => ['BIF',], 'languages' => ['FR', 'RN', 'EN'], - 'continents' => ['AF'], - 'capital' => 'Bujumbura', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฎ', - 'callingcode' => '257', + 'continents' => ['AF'], + 'capital' => 'Bujumbura', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฎ', + 'phone_code' => '257', ], 'CV' => [ 'alpha2' => 'CV', @@ -454,10 +455,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cv', 'currencies' => ['CVE',], 'languages' => ['PT'], - 'continents' => ['AF'], - 'capital' => 'Praia', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ป', - 'callingcode' => '238', + 'continents' => ['AF'], + 'capital' => 'Praia', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ป', + 'phone_code' => '238', ], 'KH' => [ 'alpha2' => 'KH', @@ -466,10 +467,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kh', 'currencies' => ['KHR',], 'languages' => ['KM'], - 'continents' => ['AS'], - 'capital' => 'Phnom Penh', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ญ', - 'callingcode' => '855', + 'continents' => ['AS'], + 'capital' => 'Phnom Penh', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ญ', + 'phone_code' => '855', ], 'CM' => [ 'alpha2' => 'CM', @@ -478,10 +479,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cm', 'currencies' => ['XAF',], 'languages' => ['EN', 'FR'], - 'continents' => ['AF'], - 'capital' => 'Yaoundรฉ', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฒ', - 'callingcode' => '237', + 'continents' => ['AF'], + 'capital' => 'Yaoundรฉ', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฒ', + 'phone_code' => '237', ], 'CA' => [ 'alpha2' => 'CA', @@ -490,10 +491,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ca', 'currencies' => ['CAD',], 'languages' => ['EN', 'FR'], - 'continents' => ['NA'], - 'capital' => 'Ottawa', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฆ', - 'callingcode' => '1', + 'continents' => ['NA'], + 'capital' => 'Ottawa', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฆ', + 'phone_code' => '1', ], 'KY' => [ 'alpha2' => 'KY', @@ -502,10 +503,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ky', 'currencies' => ['KYD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'George Town', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡พ', - 'callingcode' => '1345', + 'continents' => ['NA'], + 'capital' => 'George Town', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡พ', + 'phone_code' => '1345', ], 'CF' => [ 'alpha2' => 'CF', @@ -514,10 +515,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cf', 'currencies' => ['XAF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Bangui', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ซ', - 'callingcode' => '236', + 'continents' => ['AF'], + 'capital' => 'Bangui', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ซ', + 'phone_code' => '236', ], 'TD' => [ 'alpha2' => 'TD', @@ -526,10 +527,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.td', 'currencies' => ['XAF',], 'languages' => ['AR', 'FR'], - 'continents' => ['AF'], - 'capital' => 'N\'Djamena', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฉ', - 'callingcode' => '235', + 'continents' => ['AF'], + 'capital' => 'N\'Djamena', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฉ', + 'phone_code' => '235', ], 'CL' => [ 'alpha2' => 'CL', @@ -538,10 +539,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cl', 'currencies' => ['CLP',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Santiago', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฑ', - 'callingcode' => '56', + 'continents' => ['NA'], + 'capital' => 'Santiago', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฑ', + 'phone_code' => '56', ], 'CN' => [ 'alpha2' => 'CN', @@ -550,10 +551,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cn', 'currencies' => ['CNY',], 'languages' => ['ZH'], - 'continents' => ['AS'], - 'capital' => 'Beijing', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ณ', - 'callingcode' => '86', + 'continents' => ['AS'], + 'capital' => 'Beijing', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ณ', + 'phone_code' => '86', ], 'CX' => [ 'alpha2' => 'CX', @@ -562,10 +563,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cx', 'currencies' => ['AUD',], 'languages' => ['EN', 'ZH', 'MS'], - 'continents' => ['AS'], - 'capital' => 'Flying Fish Cove', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฝ', - 'callingcode' => '61', + 'continents' => ['AS'], + 'capital' => 'Flying Fish Cove', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฝ', + 'phone_code' => '61', ], 'CC' => [ 'alpha2' => 'CC', @@ -574,10 +575,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cc', 'currencies' => ['AUD',], 'languages' => ['EN', 'MS'], - 'continents' => ['AS'], - 'capital' => 'West Island', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡จ', - 'callingcode' => '61', + 'continents' => ['AS'], + 'capital' => 'West Island', + 'flag' => '๐Ÿ‡จ๐Ÿ‡จ', + 'phone_code' => '61', ], 'CO' => [ 'alpha2' => 'CO', @@ -586,10 +587,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.co', 'currencies' => ['COP',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Bogotรก', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ด', - 'callingcode' => '57', + 'continents' => ['SA'], + 'capital' => 'Bogotรก', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ด', + 'phone_code' => '57', ], 'KM' => [ 'alpha2' => 'KM', @@ -598,10 +599,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.km', 'currencies' => ['KMF',], 'languages' => ['AR', 'FR'], - 'continents' => ['AF'], - 'capital' => 'Moroni', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ฒ', - 'callingcode' => '269', + 'continents' => ['AF'], + 'capital' => 'Moroni', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ฒ', + 'phone_code' => '269', ], 'CG' => [ 'alpha2' => 'CG', @@ -610,10 +611,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cg', 'currencies' => ['XAF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Brazzaville', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฌ', - 'callingcode' => '242', + 'continents' => ['AF'], + 'capital' => 'Brazzaville', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฌ', + 'phone_code' => '242', ], 'CD' => [ 'alpha2' => 'CD', @@ -622,10 +623,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cd', 'currencies' => ['CDF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Kinshasa', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฉ', - 'callingcode' => '243', + 'continents' => ['AF'], + 'capital' => 'Kinshasa', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฉ', + 'phone_code' => '243', ], 'CK' => [ 'alpha2' => 'CK', @@ -634,10 +635,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ck', 'currencies' => ['NZD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Avarua', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฐ', - 'callingcode' => '682', + 'continents' => ['OC'], + 'capital' => 'Avarua', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฐ', + 'phone_code' => '682', ], 'CR' => [ 'alpha2' => 'CR', @@ -646,10 +647,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cr', 'currencies' => ['CRC',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'San Josรฉ', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ท', - 'callingcode' => '506', + 'continents' => ['NA'], + 'capital' => 'San Josรฉ', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ท', + 'phone_code' => '506', ], 'CI' => [ 'alpha2' => 'CI', @@ -658,10 +659,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ci', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Yamoussoukro', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฎ', - 'callingcode' => '225', + 'continents' => ['AF'], + 'capital' => 'Yamoussoukro', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฎ', + 'phone_code' => '225', ], 'HR' => [ 'alpha2' => 'HR', @@ -670,10 +671,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.hr', 'currencies' => ['HRK',], 'languages' => ['HR', 'SR', 'HU', 'CS', 'SK'], - 'continents' => ['EU'], - 'capital' => 'Zagreb', - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡ท', - 'callingcode' => '385', + 'continents' => ['EU'], + 'capital' => 'Zagreb', + 'flag' => '๐Ÿ‡ญ๐Ÿ‡ท', + 'phone_code' => '385', ], 'CU' => [ 'alpha2' => 'CU', @@ -682,10 +683,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cu', 'currencies' => ['CUC', 'CUP',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Havana', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡บ', - 'callingcode' => '53', + 'continents' => ['NA'], + 'capital' => 'Havana', + 'flag' => '๐Ÿ‡จ๐Ÿ‡บ', + 'phone_code' => '53', ], 'CW' => [ 'alpha2' => 'CW', @@ -694,10 +695,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cw', 'currencies' => ['ANG',], 'languages' => ['NL', 'EN'], - 'continents' => ['NA'], - 'capital' => 'Willemstad', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ผ', - 'callingcode' => '5999', + 'continents' => ['NA'], + 'capital' => 'Willemstad', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ผ', + 'phone_code' => '5999', ], 'CY' => [ 'alpha2' => 'CY', @@ -706,10 +707,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cy', 'currencies' => ['EUR',], 'languages' => ['EL', 'TR'], - 'continents' => ['AS', 'EU'], - 'capital' => 'Nicosia', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡พ', - 'callingcode' => '357', + 'continents' => ['AS', 'EU'], + 'capital' => 'Nicosia', + 'flag' => '๐Ÿ‡จ๐Ÿ‡พ', + 'phone_code' => '357', ], 'CZ' => [ 'alpha2' => 'CZ', @@ -718,10 +719,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.cz', 'currencies' => ['CZK',], 'languages' => ['CS', 'SK'], - 'continents' => ['EU'], - 'capital' => 'Prague', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ฟ', - 'callingcode' => '420', + 'continents' => ['EU'], + 'capital' => 'Prague', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ฟ', + 'phone_code' => '420', ], 'DK' => [ 'alpha2' => 'DK', @@ -730,10 +731,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.dk', 'currencies' => ['DKK',], 'languages' => ['DA'], - 'continents' => ['EU'], - 'capital' => 'Copenhagen', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ฐ', - 'callingcode' => '45', + 'continents' => ['EU'], + 'capital' => 'Copenhagen', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ฐ', + 'phone_code' => '45', ], 'DJ' => [ 'alpha2' => 'DJ', @@ -742,10 +743,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.dj', 'currencies' => ['DJF',], 'languages' => ['AR', 'FR'], - 'continents' => ['AF'], - 'capital' => 'Djibouti', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ฏ', - 'callingcode' => '253', + 'continents' => ['AF'], + 'capital' => 'Djibouti', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ฏ', + 'phone_code' => '253', ], 'DM' => [ 'alpha2' => 'DM', @@ -754,10 +755,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.dm', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Roseau', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ฒ', - 'callingcode' => '1767', + 'continents' => ['NA'], + 'capital' => 'Roseau', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ฒ', + 'phone_code' => '1767', ], 'DO' => [ 'alpha2' => 'DO', @@ -766,10 +767,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.do', 'currencies' => ['DOP',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Santo Domingo', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ด', - 'callingcode' => '1809', + 'continents' => ['NA'], + 'capital' => 'Santo Domingo', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ด', + 'phone_code' => '1809', ], 'EC' => [ 'alpha2' => 'EC', @@ -778,10 +779,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ec', 'currencies' => ['USD',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Quito', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡จ', - 'callingcode' => '593', + 'continents' => ['SA'], + 'capital' => 'Quito', + 'flag' => '๐Ÿ‡ช๐Ÿ‡จ', + 'phone_code' => '593', ], 'EG' => [ 'alpha2' => 'EG', @@ -790,10 +791,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.eg', 'currencies' => ['EGP',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Cairo', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡ฌ', - 'callingcode' => '20', + 'continents' => ['AS'], + 'capital' => 'Cairo', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ฌ', + 'phone_code' => '20', ], 'SV' => [ 'alpha2' => 'SV', @@ -802,10 +803,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sv', 'currencies' => ['USD',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'San Salvador', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ป', - 'callingcode' => '503', + 'continents' => ['SA'], + 'capital' => 'San Salvador', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ป', + 'phone_code' => '503', ], 'GQ' => [ 'alpha2' => 'GQ', @@ -814,10 +815,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gq', 'currencies' => ['XAF',], 'languages' => ['FR', 'PT', 'ES'], - 'continents' => ['AF'], - 'capital' => 'Malabo', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ถ', - 'callingcode' => '240', + 'continents' => ['AF'], + 'capital' => 'Malabo', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ถ', + 'phone_code' => '240', ], 'ER' => [ 'alpha2' => 'ER', @@ -826,10 +827,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.er', 'currencies' => ['ERN',], 'languages' => ['MS', 'EN'], - 'continents' => ['AF'], - 'capital' => 'Asmara', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡ท', - 'callingcode' => '291', + 'continents' => ['AF'], + 'capital' => 'Asmara', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ท', + 'phone_code' => '291', ], 'EE' => [ 'alpha2' => 'EE', @@ -838,10 +839,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ee', 'currencies' => ['EUR',], 'languages' => ['ET'], - 'continents' => ['EU'], - 'capital' => 'Tallinn', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡ช', - 'callingcode' => '372', + 'continents' => ['EU'], + 'capital' => 'Tallinn', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ช', + 'phone_code' => '372', ], 'ET' => [ 'alpha2' => 'ET', @@ -850,10 +851,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.et', 'currencies' => ['ETB',], 'languages' => ['AA', 'AM', 'OM', 'SO', 'TI'], - 'continents' => ['AF'], - 'capital' => 'Addis Ababa', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡น', - 'callingcode' => '251', + 'continents' => ['AF'], + 'capital' => 'Addis Ababa', + 'flag' => '๐Ÿ‡ช๐Ÿ‡น', + 'phone_code' => '251', ], 'SZ' => [ 'alpha2' => 'SZ', @@ -862,10 +863,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sz', 'currencies' => ['SZL', 'ZAR',], 'languages' => ['EN', 'SS'], - 'continents' => ['AF'], - 'capital' => 'Lobamba', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฟ', - 'callingcode' => '268', + 'continents' => ['AF'], + 'capital' => 'Lobamba', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฟ', + 'phone_code' => '268', ], 'FK' => [ 'alpha2' => 'FK', @@ -874,10 +875,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fk', 'currencies' => ['FKP',], 'languages' => ['EN'], - 'continents' => ['SA'], - 'capital' => 'Stanley', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ฐ', - 'callingcode' => '500', + 'continents' => ['SA'], + 'capital' => 'Stanley', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ฐ', + 'phone_code' => '500', ], 'FO' => [ 'alpha2' => 'FO', @@ -886,10 +887,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fo', 'currencies' => ['DKK',], 'languages' => ['DA', 'FO'], - 'continents' => ['EU'], - 'capital' => 'Tรณrshavn', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ด', - 'callingcode' => '298', + 'continents' => ['EU'], + 'capital' => 'Tรณrshavn', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ด', + 'phone_code' => '298', ], 'FJ' => [ 'alpha2' => 'FJ', @@ -898,10 +899,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fj', 'currencies' => ['FJD',], 'languages' => ['FJ', 'EN', 'HI'], - 'continents' => ['OC'], - 'capital' => 'Suva', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ฏ', - 'callingcode' => '679', + 'continents' => ['OC'], + 'capital' => 'Suva', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ฏ', + 'phone_code' => '679', ], 'FI' => [ 'alpha2' => 'FI', @@ -910,10 +911,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fi', 'currencies' => ['EUR',], 'languages' => ['FI', 'SV'], - 'continents' => ['EU'], - 'capital' => 'Helsinki', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ฎ', - 'callingcode' => '358', + 'continents' => ['EU'], + 'capital' => 'Helsinki', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ฎ', + 'phone_code' => '358', ], 'FR' => [ 'alpha2' => 'FR', @@ -922,10 +923,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fr', 'currencies' => ['EUR',], 'languages' => ['FR', 'CO'], - 'continents' => ['EU'], - 'capital' => 'Paris', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ท', - 'callingcode' => '33', + 'continents' => ['EU'], + 'capital' => 'Paris', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ท', + 'phone_code' => '33', ], 'GF' => [ 'alpha2' => 'GF', @@ -934,10 +935,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gf', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['SA'], - 'capital' => 'Cayenne', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ซ', - 'callingcode' => '594', + 'continents' => ['SA'], + 'capital' => 'Cayenne', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ซ', + 'phone_code' => '594', ], 'PF' => [ 'alpha2' => 'PF', @@ -946,10 +947,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pf', 'currencies' => ['XPF',], 'languages' => ['FR'], - 'continents' => ['OC'], - 'capital' => 'Papeetฤ“', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ซ', - 'callingcode' => '689', + 'continents' => ['OC'], + 'capital' => 'Papeetฤ“', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ซ', + 'phone_code' => '689', ], 'TF' => [ 'alpha2' => 'TF', @@ -958,10 +959,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tf', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['AN'], - 'capital' => 'Port-aux-Franรงais', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ซ', - 'callingcode' => null, + 'continents' => ['AN'], + 'capital' => 'Port-aux-Franรงais', + 'flag' => '๐Ÿ‡น๐Ÿ‡ซ', + 'phone_code' => null, ], 'GA' => [ 'alpha2' => 'GA', @@ -970,10 +971,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ga', 'currencies' => ['XAF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Libreville', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฆ', - 'callingcode' => '241', + 'continents' => ['AF'], + 'capital' => 'Libreville', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฆ', + 'phone_code' => '241', ], 'GM' => [ 'alpha2' => 'GM', @@ -982,10 +983,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gm', 'currencies' => ['GMD',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Banjul', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฒ', - 'callingcode' => '220', + 'continents' => ['AF'], + 'capital' => 'Banjul', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฒ', + 'phone_code' => '220', ], 'GE' => [ @@ -995,10 +996,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ge', 'currencies' => ['GEL',], 'languages' => ['KA'], - 'continents' => ['AS'], - 'capital' => 'Tbilisi', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ช', - 'callingcode' => '995', + 'continents' => ['AS'], + 'capital' => 'Tbilisi', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ช', + 'phone_code' => '995', ], 'DE' => [ 'alpha2' => 'DE', @@ -1007,10 +1008,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.de', 'currencies' => ['EUR',], 'languages' => ['DE'], - 'continents' => ['EU'], - 'capital' => 'Berlin', - 'emoji' => '๐Ÿ‡ฉ๐Ÿ‡ช', - 'callingcode' => '49', + 'continents' => ['EU'], + 'capital' => 'Berlin', + 'flag' => '๐Ÿ‡ฉ๐Ÿ‡ช', + 'phone_code' => '49', ], 'GH' => [ 'alpha2' => 'GH', @@ -1019,10 +1020,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gh', 'currencies' => ['GHS',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Accra', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ญ', - 'callingcode' => '233', + 'continents' => ['AF'], + 'capital' => 'Accra', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ญ', + 'phone_code' => '233', ], 'GI' => [ 'alpha2' => 'GI', @@ -1031,10 +1032,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gi', 'currencies' => ['GIP', 'GBP'], 'languages' => ['EN'], - 'continents' => ['EU'], - 'capital' => 'Gibraltar', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฎ', - 'callingcode' => '350', + 'continents' => ['EU'], + 'capital' => 'Gibraltar', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฎ', + 'phone_code' => '350', ], 'GR' => [ 'alpha2' => 'GR', @@ -1043,10 +1044,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gr', 'currencies' => ['EUR',], 'languages' => ['EL'], - 'continents' => ['EU'], - 'capital' => 'Athens', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ท', - 'callingcode' => '30', + 'continents' => ['EU'], + 'capital' => 'Athens', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ท', + 'phone_code' => '30', ], 'GL' => [ 'alpha2' => 'GL', @@ -1055,10 +1056,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gl', 'currencies' => ['DKK',], 'languages' => ['DA', 'KL'], - 'continents' => ['NA'], - 'capital' => 'Nuuk', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฑ', - 'callingcode' => '299', + 'continents' => ['NA'], + 'capital' => 'Nuuk', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฑ', + 'phone_code' => '299', ], 'GD' => [ 'alpha2' => 'GD', @@ -1067,10 +1068,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gd', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'St. George\'s', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฉ', - 'callingcode' => '1473', + 'continents' => ['NA'], + 'capital' => 'St. George\'s', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฉ', + 'phone_code' => '1473', ], 'GP' => [ 'alpha2' => 'GP', @@ -1079,10 +1080,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gp', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['NA'], - 'capital' => 'Basse-Terre', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ต', - 'callingcode' => '590', + 'continents' => ['NA'], + 'capital' => 'Basse-Terre', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ต', + 'phone_code' => '590', ], 'GU' => [ 'alpha2' => 'GU', @@ -1091,10 +1092,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gu', 'currencies' => ['USD',], 'languages' => ['EN', 'JA'], - 'continents' => ['OC'], - 'capital' => 'Hagรฅtรฑa', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡บ', - 'callingcode' => '1671', + 'continents' => ['OC'], + 'capital' => 'Hagรฅtรฑa', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡บ', + 'phone_code' => '1671', ], 'GT' => [ 'alpha2' => 'GT', @@ -1103,10 +1104,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gt', 'currencies' => ['GTQ',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Guatemala City', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡น', - 'callingcode' => '502', + 'continents' => ['NA'], + 'capital' => 'Guatemala City', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡น', + 'phone_code' => '502', ], 'GG' => [ 'alpha2' => 'GG', @@ -1115,10 +1116,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gg', 'currencies' => ['GBP',], 'languages' => ['EN'], - 'continents' => ['EU'], - 'capital' => 'St. Peter Port', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ฌ', - 'callingcode' => '44', + 'continents' => ['EU'], + 'capital' => 'St. Peter Port', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ฌ', + 'phone_code' => '44', ], 'GN' => [ 'alpha2' => 'GN', @@ -1127,10 +1128,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gn', 'currencies' => ['GNF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Conakry', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ณ', - 'callingcode' => '224', + 'continents' => ['AF'], + 'capital' => 'Conakry', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ณ', + 'phone_code' => '224', ], 'GW' => [ 'alpha2' => 'GW', @@ -1138,10 +1139,11 @@ class CountryCodes extends ISODatabaseBase 'numeric' => '624', 'tld' => '.gw', 'currencies' => ['XOF',], - 'continents' => ['AF'], - 'capital' => 'Bissau', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ผ', - 'callingcode' => '245', + 'languages' => ['PT'], + 'continents' => ['AF'], + 'capital' => 'Bissau', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ผ', + 'phone_code' => '245', ], 'GY' => [ 'alpha2' => 'GY', @@ -1150,10 +1152,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gy', 'currencies' => ['GYD',], 'languages' => ['EN'], - 'continents' => ['SA'], - 'capital' => 'Georgetown', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡พ', - 'callingcode' => '592', + 'continents' => ['SA'], + 'capital' => 'Georgetown', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡พ', + 'phone_code' => '592', ], 'HT' => [ 'alpha2' => 'HT', @@ -1162,10 +1164,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ht', 'currencies' => ['HTG',], 'languages' => ['HT', 'FR'], - 'continents' => ['NA'], - 'capital' => 'Port-au-Prince', - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡น', - 'callingcode' => '509', + 'continents' => ['NA'], + 'capital' => 'Port-au-Prince', + 'flag' => '๐Ÿ‡ญ๐Ÿ‡น', + 'phone_code' => '509', ], 'HM' => [ 'alpha2' => 'HM', @@ -1174,10 +1176,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.hm', 'currencies' => ['AUD',], 'languages' => ['EN'], - 'continents' => ['AN'], - 'capital' => null, - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡ฒ', - 'callingcode' => null, + 'continents' => ['AN'], + 'capital' => null, + 'flag' => '๐Ÿ‡ญ๐Ÿ‡ฒ', + 'phone_code' => null, ], 'VA' => [ 'alpha2' => 'VA', @@ -1186,10 +1188,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.va', 'currencies' => ['EUR',], 'languages' => ['IT'], - 'continents' => ['EU'], - 'capital' => 'Vatican City', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡ฆ', - 'callingcode' => '3906698', + 'continents' => ['EU'], + 'capital' => 'Vatican City', + 'flag' => '๐Ÿ‡ป๐Ÿ‡ฆ', + 'phone_code' => '3906698', ], 'HN' => [ 'alpha2' => 'HN', @@ -1198,10 +1200,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.hn', 'currencies' => ['HNL',], 'languages' => ['ES', 'EN'], - 'continents' => ['NA'], - 'capital' => 'Tegucigalpa', - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡ณ', - 'callingcode' => '504', + 'continents' => ['NA'], + 'capital' => 'Tegucigalpa', + 'flag' => '๐Ÿ‡ญ๐Ÿ‡ณ', + 'phone_code' => '504', ], 'HK' => [ 'alpha2' => 'HK', @@ -1210,10 +1212,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.hk', 'currencies' => ['HKD',], 'languages' => ['EN', 'ZH'], - 'continents' => ['AS'], - 'capital' => 'City of Victoria', - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡ฐ', - 'callingcode' => '852', + 'continents' => ['AS'], + 'capital' => 'City of Victoria', + 'flag' => '๐Ÿ‡ญ๐Ÿ‡ฐ', + 'phone_code' => '852', ], 'HU' => [ 'alpha2' => 'HU', @@ -1222,10 +1224,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.hu', 'currencies' => ['HUF',], 'languages' => ['HU'], - 'continents' => ['EU'], - 'capital' => 'Budapest', - 'emoji' => '๐Ÿ‡ญ๐Ÿ‡บ', - 'callingcode' => '36', + 'continents' => ['EU'], + 'capital' => 'Budapest', + 'flag' => '๐Ÿ‡ญ๐Ÿ‡บ', + 'phone_code' => '36', ], 'IS' => [ 'alpha2' => 'IS', @@ -1234,10 +1236,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.is', 'currencies' => ['ISK',], 'languages' => ['IS'], - 'continents' => ['EU'], - 'capital' => 'Reykjavik', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ธ', - 'callingcode' => '354', + 'continents' => ['EU'], + 'capital' => 'Reykjavik', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ธ', + 'phone_code' => '354', ], 'IN' => [ 'alpha2' => 'IN', @@ -1246,10 +1248,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.in', 'currencies' => ['INR',], 'languages' => ['HI', 'EN'], - 'continents' => ['AS'], - 'capital' => 'New Delhi', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ณ', - 'callingcode' => '91', + 'continents' => ['AS'], + 'capital' => 'New Delhi', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ณ', + 'phone_code' => '91', ], 'ID' => [ 'alpha2' => 'ID', @@ -1258,10 +1260,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.id', 'currencies' => ['IDR',], 'languages' => ['MY'], - 'continents' => ['AS'], - 'capital' => 'Naypyidaw', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฒ', - 'callingcode' => '95', + 'continents' => ['AS'], + 'capital' => 'Naypyidaw', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฒ', + 'phone_code' => '95', ], 'IR' => [ 'alpha2' => 'IR', @@ -1270,10 +1272,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ir', 'currencies' => ['IRR',], 'languages' => ['FA'], - 'continents' => ['AS'], - 'capital' => 'Tehran', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ท', - 'callingcode' => '98', + 'continents' => ['AS'], + 'capital' => 'Tehran', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ท', + 'phone_code' => '98', ], 'IQ' => [ 'alpha2' => 'IQ', @@ -1282,10 +1284,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.iq', 'currencies' => ['IQD',], 'languages' => ['AR', 'KU'], - 'continents' => ['AS'], - 'capital' => 'Baghdad', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ถ', - 'callingcode' => '964', + 'continents' => ['AS'], + 'capital' => 'Baghdad', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ถ', + 'phone_code' => '964', ], 'IE' => [ 'alpha2' => 'IE', @@ -1294,10 +1296,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ie', 'currencies' => ['EUR',], 'languages' => ['GA', 'EN'], - 'continents' => ['EU'], - 'capital' => 'Dublin', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ช', - 'callingcode' => '353', + 'continents' => ['EU'], + 'capital' => 'Dublin', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ช', + 'phone_code' => '353', ], 'IM' => [ 'alpha2' => 'IM', @@ -1306,10 +1308,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.im', 'currencies' => ['GBP',], 'languages' => ['EN'], - 'continents' => ['EU'], - 'capital' => 'Douglas', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡ฒ', - 'callingcode' => '44', + 'continents' => ['EU'], + 'capital' => 'Douglas', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡ฒ', + 'phone_code' => '44', ], 'IL' => [ 'alpha2' => 'IL', @@ -1318,10 +1320,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.il', 'currencies' => ['ILS',], 'languages' => ['HE'], - 'continents' => ['AS'], - 'capital' => 'Ramallah', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ธ', - 'callingcode' => '970', + 'continents' => ['AS'], + 'capital' => 'Ramallah', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ธ', + 'phone_code' => '970', ], 'IT' => [ 'alpha2' => 'IT', @@ -1330,10 +1332,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.it', 'currencies' => ['EUR',], 'languages' => ['IT'], - 'continents' => ['EU'], - 'capital' => 'Rome', - 'emoji' => '๐Ÿ‡ฎ๐Ÿ‡น', - 'callingcode' => '39', + 'continents' => ['EU'], + 'capital' => 'Rome', + 'flag' => '๐Ÿ‡ฎ๐Ÿ‡น', + 'phone_code' => '39', ], 'JM' => [ 'alpha2' => 'JM', @@ -1342,10 +1344,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.jm', 'currencies' => ['JMD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Kingston', - 'emoji' => '๐Ÿ‡ฏ๐Ÿ‡ฒ', - 'callingcode' => '1876', + 'continents' => ['NA'], + 'capital' => 'Kingston', + 'flag' => '๐Ÿ‡ฏ๐Ÿ‡ฒ', + 'phone_code' => '1876', ], 'JP' => [ 'alpha2' => 'JP', @@ -1354,10 +1356,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.jp', 'currencies' => ['JPY',], 'languages' => ['JA'], - 'continents' => ['AS'], - 'capital' => 'Tokyo', - 'emoji' => '๐Ÿ‡ฏ๐Ÿ‡ต', - 'callingcode' => '81', + 'continents' => ['AS'], + 'capital' => 'Tokyo', + 'flag' => '๐Ÿ‡ฏ๐Ÿ‡ต', + 'phone_code' => '81', ], 'JE' => [ 'alpha2' => 'JE', @@ -1366,10 +1368,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.je', 'currencies' => ['GBP',], 'languages' => ['EN'], - 'continents' => ['EU'], - 'capital' => 'Saint Helier', - 'emoji' => '๐Ÿ‡ฏ๐Ÿ‡ช', - 'callingcode' => '44', + 'continents' => ['EU'], + 'capital' => 'Saint Helier', + 'flag' => '๐Ÿ‡ฏ๐Ÿ‡ช', + 'phone_code' => '44', ], 'JO' => [ 'alpha2' => 'JO', @@ -1378,10 +1380,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.jo', 'currencies' => ['JOD',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Amman', - 'emoji' => '๐Ÿ‡ฏ๐Ÿ‡ด', - 'callingcode' => '962', + 'continents' => ['AS'], + 'capital' => 'Amman', + 'flag' => '๐Ÿ‡ฏ๐Ÿ‡ด', + 'phone_code' => '962', ], 'KZ' => [ 'alpha2' => 'KZ', @@ -1390,10 +1392,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kz', 'currencies' => ['KZT',], 'languages' => ['KK', 'RU'], - 'continents' => ['AS'], - 'capital' => 'Astana', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ฟ', - 'callingcode' => '76', + 'continents' => ['AS'], + 'capital' => 'Astana', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ฟ', + 'phone_code' => '76', ], 'KE' => [ 'alpha2' => 'KE', @@ -1402,10 +1404,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ke', 'currencies' => ['KES',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Nairobi', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ช', - 'callingcode' => '254', + 'continents' => ['AF'], + 'capital' => 'Nairobi', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ช', + 'phone_code' => '254', ], 'KI' => [ 'alpha2' => 'KI', @@ -1414,9 +1416,9 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ki', 'languages' => ['EN'], 'currencies' => ['AUD',], - 'continents' => ['OC'], - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ฎ', - 'callingcode' => '686', + 'continents' => ['OC'], + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ฎ', + 'phone_code' => '686', ], 'KP' => [ 'alpha2' => 'KP', @@ -1425,10 +1427,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kp', 'currencies' => ['KPW',], 'languages' => ['KO'], - 'continents' => ['AS'], - 'capital' => 'Pyongyang', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ต', - 'callingcode' => '850', + 'continents' => ['AS'], + 'capital' => 'Pyongyang', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ต', + 'phone_code' => '850', ], 'KR' => [ 'alpha2' => 'KR', @@ -1437,10 +1439,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kr', 'currencies' => ['KRW',], 'languages' => ['KO'], - 'continents' => ['AS'], - 'capital' => 'Seoul', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ท', - 'callingcode' => '82', + 'continents' => ['AS'], + 'capital' => 'Seoul', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ท', + 'phone_code' => '82', ], 'KW' => [ 'alpha2' => 'KW', @@ -1449,10 +1451,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kw', 'currencies' => ['KWD',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Kuwait City', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ผ', - 'callingcode' => '965', + 'continents' => ['AS'], + 'capital' => 'Kuwait City', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ผ', + 'phone_code' => '965', ], 'KG' => [ 'alpha2' => 'KG', @@ -1461,10 +1463,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kg', 'currencies' => ['KGS',], 'languages' => ['KY', 'RU'], - 'continents' => ['AS'], - 'capital' => 'Bishkek', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ฌ', - 'callingcode' => '996', + 'continents' => ['AS'], + 'capital' => 'Bishkek', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ฌ', + 'phone_code' => '996', ], 'LA' => [ 'alpha2' => 'LA', @@ -1473,10 +1475,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.la', 'currencies' => ['LAK',], 'languages' => ['LO'], - 'continents' => ['AS'], - 'capital' => 'Vientiane', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ฆ', - 'callingcode' => '856', + 'continents' => ['AS'], + 'capital' => 'Vientiane', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ฆ', + 'phone_code' => '856', ], 'LV' => [ 'alpha2' => 'LV', @@ -1485,10 +1487,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lv', 'currencies' => ['EUR',], 'languages' => ['LV'], - 'continents' => ['EU'], - 'capital' => 'Riga', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ป', - 'callingcode' => '371', + 'continents' => ['EU'], + 'capital' => 'Riga', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ป', + 'phone_code' => '371', ], 'LB' => [ 'alpha2' => 'LB', @@ -1497,10 +1499,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lb', 'currencies' => ['LBP',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Beirut', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ง', - 'callingcode' => '961', + 'continents' => ['AS'], + 'capital' => 'Beirut', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ง', + 'phone_code' => '961', ], 'LS' => [ 'alpha2' => 'LS', @@ -1509,10 +1511,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ls', 'currencies' => ['LSL', 'ZAR',], 'languages' => ['ST', 'EN'], - 'continents' => ['AF'], - 'capital' => 'Maseru', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ธ', - 'callingcode' => '266', + 'continents' => ['AF'], + 'capital' => 'Maseru', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ธ', + 'phone_code' => '266', ], 'LR' => [ 'alpha2' => 'LR', @@ -1521,10 +1523,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lr', 'currencies' => ['LRD',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Monrovia', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ท', - 'callingcode' => '231', + 'continents' => ['AF'], + 'capital' => 'Monrovia', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ท', + 'phone_code' => '231', ], 'LY' => [ 'alpha2' => 'LY', @@ -1533,10 +1535,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ly', 'currencies' => ['LYD',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Tripoli', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡พ', - 'callingcode' => '218', + 'continents' => ['AS'], + 'capital' => 'Tripoli', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡พ', + 'phone_code' => '218', ], 'LI' => [ 'alpha2' => 'LI', @@ -1545,10 +1547,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.li', 'currencies' => ['CHF',], 'languages' => ['DE'], - 'continents' => ['EU'], - 'capital' => 'Vaduz', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ฎ', - 'callingcode' => '423', + 'continents' => ['EU'], + 'capital' => 'Vaduz', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ฎ', + 'phone_code' => '423', ], 'LT' => [ 'alpha2' => 'LT', @@ -1557,10 +1559,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lt', 'currencies' => ['EUR',], 'languages' => ['LT'], - 'continents' => ['EU'], - 'capital' => 'Vilnius', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡น', - 'callingcode' => '370', + 'continents' => ['EU'], + 'capital' => 'Vilnius', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡น', + 'phone_code' => '370', ], 'LU' => [ 'alpha2' => 'LU', @@ -1569,10 +1571,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lu', 'currencies' => ['EUR',], 'languages' => ['FR', 'DE', 'LB'], - 'continents' => ['EU'], - 'capital' => 'Luxembourg', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡บ', - 'callingcode' => '352', + 'continents' => ['EU'], + 'capital' => 'Luxembourg', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡บ', + 'phone_code' => '352', ], 'MO' => [ 'alpha2' => 'MO', @@ -1581,10 +1583,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mo', 'currencies' => ['MOP',], 'languages' => ['PT', 'ZH'], - 'continents' => ['AS'], - 'capital' => null, - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ด', - 'callingcode' => '853', + 'continents' => ['AS'], + 'capital' => null, + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ด', + 'phone_code' => '853', ], 'MK' => [ 'alpha2' => 'MK', @@ -1593,10 +1595,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mk', 'currencies' => ['MKD',], 'languages' => ['MK', 'SQ'], - 'continents' => ['EU'], - 'capital' => 'Skopje', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฐ', - 'callingcode' => '389', + 'continents' => ['EU'], + 'capital' => 'Skopje', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฐ', + 'phone_code' => '389', ], 'MG' => [ 'alpha2' => 'MG', @@ -1605,10 +1607,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mg', 'currencies' => ['MGA',], 'languages' => ['FR', 'MG'], - 'continents' => ['AF'], - 'capital' => 'Antananarivo', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฌ', - 'callingcode' => '261', + 'continents' => ['AF'], + 'capital' => 'Antananarivo', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฌ', + 'phone_code' => '261', ], 'MW' => [ 'alpha2' => 'MW', @@ -1617,10 +1619,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mw', 'currencies' => ['MWK',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Lilongwe', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ผ', - 'callingcode' => '265', + 'continents' => ['AF'], + 'capital' => 'Lilongwe', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ผ', + 'phone_code' => '265', ], 'MY' => [ 'alpha2' => 'MY', @@ -1629,10 +1631,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.my', 'currencies' => ['MYR',], 'languages' => ['MS', 'EN'], - 'continents' => ['AS'], - 'capital' => 'Kuala Lumpur', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡พ', - 'callingcode' => '60', + 'continents' => ['AS'], + 'capital' => 'Kuala Lumpur', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡พ', + 'phone_code' => '60', ], 'MV' => [ 'alpha2' => 'MV', @@ -1641,10 +1643,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mv', 'currencies' => ['MVR',], 'languages' => ['DV', 'EN'], - 'continents' => ['AS'], - 'capital' => 'Malรฉ', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ป', - 'callingcode' => '960', + 'continents' => ['AS'], + 'capital' => 'Malรฉ', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ป', + 'phone_code' => '960', ], 'ML' => [ 'alpha2' => 'ML', @@ -1653,10 +1655,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ml', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Bamako', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฑ', - 'callingcode' => '223', + 'continents' => ['AF'], + 'capital' => 'Bamako', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฑ', + 'phone_code' => '223', ], 'MT' => [ 'alpha2' => 'MT', @@ -1665,10 +1667,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mt', 'currencies' => ['EUR',], 'languages' => ['MT', 'EN'], - 'continents' => ['EU'], - 'capital' => 'Valletta', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡น', - 'callingcode' => '356', + 'continents' => ['EU'], + 'capital' => 'Valletta', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡น', + 'phone_code' => '356', ], 'MH' => [ 'alpha2' => 'MH', @@ -1677,10 +1679,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mh', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Majuro', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ญ', - 'callingcode' => '692', + 'continents' => ['OC'], + 'capital' => 'Majuro', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ญ', + 'phone_code' => '692', ], 'MQ' => [ 'alpha2' => 'MQ', @@ -1689,10 +1691,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mq', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['NA'], - 'capital' => 'Fort-de-France', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ถ', - 'callingcode' => '596', + 'continents' => ['NA'], + 'capital' => 'Fort-de-France', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ถ', + 'phone_code' => '596', ], 'MR' => [ 'alpha2' => 'MR', @@ -1701,10 +1703,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mr', 'currencies' => ['MRU',], 'languages' => ['AR'], - 'continents' => ['AF'], - 'capital' => 'Nouakchott', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ท', - 'callingcode' => '222', + 'continents' => ['AF'], + 'capital' => 'Nouakchott', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ท', + 'phone_code' => '222', ], 'MU' => [ 'alpha2' => 'MU', @@ -1713,10 +1715,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mu', 'currencies' => ['MUR',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Port Louis', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡บ', - 'callingcode' => '230', + 'continents' => ['AF'], + 'capital' => 'Port Louis', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡บ', + 'phone_code' => '230', ], 'YT' => [ 'alpha2' => 'YT', @@ -1725,10 +1727,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.yt', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Mamoudzou', - 'emoji' => '๐Ÿ‡พ๐Ÿ‡น', - 'callingcode' => '262', + 'continents' => ['AF'], + 'capital' => 'Mamoudzou', + 'flag' => '๐Ÿ‡พ๐Ÿ‡น', + 'phone_code' => '262', ], 'MX' => [ 'alpha2' => 'MX', @@ -1737,10 +1739,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mx', 'currencies' => ['MXN',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Mexico City', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฝ', - 'callingcode' => '52', + 'continents' => ['NA'], + 'capital' => 'Mexico City', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฝ', + 'phone_code' => '52', ], 'FM' => [ 'alpha2' => 'FM', @@ -1749,10 +1751,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.fm', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Palikir', - 'emoji' => '๐Ÿ‡ซ๐Ÿ‡ฒ', - 'callingcode' => '691', + 'continents' => ['OC'], + 'capital' => 'Palikir', + 'flag' => '๐Ÿ‡ซ๐Ÿ‡ฒ', + 'phone_code' => '691', ], 'MD' => [ 'alpha2' => 'MD', @@ -1761,10 +1763,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.md', 'currencies' => ['MDL',], 'languages' => ['RO', 'RU', 'UK'], - 'continents' => ['EU'], - 'capital' => 'Chiศ™inฤƒu', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฉ', - 'callingcode' => '373', + 'continents' => ['EU'], + 'capital' => 'Chiศ™inฤƒu', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฉ', + 'phone_code' => '373', ], 'MC' => [ 'alpha2' => 'MC', @@ -1773,10 +1775,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mc', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['EU'], - 'capital' => 'Monaco', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡จ', - 'callingcode' => '377', + 'continents' => ['EU'], + 'capital' => 'Monaco', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡จ', + 'phone_code' => '377', ], 'MN' => [ 'alpha2' => 'MN', @@ -1785,10 +1787,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mn', 'currencies' => ['MNT',], 'languages' => ['MN'], - 'continents' => ['AS'], - 'capital' => 'Ulan Bator', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ณ', - 'callingcode' => '976', + 'continents' => ['AS'], + 'capital' => 'Ulan Bator', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ณ', + 'phone_code' => '976', ], 'ME' => [ 'alpha2' => 'ME', @@ -1797,10 +1799,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.me', 'currencies' => ['EUR',], 'languages' => ['SQ', 'BS', 'HR', 'SR'], - 'continents' => ['EU'], - 'capital' => 'Podgorica', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ช', - 'callingcode' => '382', + 'continents' => ['EU'], + 'capital' => 'Podgorica', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ช', + 'phone_code' => '382', ], 'MS' => [ 'alpha2' => 'MS', @@ -1809,10 +1811,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ms', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Plymouth', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ธ', - 'callingcode' => '1664', + 'continents' => ['NA'], + 'capital' => 'Plymouth', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ธ', + 'phone_code' => '1664', ], 'MA' => [ 'alpha2' => 'MA', @@ -1821,10 +1823,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ma', 'currencies' => ['MAD',], 'languages' => ['AR'], - 'continents' => ['AF'], - 'capital' => 'Rabat', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฆ', - 'callingcode' => '212', + 'continents' => ['AF'], + 'capital' => 'Rabat', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฆ', + 'phone_code' => '212', ], 'MZ' => [ 'alpha2' => 'MZ', @@ -1833,10 +1835,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mz', 'currencies' => ['MZN',], 'languages' => ['PT'], - 'continents' => ['AF'], - 'capital' => 'Maputo', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฟ', - 'callingcode' => '258', + 'continents' => ['AF'], + 'capital' => 'Maputo', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฟ', + 'phone_code' => '258', ], 'MM' => [ 'alpha2' => 'MM', @@ -1845,10 +1847,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mm', 'currencies' => ['MMK',], 'languages' => ['MY'], - 'continents' => ['AS'], - 'capital' => 'Naypyidaw', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ฒ', - 'callingcode' => '95', + 'continents' => ['AS'], + 'capital' => 'Naypyidaw', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ฒ', + 'phone_code' => '95', ], 'NA' => [ 'alpha2' => 'NA', @@ -1857,10 +1859,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.na', 'currencies' => ['NAD', 'ZAR',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Windhoek', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ฆ', - 'callingcode' => '264', + 'continents' => ['AF'], + 'capital' => 'Windhoek', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ฆ', + 'phone_code' => '264', ], 'NR' => [ 'alpha2' => 'NR', @@ -1869,10 +1871,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nr', 'currencies' => ['AUD',], 'languages' => ['EN', 'NA'], - 'continents' => ['OC'], - 'capital' => 'Yaren', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ท', - 'callingcode' => '674', + 'continents' => ['OC'], + 'capital' => 'Yaren', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ท', + 'phone_code' => '674', ], 'NP' => [ 'alpha2' => 'NP', @@ -1881,9 +1883,9 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.np', 'currencies' => ['NPR',], 'languages' => ['NE'], - 'continents' => ['AS'], - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ต', - 'callingcode' => '977', + 'continents' => ['AS'], + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ต', + 'phone_code' => '977', ], 'NL' => [ 'alpha2' => 'NL', @@ -1892,10 +1894,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nl', 'currencies' => ['EUR',], 'languages' => ['NL'], - 'continents' => ['EU'], - 'capital' => 'Amsterdam', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ฑ', - 'callingcode' => '31', + 'continents' => ['EU'], + 'capital' => 'Amsterdam', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ฑ', + 'phone_code' => '31', ], 'NC' => [ 'alpha2' => 'NC', @@ -1904,10 +1906,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nc', 'currencies' => ['XPF',], 'languages' => ['FR'], - 'continents' => ['OC'], - 'capital' => 'Noumรฉa', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡จ', - 'callingcode' => '687', + 'continents' => ['OC'], + 'capital' => 'Noumรฉa', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡จ', + 'phone_code' => '687', ], 'NZ' => [ 'alpha2' => 'NZ', @@ -1916,10 +1918,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nz', 'currencies' => ['NZD',], 'languages' => ['EN', 'MI'], - 'continents' => ['OC'], - 'capital' => 'Wellington', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ฟ', - 'callingcode' => '64', + 'continents' => ['OC'], + 'capital' => 'Wellington', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ฟ', + 'phone_code' => '64', ], 'NI' => [ 'alpha2' => 'NI', @@ -1928,10 +1930,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ni', 'currencies' => ['NIO',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Managua', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ฎ', - 'callingcode' => '505', + 'continents' => ['NA'], + 'capital' => 'Managua', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ฎ', + 'phone_code' => '505', ], 'NE' => [ 'alpha2' => 'NE', @@ -1940,10 +1942,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ne', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Niamey', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ช', - 'callingcode' => '227', + 'continents' => ['AF'], + 'capital' => 'Niamey', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ช', + 'phone_code' => '227', ], 'NG' => [ 'alpha2' => 'NG', @@ -1952,10 +1954,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ng', 'currencies' => ['NGN',], 'languages' => ['FR', 'MG'], - 'continents' => ['AF'], - 'capital' => 'Abuja', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ฌ', - 'callingcode' => '234', + 'continents' => ['AF'], + 'capital' => 'Abuja', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ฌ', + 'phone_code' => '234', ], 'NU' => [ 'alpha2' => 'NU', @@ -1964,10 +1966,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nu', 'currencies' => ['NZD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Alofi', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡บ', - 'callingcode' => '683', + 'continents' => ['OC'], + 'capital' => 'Alofi', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡บ', + 'phone_code' => '683', ], 'NF' => [ 'alpha2' => 'NF', @@ -1976,10 +1978,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.nf', 'currencies' => ['AUD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Kingston', - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ซ', - 'callingcode' => '672', + 'continents' => ['OC'], + 'capital' => 'Kingston', + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ซ', + 'phone_code' => '672', ], 'MP' => [ 'alpha2' => 'MP', @@ -1988,10 +1990,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mp', 'currencies' => ['USD',], 'languages' => ['EN', 'CH'], - 'continents' => ['OC'], - 'capital' => 'Saipan', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ต', - 'callingcode' => '1670', + 'continents' => ['OC'], + 'capital' => 'Saipan', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ต', + 'phone_code' => '1670', ], 'NO' => [ 'alpha2' => 'NO', @@ -2000,9 +2002,9 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.no', 'currencies' => ['NOK',], 'languages' => ['NO', 'SE'], - 'continents' => ['EU'], - 'emoji' => '๐Ÿ‡ณ๐Ÿ‡ด', - 'callingcode' => '47', + 'continents' => ['EU'], + 'flag' => '๐Ÿ‡ณ๐Ÿ‡ด', + 'phone_code' => '47', ], 'OM' => [ 'alpha2' => 'OM', @@ -2011,10 +2013,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.om', 'currencies' => ['OMR',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Muscat', - 'emoji' => '๐Ÿ‡ด๐Ÿ‡ฒ', - 'callingcode' => '968', + 'continents' => ['AS'], + 'capital' => 'Muscat', + 'flag' => '๐Ÿ‡ด๐Ÿ‡ฒ', + 'phone_code' => '968', ], 'PK' => [ 'alpha2' => 'PK', @@ -2023,10 +2025,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pk', 'currencies' => ['PKR',], 'languages' => ['UR', 'EN'], - 'continents' => ['AS'], - 'capital' => 'Islamabad', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ฐ', - 'callingcode' => '92', + 'continents' => ['AS'], + 'capital' => 'Islamabad', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ฐ', + 'phone_code' => '92', ], 'PW' => [ 'alpha2' => 'PW', @@ -2035,10 +2037,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pw', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Ngerulmud', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ผ', - 'callingcode' => '680', + 'continents' => ['OC'], + 'capital' => 'Ngerulmud', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ผ', + 'phone_code' => '680', ], 'PS' => [ 'alpha2' => 'PS', @@ -2047,10 +2049,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ps', 'currencies' => ['ILS',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Ramallah', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ธ', - 'callingcode' => '970', + 'continents' => ['AS'], + 'capital' => 'Ramallah', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ธ', + 'phone_code' => '970', ], 'PA' => [ 'alpha2' => 'PA', @@ -2059,10 +2061,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pa', 'currencies' => ['PAB',], 'languages' => ['ES'], - 'continents' => ['NA'], - 'capital' => 'Panama City', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ฆ', - 'callingcode' => '507', + 'continents' => ['NA'], + 'capital' => 'Panama City', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ฆ', + 'phone_code' => '507', ], 'PG' => [ 'alpha2' => 'PG', @@ -2071,10 +2073,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pg', 'currencies' => ['PGK',], 'languages' => ['EN', 'HO'], - 'continents' => ['OC'], - 'capital' => 'Port Moresby', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ฌ', - 'callingcode' => '675', + 'continents' => ['OC'], + 'capital' => 'Port Moresby', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ฌ', + 'phone_code' => '675', ], 'PY' => [ 'alpha2' => 'PY', @@ -2083,10 +2085,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.py', 'currencies' => ['PYG',], 'languages' => ['ES', 'GN'], - 'continents' => ['SA'], - 'capital' => 'Asunciรณn', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡พ', - 'callingcode' => '595', + 'continents' => ['SA'], + 'capital' => 'Asunciรณn', + 'flag' => '๐Ÿ‡ต๐Ÿ‡พ', + 'phone_code' => '595', ], 'PE' => [ 'alpha2' => 'PE', @@ -2095,10 +2097,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pe', 'currencies' => ['PEN',], 'languages' => ['ES', 'AY', 'QU'], - 'continents' => ['SA'], - 'capital' => 'Lima', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ช', - 'callingcode' => '51', + 'continents' => ['SA'], + 'capital' => 'Lima', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ช', + 'phone_code' => '51', ], 'PH' => [ 'alpha2' => 'PH', @@ -2107,10 +2109,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ph', 'currencies' => ['PHP',], 'languages' => ['EN', 'FIL'], - 'continents' => ['AS'], - 'capital' => 'Manila', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ญ', - 'callingcode' => '63', + 'continents' => ['AS'], + 'capital' => 'Manila', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ญ', + 'phone_code' => '63', ], 'PN' => [ 'alpha2' => 'PN', @@ -2119,9 +2121,9 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pn', 'currencies' => ['NZD',], 'languages' => ['EN', 'PIH'], - 'continents' => ['OC'], - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ณ', - 'callingcode' => '64', + 'continents' => ['OC'], + 'flag' => '๐Ÿ‡ต๐Ÿ‡ณ', + 'phone_code' => '64', ], 'PL' => [ 'alpha2' => 'PL', @@ -2130,10 +2132,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pl', 'currencies' => ['PLN',], 'languages' => ['PL'], - 'continents' => ['EU'], - 'capital' => 'Warsaw', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ฑ', - 'callingcode' => '48', + 'continents' => ['EU'], + 'capital' => 'Warsaw', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ฑ', + 'phone_code' => '48', ], 'PT' => [ 'alpha2' => 'PT', @@ -2142,9 +2144,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pt', 'currencies' => ['EUR',], 'languages' => ['PT'], - 'continents' => ['EU'], - 'emoji' => '๐Ÿ‡ต๐Ÿ‡น', - 'callingcode' => '351', + 'continents' => ['EU'], + 'capital' => 'Lisboa', + 'flag' => '๐Ÿ‡ต๐Ÿ‡น', + 'phone_code' => '351', ], 'PR' => [ 'alpha2' => 'PR', @@ -2153,10 +2156,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pr', 'currencies' => ['USD',], 'languages' => ['ES', 'EN'], - 'continents' => ['NA'], - 'capital' => 'San Juan', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ท', - 'callingcode' => '1787', + 'continents' => ['NA'], + 'capital' => 'San Juan', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ท', + 'phone_code' => '1787', ], 'QA' => [ 'alpha2' => 'QA', @@ -2165,10 +2168,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.qa', 'currencies' => ['QAR',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Doha', - 'emoji' => '๐Ÿ‡ถ๐Ÿ‡ฆ', - 'callingcode' => '974', + 'continents' => ['AS'], + 'capital' => 'Doha', + 'flag' => '๐Ÿ‡ถ๐Ÿ‡ฆ', + 'phone_code' => '974', ], 'RE' => [ 'alpha2' => 'RE', @@ -2177,10 +2180,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.re', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Saint-Denis', - 'emoji' => '๐Ÿ‡ท๐Ÿ‡ช', - 'callingcode' => '262', + 'continents' => ['AF'], + 'capital' => 'Saint-Denis', + 'flag' => '๐Ÿ‡ท๐Ÿ‡ช', + 'phone_code' => '262', ], 'RO' => [ 'alpha2' => 'RO', @@ -2189,10 +2192,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ro', 'currencies' => ['RON',], 'languages' => ['RO'], - 'continents' => ['EU'], - 'capital' => 'Bucharest', - 'emoji' => '๐Ÿ‡ท๐Ÿ‡ด', - 'callingcode' => '40', + 'continents' => ['EU'], + 'capital' => 'Bucharest', + 'flag' => '๐Ÿ‡ท๐Ÿ‡ด', + 'phone_code' => '40', ], 'RU' => [ 'alpha2' => 'RU', @@ -2201,10 +2204,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ru', 'currencies' => ['RUB',], 'languages' => ['RU'], - 'continents' => ['EU', 'AS'], - 'capital' => 'Moscow', - 'emoji' => '๐Ÿ‡ท๐Ÿ‡บ', - 'callingcode' => '7', + 'continents' => ['EU', 'AS'], + 'capital' => 'Moscow', + 'flag' => '๐Ÿ‡ท๐Ÿ‡บ', + 'phone_code' => '7', ], 'RW' => [ 'alpha2' => 'RW', @@ -2213,10 +2216,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.rw', 'currencies' => ['RWF',], 'languages' => ['EN', 'FR', 'RW', 'SW'], - 'continents' => ['AF'], - 'capital' => 'Kigali', - 'emoji' => '๐Ÿ‡ท๐Ÿ‡ผ', - 'callingcode' => '250', + 'continents' => ['AF'], + 'capital' => 'Kigali', + 'flag' => '๐Ÿ‡ท๐Ÿ‡ผ', + 'phone_code' => '250', ], 'BL' => [ 'alpha2' => 'BL', @@ -2225,10 +2228,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.bl', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['NA'], - 'capital' => 'Gustavia', - 'emoji' => '๐Ÿ‡ง๐Ÿ‡ฑ', - 'callingcode' => '590', + 'continents' => ['NA'], + 'capital' => 'Gustavia', + 'flag' => '๐Ÿ‡ง๐Ÿ‡ฑ', + 'phone_code' => '590', ], 'SH' => [ 'alpha2' => 'SH', @@ -2237,10 +2240,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sh', 'currencies' => ['SHP',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => NULL, - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ญ', - 'callingcode' => NULL, + 'continents' => ['AF'], + 'capital' => NULL, + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ญ', + 'phone_code' => NULL, ], 'KN' => [ 'alpha2' => 'KN', @@ -2249,10 +2252,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.kn', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Basseterre', - 'emoji' => '๐Ÿ‡ฐ๐Ÿ‡ณ', - 'callingcode' => '1869', + 'continents' => ['NA'], + 'capital' => 'Basseterre', + 'flag' => '๐Ÿ‡ฐ๐Ÿ‡ณ', + 'phone_code' => '1869', ], 'LC' => [ 'alpha2' => 'LC', @@ -2261,10 +2264,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lc', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Castries', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡จ', - 'callingcode' => '1758', + 'continents' => ['NA'], + 'capital' => 'Castries', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡จ', + 'phone_code' => '1758', ], 'MF' => [ 'alpha2' => 'MF', @@ -2273,10 +2276,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.mf', 'currencies' => ['EUR', 'USD',], 'languages' => ['FR'], - 'continents' => ['NA'], - 'capital' => 'Marigot', - 'emoji' => '๐Ÿ‡ฒ๐Ÿ‡ซ', - 'callingcode' => '590', + 'continents' => ['NA'], + 'capital' => 'Marigot', + 'flag' => '๐Ÿ‡ฒ๐Ÿ‡ซ', + 'phone_code' => '590', ], 'PM' => [ 'alpha2' => 'PM', @@ -2285,10 +2288,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.pm', 'currencies' => ['EUR',], 'languages' => ['FR'], - 'continents' => ['NA'], - 'capital' => 'Saint-Pierre', - 'emoji' => '๐Ÿ‡ต๐Ÿ‡ฒ', - 'callingcode' => '508', + 'continents' => ['NA'], + 'capital' => 'Saint-Pierre', + 'flag' => '๐Ÿ‡ต๐Ÿ‡ฒ', + 'phone_code' => '508', ], 'VC' => [ 'alpha2' => 'VC', @@ -2297,10 +2300,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.vc', 'currencies' => ['XCD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Kingstown', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡จ', - 'callingcode' => '1784', + 'continents' => ['NA'], + 'capital' => 'Kingstown', + 'flag' => '๐Ÿ‡ป๐Ÿ‡จ', + 'phone_code' => '1784', ], 'WS' => [ 'alpha2' => 'WS', @@ -2309,10 +2312,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ws', 'currencies' => ['WST',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Apia', - 'emoji' => '๐Ÿ‡ผ๐Ÿ‡ธ', - 'callingcode' => '685', + 'continents' => ['OC'], + 'capital' => 'Apia', + 'flag' => '๐Ÿ‡ผ๐Ÿ‡ธ', + 'phone_code' => '685', ], 'SM' => [ 'alpha2' => 'SM', @@ -2321,10 +2324,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sm', 'currencies' => ['EUR',], 'languages' => ['IT'], - 'continents' => ['EU'], - 'capital' => 'City of San Marino', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฒ', - 'callingcode' => '378', + 'continents' => ['EU'], + 'capital' => 'City of San Marino', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฒ', + 'phone_code' => '378', ], 'ST' => [ 'alpha2' => 'ST', @@ -2333,10 +2336,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.st', 'currencies' => ['STN',], 'languages' => ['PT'], - 'continents' => ['AF'], - 'capital' => 'Sรฃo Tomรฉ', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡น', - 'callingcode' => '239', + 'continents' => ['AF'], + 'capital' => 'Sรฃo Tomรฉ', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡น', + 'phone_code' => '239', ], 'SA' => [ 'alpha2' => 'SA', @@ -2345,10 +2348,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sa', 'currencies' => ['SAR',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Riyadh', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฆ', - 'callingcode' => '966', + 'continents' => ['AS'], + 'capital' => 'Riyadh', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฆ', + 'phone_code' => '966', ], 'SN' => [ 'alpha2' => 'SN', @@ -2357,10 +2360,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sn', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Dakar', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ณ', - 'callingcode' => '221', + 'continents' => ['AF'], + 'capital' => 'Dakar', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ณ', + 'phone_code' => '221', ], 'RS' => [ 'alpha2' => 'RS', @@ -2369,10 +2372,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.rs', 'currencies' => ['RSD',], 'languages' => ['SR'], - 'continents' => ['EU'], - 'capital' => 'Belgrade', - 'emoji' => '๐Ÿ‡ท๐Ÿ‡ธ', - 'callingcode' => '381', + 'continents' => ['EU'], + 'capital' => 'Belgrade', + 'flag' => '๐Ÿ‡ท๐Ÿ‡ธ', + 'phone_code' => '381', ], 'SC' => [ 'alpha2' => 'SC', @@ -2381,10 +2384,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sc', 'currencies' => ['SCR',], 'languages' => ['EN', 'FR', 'CRS'], - 'continents' => ['AF'], - 'capital' => 'Victoria', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡จ', - 'callingcode' => '248', + 'continents' => ['AF'], + 'capital' => 'Victoria', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡จ', + 'phone_code' => '248', ], 'SL' => [ 'alpha2' => 'SL', @@ -2393,10 +2396,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sl', 'currencies' => ['SLL',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Freetown', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฑ', - 'callingcode' => '232', + 'continents' => ['AF'], + 'capital' => 'Freetown', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฑ', + 'phone_code' => '232', ], 'SG' => [ 'alpha2' => 'SG', @@ -2405,10 +2408,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sg', 'currencies' => ['SGD',], 'languages' => ['EN', 'MS', 'ZH', 'TA'], - 'continents' => ['AS'], - 'capital' => 'Singapore', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฌ', - 'callingcode' => '65', + 'continents' => ['AS'], + 'capital' => 'Singapore', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฌ', + 'phone_code' => '65', ], 'SX' => [ 'alpha2' => 'SX', @@ -2417,10 +2420,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sx', 'currencies' => ['ANG',], 'languages' => ['NL', 'EN'], - 'continents' => ['NA'], - 'capital' => 'Philipsburg', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฝ', - 'callingcode' => '1721', + 'continents' => ['NA'], + 'capital' => 'Philipsburg', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฝ', + 'phone_code' => '1721', ], 'SK' => [ 'alpha2' => 'SK', @@ -2429,10 +2432,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sk', 'currencies' => ['EUR',], 'languages' => ['SK'], - 'continents' => ['EU'], - 'capital' => 'Bratislava', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฐ', - 'callingcode' => '421', + 'continents' => ['EU'], + 'capital' => 'Bratislava', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฐ', + 'phone_code' => '421', ], 'SI' => [ 'alpha2' => 'SI', @@ -2441,10 +2444,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.si', 'currencies' => ['EUR',], 'languages' => ['SL'], - 'continents' => ['EU'], - 'capital' => 'Ljubljana', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฎ', - 'callingcode' => '386', + 'continents' => ['EU'], + 'capital' => 'Ljubljana', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฎ', + 'phone_code' => '386', ], 'SB' => [ 'alpha2' => 'SB', @@ -2453,10 +2456,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sb', 'currencies' => ['SBD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => 'Honiara', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ง', - 'callingcode' => '677', + 'continents' => ['OC'], + 'capital' => 'Honiara', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ง', + 'phone_code' => '677', ], 'SO' => [ 'alpha2' => 'SO', @@ -2465,10 +2468,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.so', 'currencies' => ['SOS',], 'languages' => ['SO', 'AR'], - 'continents' => ['AF'], - 'capital' => 'Mogadishu', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ด', - 'callingcode' => '252', + 'continents' => ['AF'], + 'capital' => 'Mogadishu', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ด', + 'phone_code' => '252', ], 'ZA' => [ 'alpha2' => 'ZA', @@ -2477,10 +2480,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.za', 'currencies' => ['ZAR',], 'languages' => ['EN', 'ZU', 'XH', 'AF'], - 'continents' => ['AF'], - 'capital' => 'Pretoria', - 'emoji' => '๐Ÿ‡ฟ๐Ÿ‡ฆ', - 'callingcode' => '27', + 'continents' => ['AF'], + 'capital' => 'Pretoria', + 'flag' => '๐Ÿ‡ฟ๐Ÿ‡ฆ', + 'phone_code' => '27', ], 'GS' => [ 'alpha2' => 'GS', @@ -2489,10 +2492,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.gs', 'currencies' => ['GBP',], 'languages' => ['EN'], - 'continents' => ['AN'], - 'capital' => 'King Edward Point', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ธ', - 'callingcode' => '500', + 'continents' => ['AN'], + 'capital' => 'King Edward Point', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ธ', + 'phone_code' => '500', ], 'SS' => [ 'alpha2' => 'SS', @@ -2501,10 +2504,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ss', 'currencies' => ['SSP',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Juba', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ธ', - 'callingcode' => '211', + 'continents' => ['AF'], + 'capital' => 'Juba', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ธ', + 'phone_code' => '211', ], 'ES' => [ 'alpha2' => 'ES', @@ -2513,10 +2516,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.es', 'currencies' => ['EUR',], 'languages' => ['ES', 'CA', 'GL', 'EU'], - 'continents' => ['EU'], - 'capital' => 'Madrid', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡ธ', - 'callingcode' => '34', + 'continents' => ['EU'], + 'capital' => 'Madrid', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ธ', + 'phone_code' => '34', ], 'LK' => [ 'alpha2' => 'LK', @@ -2525,10 +2528,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.lk', 'currencies' => ['LKR',], 'languages' => ['SI', 'TA'], - 'continents' => ['AS'], - 'capital' => 'Colombo', - 'emoji' => '๐Ÿ‡ฑ๐Ÿ‡ฐ', - 'callingcode' => '94', + 'continents' => ['AS'], + 'capital' => 'Colombo', + 'flag' => '๐Ÿ‡ฑ๐Ÿ‡ฐ', + 'phone_code' => '94', ], 'SD' => [ 'alpha2' => 'SD', @@ -2537,10 +2540,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sd', 'currencies' => ['SDG',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Khartoum', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฉ', - 'callingcode' => '249', + 'continents' => ['AF'], + 'capital' => 'Khartoum', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฉ', + 'phone_code' => '249', ], 'SR' => [ 'alpha2' => 'SR', @@ -2549,10 +2552,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sr', 'currencies' => ['SRD',], 'languages' => ['NL'], - 'continents' => ['SA'], - 'capital' => 'Paramaribo', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ท', - 'callingcode' => '597', + 'continents' => ['SA'], + 'capital' => 'Paramaribo', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ท', + 'phone_code' => '597', ], 'SJ' => [ 'alpha2' => 'SJ', @@ -2561,10 +2564,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sj', 'currencies' => ['NOK',], 'languages' => ['NO'], - 'continents' => ['EU'], - 'capital' => 'Longyearbyen', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ฏ', - 'callingcode' => '4779', + 'continents' => ['EU'], + 'capital' => 'Longyearbyen', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ฏ', + 'phone_code' => '4779', ], 'SE' => [ 'alpha2' => 'SE', @@ -2573,10 +2576,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.se', 'currencies' => ['SEK',], 'languages' => ['SV'], - 'continents' => ['EU'], - 'capital' => 'Stockholm', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡ช', - 'callingcode' => '46', + 'continents' => ['EU'], + 'capital' => 'Stockholm', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡ช', + 'phone_code' => '46', ], 'CH' => [ 'alpha2' => 'CH', @@ -2585,10 +2588,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ch', 'currencies' => ['CHF',], 'languages' => ['FR', 'DE', 'IT', 'RM'], - 'continents' => ['EU'], - 'capital' => 'Bern', - 'emoji' => '๐Ÿ‡จ๐Ÿ‡ญ', - 'callingcode' => '41', + 'continents' => ['EU'], + 'capital' => 'Bern', + 'flag' => '๐Ÿ‡จ๐Ÿ‡ญ', + 'phone_code' => '41', ], 'SY' => [ 'alpha2' => 'SY', @@ -2597,10 +2600,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.sy', 'currencies' => ['SYP',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Damascus', - 'emoji' => '๐Ÿ‡ธ๐Ÿ‡พ', - 'callingcode' => '963', + 'continents' => ['AS'], + 'capital' => 'Damascus', + 'flag' => '๐Ÿ‡ธ๐Ÿ‡พ', + 'phone_code' => '963', ], 'TW' => [ 'alpha2' => 'TW', @@ -2609,10 +2612,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tw', 'currencies' => ['TWD',], 'languages' => ['ZH'], - 'continents' => ['AS'], - 'capital' => 'Taipei', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ผ', - 'callingcode' => '886', + 'continents' => ['AS'], + 'capital' => 'Taipei', + 'flag' => '๐Ÿ‡น๐Ÿ‡ผ', + 'phone_code' => '886', ], 'TJ' => [ 'alpha2' => 'TJ', @@ -2621,10 +2624,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tj', 'currencies' => ['TJS',], 'languages' => ['TG'], - 'continents' => ['AS'], - 'capital' => 'Dushanbe', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฏ', - 'callingcode' => '992', + 'continents' => ['AS'], + 'capital' => 'Dushanbe', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฏ', + 'phone_code' => '992', ], 'TZ' => [ 'alpha2' => 'TZ', @@ -2633,10 +2636,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tz', 'currencies' => ['TZS',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Dodoma', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฟ', - 'callingcode' => '255', + 'continents' => ['AF'], + 'capital' => 'Dodoma', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฟ', + 'phone_code' => '255', ], 'TH' => [ 'alpha2' => 'TH', @@ -2645,10 +2648,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.th', 'currencies' => ['THB',], 'languages' => ['TH'], - 'continents' => ['AS'], - 'capital' => 'Bangkok', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ญ', - 'callingcode' => '66', + 'continents' => ['AS'], + 'capital' => 'Bangkok', + 'flag' => '๐Ÿ‡น๐Ÿ‡ญ', + 'phone_code' => '66', ], 'TL' => [ 'alpha2' => 'TL', @@ -2657,10 +2660,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tl', 'currencies' => ['USD',], 'languages' => ['PT', 'TDT'], - 'continents' => ['AS'], - 'capital' => 'Dili', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฑ', - 'callingcode' => '670', + 'continents' => ['AS'], + 'capital' => 'Dili', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฑ', + 'phone_code' => '670', ], 'TG' => [ 'alpha2' => 'TG', @@ -2669,10 +2672,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tg', 'currencies' => ['XOF',], 'languages' => ['FR'], - 'continents' => ['AF'], - 'capital' => 'Lomรฉ', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฌ', - 'callingcode' => '228', + 'continents' => ['AF'], + 'capital' => 'Lomรฉ', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฌ', + 'phone_code' => '228', ], 'TK' => [ 'alpha2' => 'TK', @@ -2681,10 +2684,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tk', 'currencies' => ['NZD',], 'languages' => ['EN', 'TKL'], - 'continents' => ['OC'], - 'capital' => 'Fakaofo', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฐ', - 'callingcode' => '690', + 'continents' => ['OC'], + 'capital' => 'Fakaofo', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฐ', + 'phone_code' => '690', ], 'TO' => [ 'alpha2' => 'TO', @@ -2693,10 +2696,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.to', 'currencies' => ['TOP',], 'languages' => ['EN', 'TO'], - 'continents' => ['OC'], - 'capital' => 'Nuku\'alofa', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ด', - 'callingcode' => '676', + 'continents' => ['OC'], + 'capital' => 'Nuku\'alofa', + 'flag' => '๐Ÿ‡น๐Ÿ‡ด', + 'phone_code' => '676', ], 'TT' => [ 'alpha2' => 'TT', @@ -2705,10 +2708,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tt', 'currencies' => ['TTD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Port of Spain', - 'emoji' => '๐Ÿ‡น๐Ÿ‡น', - 'callingcode' => '1868', + 'continents' => ['NA'], + 'capital' => 'Port of Spain', + 'flag' => '๐Ÿ‡น๐Ÿ‡น', + 'phone_code' => '1868', ], 'TN' => [ 'alpha2' => 'TN', @@ -2717,10 +2720,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tn', 'currencies' => ['TND',], 'languages' => ['AR', 'FR'], - 'continents' => ['AF'], - 'capital' => 'Tunis', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ณ', - 'callingcode' => '216', + 'continents' => ['AF'], + 'capital' => 'Tunis', + 'flag' => '๐Ÿ‡น๐Ÿ‡ณ', + 'phone_code' => '216', ], 'TR' => [ 'alpha2' => 'TR', @@ -2729,10 +2732,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tr', 'currencies' => ['TRY',], 'languages' => ['TR'], - 'continents' => ['AS'], - 'capital' => 'Ankara', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ท', - 'callingcode' => '90', + 'continents' => ['AS'], + 'capital' => 'Ankara', + 'flag' => '๐Ÿ‡น๐Ÿ‡ท', + 'phone_code' => '90', ], 'TM' => [ 'alpha2' => 'TM', @@ -2741,10 +2744,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tm', 'currencies' => ['TMT',], 'languages' => ['TK'], - 'continents' => ['AS'], - 'capital' => 'Ashgabat', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ฒ', - 'callingcode' => '993', + 'continents' => ['AS'], + 'capital' => 'Ashgabat', + 'flag' => '๐Ÿ‡น๐Ÿ‡ฒ', + 'phone_code' => '993', ], 'TC' => [ 'alpha2' => 'TC', @@ -2753,10 +2756,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tc', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Cockburn Town', - 'emoji' => '๐Ÿ‡น๐Ÿ‡จ', - 'callingcode' => '1649', + 'continents' => ['NA'], + 'capital' => 'Cockburn Town', + 'flag' => '๐Ÿ‡น๐Ÿ‡จ', + 'phone_code' => '1649', ], 'TV' => [ 'alpha2' => 'TV', @@ -2765,10 +2768,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.tv', 'currencies' => ['AUD',], 'languages' => ['TVL', 'EN'], - 'continents' => ['OC'], - 'capital' => 'Funafuti', - 'emoji' => '๐Ÿ‡น๐Ÿ‡ป', - 'callingcode' => '688', + 'continents' => ['OC'], + 'capital' => 'Funafuti', + 'flag' => '๐Ÿ‡น๐Ÿ‡ป', + 'phone_code' => '688', ], 'UG' => [ 'alpha2' => 'UG', @@ -2777,10 +2780,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ug', 'currencies' => ['UGX',], 'languages' => ['EN', 'SW'], - 'continents' => ['AF'], - 'capital' => 'Kampala', - 'emoji' => '๐Ÿ‡บ๐Ÿ‡ฌ', - 'callingcode' => '256', + 'continents' => ['AF'], + 'capital' => 'Kampala', + 'flag' => '๐Ÿ‡บ๐Ÿ‡ฌ', + 'phone_code' => '256', ], 'UA' => [ 'alpha2' => 'UA', @@ -2789,10 +2792,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ua', 'currencies' => ['UAH',], 'languages' => ['UK', 'RU'], - 'continents' => ['EU'], - 'capital' => 'Kyiv', - 'emoji' => '๐Ÿ‡บ๐Ÿ‡ฆ', - 'callingcode' => '380', + 'continents' => ['EU'], + 'capital' => 'Kyiv', + 'flag' => '๐Ÿ‡บ๐Ÿ‡ฆ', + 'phone_code' => '380', ], 'AE' => [ 'alpha2' => 'AE', @@ -2801,10 +2804,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ae', 'currencies' => ['AED',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Abu Dhabi', - 'emoji' => '๐Ÿ‡ฆ๐Ÿ‡ช', - 'callingcode' => '971', + 'continents' => ['AS'], + 'capital' => 'Abu Dhabi', + 'flag' => '๐Ÿ‡ฆ๐Ÿ‡ช', + 'phone_code' => '971', ], 'GB' => [ 'alpha2' => 'GB', @@ -2813,10 +2816,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.uk', 'currencies' => ['GBP',], 'languages' => ['EN', 'KW', 'GA', 'GD', 'CY', 'GV'], - 'continents' => ['EU'], - 'capital' => 'London', - 'emoji' => '๐Ÿ‡ฌ๐Ÿ‡ง', - 'callingcode' => '44', + 'continents' => ['EU'], + 'capital' => 'London', + 'flag' => '๐Ÿ‡ฌ๐Ÿ‡ง', + 'phone_code' => '44', ], 'US' => [ 'alpha2' => 'US', @@ -2825,10 +2828,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.us', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Washington D.C.', - 'emoji' => '๐Ÿ‡บ๐Ÿ‡ธ', - 'callingcode' => '1', + 'continents' => ['NA'], + 'capital' => 'Washington D.C.', + 'flag' => '๐Ÿ‡บ๐Ÿ‡ธ', + 'phone_code' => '1', ], 'UM' => [ 'alpha2' => 'UM', @@ -2837,10 +2840,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.um', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['OC'], - 'capital' => null, - 'emoji' => '๐Ÿ‡บ๐Ÿ‡ฒ', - 'callingcode' => '246', + 'continents' => ['OC'], + 'capital' => null, + 'flag' => '๐Ÿ‡บ๐Ÿ‡ฒ', + 'phone_code' => '246', ], 'UY' => [ 'alpha2' => 'UY', @@ -2849,10 +2852,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.uy', 'currencies' => ['UYU',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Montevideo', - 'emoji' => '๐Ÿ‡บ๐Ÿ‡พ', - 'callingcode' => '598', + 'continents' => ['SA'], + 'capital' => 'Montevideo', + 'flag' => '๐Ÿ‡บ๐Ÿ‡พ', + 'phone_code' => '598', ], 'UZ' => [ 'alpha2' => 'UZ', @@ -2861,10 +2864,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.uz', 'currencies' => ['UZS',], 'languages' => ['UZ'], - 'continents' => ['AS'], - 'capital' => 'Tashkent', - 'emoji' => '๐Ÿ‡บ๐Ÿ‡ฟ', - 'callingcode' => '998', + 'continents' => ['AS'], + 'capital' => 'Tashkent', + 'flag' => '๐Ÿ‡บ๐Ÿ‡ฟ', + 'phone_code' => '998', ], 'VU' => [ 'alpha2' => 'VU', @@ -2873,10 +2876,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.vu', 'currencies' => ['VUV',], 'languages' => ['EN', 'FR'], - 'continents' => ['OC'], - 'capital' => 'Port Vila', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡บ', - 'callingcode' => '678', + 'continents' => ['OC'], + 'capital' => 'Port Vila', + 'flag' => '๐Ÿ‡ป๐Ÿ‡บ', + 'phone_code' => '678', ], 'VE' => [ 'alpha2' => 'VE', @@ -2885,10 +2888,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ve', 'currencies' => ['VEF',], 'languages' => ['ES'], - 'continents' => ['SA'], - 'capital' => 'Caracas', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡ช', - 'callingcode' => '58', + 'continents' => ['SA'], + 'capital' => 'Caracas', + 'flag' => '๐Ÿ‡ป๐Ÿ‡ช', + 'phone_code' => '58', ], 'VN' => [ 'alpha2' => 'VN', @@ -2897,10 +2900,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.vn', 'currencies' => ['VND',], 'languages' => ['VI'], - 'continents' => ['AS'], - 'capital' => 'Hanoi', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡ณ', - 'callingcode' => '84', + 'continents' => ['AS'], + 'capital' => 'Hanoi', + 'flag' => '๐Ÿ‡ป๐Ÿ‡ณ', + 'phone_code' => '84', ], 'VG' => [ 'alpha2' => 'VG', @@ -2909,10 +2912,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.vg', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Road Town', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡ฌ', - 'callingcode' => '1284', + 'continents' => ['NA'], + 'capital' => 'Road Town', + 'flag' => '๐Ÿ‡ป๐Ÿ‡ฌ', + 'phone_code' => '1284', ], 'VI' => [ 'alpha2' => 'VI', @@ -2921,10 +2924,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.vi', 'currencies' => ['USD',], 'languages' => ['EN'], - 'continents' => ['NA'], - 'capital' => 'Charlotte Amalie', - 'emoji' => '๐Ÿ‡ป๐Ÿ‡ฎ', - 'callingcode' => '1340', + 'continents' => ['NA'], + 'capital' => 'Charlotte Amalie', + 'flag' => '๐Ÿ‡ป๐Ÿ‡ฎ', + 'phone_code' => '1340', ], 'WF' => [ 'alpha2' => 'WF', @@ -2933,10 +2936,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.wf', 'currencies' => ['XPF',], 'languages' => ['FR'], - 'continents' => ['OC'], - 'capital' => 'Mata-Utu', - 'emoji' => '๐Ÿ‡ผ๐Ÿ‡ซ', - 'callingcode' => '681', + 'continents' => ['OC'], + 'capital' => 'Mata-Utu', + 'flag' => '๐Ÿ‡ผ๐Ÿ‡ซ', + 'phone_code' => '681', ], 'EH' => [ 'alpha2' => 'EH', @@ -2945,10 +2948,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.eh', 'currencies' => ['MAD',], 'languages' => ['AR', 'ES'], - 'continents' => ['AF'], - 'capital' => 'El Aaiรบn', - 'emoji' => '๐Ÿ‡ช๐Ÿ‡ญ', - 'callingcode' => '212', + 'continents' => ['AF'], + 'capital' => 'El Aaiรบn', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ญ', + 'phone_code' => '212', ], 'YE' => [ 'alpha2' => 'YE', @@ -2957,10 +2960,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.ye', 'currencies' => ['YER',], 'languages' => ['AR'], - 'continents' => ['AS'], - 'capital' => 'Sana\'a', - 'emoji' => '๐Ÿ‡พ๐Ÿ‡ช', - 'callingcode' => '967', + 'continents' => ['AS'], + 'capital' => 'Sana\'a', + 'flag' => '๐Ÿ‡พ๐Ÿ‡ช', + 'phone_code' => '967', ], 'ZM' => [ 'alpha2' => 'ZM', @@ -2969,10 +2972,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.zm', 'currencies' => ['ZMW',], 'languages' => ['EN'], - 'continents' => ['AF'], - 'capital' => 'Lusaka', - 'emoji' => '๐Ÿ‡ฟ๐Ÿ‡ฒ', - 'callingcode' => '260', + 'continents' => ['AF'], + 'capital' => 'Lusaka', + 'flag' => '๐Ÿ‡ฟ๐Ÿ‡ฒ', + 'phone_code' => '260', ], 'ZW' => [ 'alpha2' => 'ZW', @@ -2981,10 +2984,10 @@ class CountryCodes extends ISODatabaseBase 'tld' => '.zw', 'currencies' => ['BWP', 'EUR', 'GBP', 'USD', 'ZAR',], 'languages' => ['NY', 'EN', 'KCK'], - 'continents' => ['AF'], - 'capital' => 'Harare', - 'emoji' => '๐Ÿ‡ฟ๐Ÿ‡ผ', - 'callingcode' => '263', + 'continents' => ['AF'], + 'capital' => 'Harare', + 'flag' => '๐Ÿ‡ฟ๐Ÿ‡ผ', + 'phone_code' => '263', ], ]; } diff --git a/src/Models/ByCountryModel.php b/src/Models/ByCountryModel.php index 89bf72a..b8b8ac1 100644 --- a/src/Models/ByCountryModel.php +++ b/src/Models/ByCountryModel.php @@ -2,11 +2,17 @@ namespace Juanparati\ISOCodes\Models; +use Illuminate\Support\Arr; use Illuminate\Support\Collection; use Illuminate\Support\Str; +use Juanparati\ISOCodes\Models\Extensions\NodeSearchable; + class ByCountryModel extends ModelBase { + + use NodeSearchable; + /** * Search by Alpha2. * @@ -16,8 +22,7 @@ class ByCountryModel extends ModelBase public function byAlpha2(string $alpha2): ?array { return $this->all() - ->where('alpha2', strtoupper($alpha2)) - ->first(); + ->firstWhere('alpha2', strtoupper($alpha2)); } @@ -30,8 +35,7 @@ public function byAlpha2(string $alpha2): ?array public function byAlpha3(string $alpha3): ?array { return $this->all() - ->where('alpha3', strtoupper($alpha3)) - ->first(); + ->firstWhere('alpha3', strtoupper($alpha3)); } @@ -41,11 +45,10 @@ public function byAlpha3(string $alpha3): ?array * @param $number * @return array|null */ - public function byNumberic($number): ?array + public function byNumeric($number): ?array { return $this->all() - ->where('numeric', $number) - ->first(); + ->firstWhere('numeric', $number); } @@ -62,8 +65,60 @@ public function byTld(string $tld): ?array ->lower(); return $this->all() - ->where('tld', $tld) - ->first(); + ->firstWhere('tld', $tld); + } + + + /** + * Search by phone code. + * + * @param $code + * @return array|null + */ + public function byPhoneCode($code) : ?array + { + $code = is_string($code) ? ('+' === $code[0] ? substr($code, 1) : $code) : $code; + + return $this->all() + ->firstWhere('phone_code', $code); + } + + /** + * Search by language. + * + * @param string|array $language + * @param bool $exact + * @return Collection|null + */ + public function byLanguage(string|array $language, bool $exact = false) : ?Collection + { + return $this->whereNodeHas('languages', $language, $exact); + } + + + /** + * Search by currency. + * + * @param string|array $currency + * @param bool $exact + * @return Collection|null + */ + public function byCurrency(string|array $currency, bool $exact = false) : ?Collection + { + return $this->whereNodeHas('currencies', $currency, $exact); + } + + + /** + * Search by continent. + * + * @param string|array $continent + * @param bool $exact + * @return Collection|null + */ + public function byContinent(string|array $continent, bool $exact = false) : ?Collection + { + return $this->whereNodeHas('continents', $continent, $exact); } diff --git a/src/Models/Extensions/NodeSearchable.php b/src/Models/Extensions/NodeSearchable.php new file mode 100644 index 0000000..0246421 --- /dev/null +++ b/src/Models/Extensions/NodeSearchable.php @@ -0,0 +1,36 @@ +all(); + + if ($exact) { + return $qry->filter( + fn($iso) => empty(array_diff($search, $iso[$node])) + ); + } + + return $qry->filter( + fn($iso) => !empty(array_intersect($search, $iso[$node])) + ); + } + +} \ No newline at end of file diff --git a/src/Models/ModelBase.php b/src/Models/ModelBase.php index aced26c..f08f0a8 100644 --- a/src/Models/ModelBase.php +++ b/src/Models/ModelBase.php @@ -56,9 +56,7 @@ abstract class ModelBase implements ISOModel * * @param ISOCodes $iso */ - public function __construct(protected ISOCodes $iso) - { - } + public function __construct(protected ISOCodes $iso) {} /** diff --git a/tests/test/CountriesTest.php b/tests/test/CountriesTest.php index 8391576..a2286d6 100644 --- a/tests/test/CountriesTest.php +++ b/tests/test/CountriesTest.php @@ -11,16 +11,19 @@ class CountriesTest extends TestCase { protected array $testCountry = [ - 'name' => 'Spain', - 'alpha2' => 'ES', - 'alpha3' => 'ESP', - 'numeric' => '724', - 'tld' => '.es', + 'name' => 'Spain', + 'alpha2' => 'ES', + 'alpha3' => 'ESP', + 'numeric' => '724', + 'tld' => '.es', + 'capital' => 'Madrid', + 'flag' => '๐Ÿ‡ช๐Ÿ‡ธ', + 'phone_code' => '34', ]; protected array $testNodeCode = [ 'currencies' => ['EUR'], - 'languages' => ['ES'], + 'languages' => ['ES', 'CA', 'GL', 'EU'], 'continents' => ['EU'], ]; @@ -28,8 +31,11 @@ class CountriesTest extends TestCase 'currencies' => [ 'EUR' => 'Euro' ], - 'languages' => [ - 'ES' => 'Spanish' + 'languages' => [ + 'ES' => 'Spanish', + 'CA' => 'Catalan', + 'GL' => 'Galician', + 'EU' => 'Basque' ], 'continents' => [ 'EU' => 'Europe' @@ -40,8 +46,11 @@ class CountriesTest extends TestCase 'currencies' => [ 'Euro' ], - 'languages' => [ - 'Spanish' + 'languages' => [ + 'Spanish', + 'Catalan', + 'Galician', + 'Basque' ], 'continents' => [ 'Europe' @@ -52,7 +61,8 @@ class CountriesTest extends TestCase /** * Test retrieving all countries. */ - public function testAllCountries() { + public function testAllCountries() + { $iso = new ISOCodes(); @@ -68,8 +78,12 @@ public function testAllCountries() { $this->assertArrayHasKey('alpha3', $country); $this->assertArrayHasKey('tld', $country); $this->assertArrayHasKey('currencies', $country); + $this->assertArrayHasKey('languages', $country); $this->assertArrayHasKey('continents', $country); $this->assertArrayHasKey('name', $country); + $this->assertArrayHasKey('flag', $country); + $this->assertArrayHasKey('phone_code', $country); + } } @@ -77,7 +91,8 @@ public function testAllCountries() { /** * Test by Alpha2. */ - public function testByAlpha2() { + public function testByAlpha2() + { $iso = new ISOCodes(); $country = $iso->byCountry()->byAlpha2('foo'); @@ -89,7 +104,7 @@ public function testByAlpha2() { $country = $iso->byCountry() ->setResolution('currencies', ByCountryModel::NODE_AS_ALL) ->setResolution('continents', ByCountryModel::NODE_AS_ALL) - ->setResolution('languages' , ByCountryModel::NODE_AS_ALL) + ->setResolution('languages', ByCountryModel::NODE_AS_ALL) ->byAlpha2('es'); $this->assertCountry($this->testNodeAll + $this->testCountry, $country); @@ -97,7 +112,7 @@ public function testByAlpha2() { $country = $iso->byCountry() ->setResolution('currencies', ByCountryModel::NODE_AS_NAME) ->setResolution('continents', ByCountryModel::NODE_AS_NAME) - ->setResolution('languages' , ByCountryModel::NODE_AS_NAME) + ->setResolution('languages', ByCountryModel::NODE_AS_NAME) ->byAlpha2('es'); $this->assertCountry($this->testNodeName + $this->testCountry, $country); @@ -105,7 +120,7 @@ public function testByAlpha2() { $country = $iso->byCountry() ->setResolution('currencies', ByCountryModel::NODE_AS_NONE) ->setResolution('continents', ByCountryModel::NODE_AS_NONE) - ->setResolution('languages' , ByCountryModel::NODE_AS_NONE) + ->setResolution('languages', ByCountryModel::NODE_AS_NONE) ->byAlpha2('es'); $this->assertArrayNotHasKey('countries', $country); @@ -118,7 +133,8 @@ public function testByAlpha2() { /** * Test by Alpha3. */ - public function testByAlpha3() { + public function testByAlpha3() + { $iso = new ISOCodes(); $country = $iso->byCountry()->byAlpha3('esp'); @@ -130,10 +146,11 @@ public function testByAlpha3() { /** * Test search by Numeric. */ - public function testByNumberic() { + public function testByNumberic() + { $iso = new ISOCodes(); - $country = $iso->byCountry()->byNumberic('724'); + $country = $iso->byCountry()->byNumeric('724'); $this->assertCountry($this->testNodeCode + $this->testCountry, $country); } @@ -142,7 +159,8 @@ public function testByNumberic() { /** * Test search by TLD. */ - public function testByTld() { + public function testByTld() + { $iso = new ISOCodes(); $country = $iso->byCountry()->byTld('ES'); @@ -153,10 +171,45 @@ public function testByTld() { } + /** + * Test search by international phone code. + */ + public function testByPhoneCode() + { + $iso = new ISOCodes(); + + $country = $iso->byCountry()->byPhoneCode(34); + $this->assertCountry($this->testNodeCode + $this->testCountry, $country); + + $country = $iso->byCountry()->byPhoneCode('+34'); + $this->assertCountry($this->testNodeCode + $this->testCountry, $country); + + $country = $iso->byCountry()->byPhoneCode('34'); + $this->assertCountry($this->testNodeCode + $this->testCountry, $country); + } + + + /** + * Test continent search. + */ + public function testContinentSearch() + { + $iso = new ISOCodes(); + + $country = $iso->byCountry() + ->byContinent(['EU', 'AS'], true) + ->pluck('alpha2') + ->toArray(); + + $this->assertEquals(['CY', 'RU'], $country); + } + + /** * Test currency as number. */ - public function testCurrencyAsNumber() { + public function testCurrencyAsNumber() + { $iso = new ISOCodes(); $country = $iso->byCountry() @@ -180,7 +233,8 @@ public function testCurrencyAsNumber() { * @param array $expected * @param array $country */ - protected function assertCountry(array $expected, array $country) { + protected function assertCountry(array $expected, array $country) + { foreach ($expected as $key => $value) $this->assertEquals($country[$key], $value); }