import collections
Country = collections.namedtuple('Country', ('ISO', 'ISO3', 'ISOnumeric', 'fips', 'name', 'capital', 'area', 'population', 'continent', 'tld', 'currencyCode', 'currencyName', 'phone', 'postalCodeFormat', 'postalCodeRegex', 'languages', 'id', 'neighbours', 'equivalentFipsCode'))
countries = [
    Country(ISO='AD', ISO3='AND', ISOnumeric=20, fips='AN', name='Andorra', capital='Andorra la Vella', area=468.0, population=84000, continent='EU', tld='.ad', currencyCode='EUR', currencyName='Euro', phone='376', postalCodeFormat='AD###', postalCodeRegex='^(?:AD)*(\\d{3})$', languages=set(['ca']), id=3041565, neighbours=set(['FR', 'ES']), equivalentFipsCode=None),
    Country(ISO='AE', ISO3='ARE', ISOnumeric=784, fips='AE', name='United Arab Emirates', capital='Abu Dhabi', area=82880.0, population=4975593, continent='AS', tld='.ae', currencyCode='AED', currencyName='Dirham', phone='971', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar-AE', 'hi', 'en', 'ur', 'fa']), id=290557, neighbours=set(['SA', 'OM']), equivalentFipsCode=None),
    Country(ISO='AF', ISO3='AFG', ISOnumeric=4, fips='AF', name='Afghanistan', capital='Kabul', area=647500.0, population=29121286, continent='AS', tld='.af', currencyCode='AFN', currencyName='Afghani', phone='93', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ps', 'fa-AF', 'tk', 'uz-AF']), id=1149361, neighbours=set(['CN', 'UZ', 'IR', 'TM', 'TJ', 'PK']), equivalentFipsCode=None),
    Country(ISO='AG', ISO3='ATG', ISOnumeric=28, fips='AC', name='Antigua and Barbuda', capital="St. John's", area=443.0, population=86754, continent='NA', tld='.ag', currencyCode='XCD', currencyName='Dollar', phone='+1-268', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-AG']), id=3576396, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AI', ISO3='AIA', ISOnumeric=660, fips='AV', name='Anguilla', capital='The Valley', area=102.0, population=13254, continent='NA', tld='.ai', currencyCode='XCD', currencyName='Dollar', phone='+1-264', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-AI']), id=3573511, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AL', ISO3='ALB', ISOnumeric=8, fips='AL', name='Albania', capital='Tirana', area=28748.0, population=2986952, continent='EU', tld='.al', currencyCode='ALL', currencyName='Lek', phone='355', postalCodeFormat=None, postalCodeRegex=None, languages=set(['el', 'sq']), id=783754, neighbours=set(['ME', 'XK', 'GR', 'MK', 'RS']), equivalentFipsCode=None),
    Country(ISO='AM', ISO3='ARM', ISOnumeric=51, fips='AM', name='Armenia', capital='Yerevan', area=29800.0, population=2968000, continent='AS', tld='.am', currencyCode='AMD', currencyName='Dram', phone='374', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['hy']), id=174982, neighbours=set(['GE', 'IR', 'TR', 'AZ']), equivalentFipsCode=None),
    Country(ISO='AO', ISO3='AGO', ISOnumeric=24, fips='AO', name='Angola', capital='Luanda', area=1246700.0, population=13068161, continent='AF', tld='.ao', currencyCode='AOA', currencyName='Kwanza', phone='244', postalCodeFormat=None, postalCodeRegex=None, languages=set(['pt-AO']), id=3351879, neighbours=set(['NA', 'ZM', 'CG', 'CD']), equivalentFipsCode=None),
    Country(ISO='AQ', ISO3='ATA', ISOnumeric=10, fips='AY', name='Antarctica', capital=None, area=14000000.0, population=0, continent='AN', tld='.aq', currencyCode=None, currencyName=None, phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=None, id=6697173, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AR', ISO3='ARG', ISOnumeric=32, fips='AR', name='Argentina', capital='Buenos Aires', area=2766890.0, population=41343201, continent='SA', tld='.ar', currencyCode='ARS', currencyName='Peso', phone='54', postalCodeFormat='@####@@@', postalCodeRegex='^([A-Z]\\d{4}[A-Z]{3})$', languages=set(['fr', 'en', 'es-AR', 'de', 'it', 'gn']), id=3865483, neighbours=set(['BO', 'UY', 'PY', 'BR', 'CL']), equivalentFipsCode=None),
    Country(ISO='AS', ISO3='ASM', ISOnumeric=16, fips='AQ', name='American Samoa', capital='Pago Pago', area=199.0, population=57881, continent='OC', tld='.as', currencyCode='USD', currencyName='Dollar', phone='+1-684', postalCodeFormat=None, postalCodeRegex=None, languages=set(['to', 'sm', 'en-AS']), id=5880801, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AT', ISO3='AUT', ISOnumeric=40, fips='AU', name='Austria', capital='Vienna', area=83858.0, population=8205000, continent='EU', tld='.at', currencyCode='EUR', currencyName='Euro', phone='43', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['de-AT', 'hr', 'sl', 'hu']), id=2782113, neighbours=set(['CH', 'DE', 'IT', 'HU', 'SK', 'CZ', 'SI', 'LI']), equivalentFipsCode=None),
    Country(ISO='AU', ISO3='AUS', ISOnumeric=36, fips='AS', name='Australia', capital='Canberra', area=7686850.0, population=21515754, continent='OC', tld='.au', currencyCode='AUD', currencyName='Dollar', phone='61', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en-AU']), id=2077456, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AW', ISO3='ABW', ISOnumeric=533, fips='AA', name='Aruba', capital='Oranjestad', area=193.0, population=71566, continent='NA', tld='.aw', currencyCode='AWG', currencyName='Guilder', phone='297', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'es', 'nl-AW']), id=3577279, neighbours=None, equivalentFipsCode=None),
    Country(ISO='AX', ISO3='ALA', ISOnumeric=248, fips=None, name='Aland Islands', capital='Mariehamn', area=None, population=26711, continent='EU', tld='.ax', currencyCode='EUR', currencyName='Euro', phone='+358-18', postalCodeFormat='#####', postalCodeRegex='^(?:FI)*(\\d{5})$', languages=set(['sv-AX']), id=661882, neighbours=None, equivalentFipsCode='FI'),
    Country(ISO='AZ', ISO3='AZE', ISOnumeric=31, fips='AJ', name='Azerbaijan', capital='Baku', area=86600.0, population=8303512, continent='AS', tld='.az', currencyCode='AZN', currencyName='Manat', phone='994', postalCodeFormat='AZ ####', postalCodeRegex='^(?:AZ)*(\\d{4})$', languages=set(['ru', 'hy', 'az']), id=587116, neighbours=set(['TR', 'GE', 'IR', 'AM', 'RU']), equivalentFipsCode=None),
    Country(ISO='BA', ISO3='BIH', ISOnumeric=70, fips='BK', name='Bosnia and Herzegovina', capital='Sarajevo', area=51129.0, population=4590000, continent='EU', tld='.ba', currencyCode='BAM', currencyName='Marka', phone='387', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['hr-BA', 'sr-BA', 'bs']), id=3277605, neighbours=set(['HR', 'ME', 'RS']), equivalentFipsCode=None),
    Country(ISO='BB', ISO3='BRB', ISOnumeric=52, fips='BB', name='Barbados', capital='Bridgetown', area=431.0, population=285653, continent='NA', tld='.bb', currencyCode='BBD', currencyName='Dollar', phone='+1-246', postalCodeFormat='BB#####', postalCodeRegex='^(?:BB)*(\\d{5})$', languages=set(['en-BB']), id=3374084, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BD', ISO3='BGD', ISOnumeric=50, fips='BG', name='Bangladesh', capital='Dhaka', area=144000.0, population=156118464, continent='AS', tld='.bd', currencyCode='BDT', currencyName='Taka', phone='880', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en', 'bn-BD']), id=1210997, neighbours=set(['MM', 'IN']), equivalentFipsCode=None),
    Country(ISO='BE', ISO3='BEL', ISOnumeric=56, fips='BE', name='Belgium', capital='Brussels', area=30510.0, population=10403000, continent='EU', tld='.be', currencyCode='EUR', currencyName='Euro', phone='32', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['de-BE', 'nl-BE', 'fr-BE']), id=2802361, neighbours=set(['FR', 'DE', 'NL', 'LU']), equivalentFipsCode=None),
    Country(ISO='BF', ISO3='BFA', ISOnumeric=854, fips='UV', name='Burkina Faso', capital='Ouagadougou', area=274200.0, population=16241811, continent='AF', tld='.bf', currencyCode='XOF', currencyName='Franc', phone='226', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-BF']), id=2361809, neighbours=set(['CI', 'ML', 'NE', 'BJ', 'TG', 'GH']), equivalentFipsCode=None),
    Country(ISO='BG', ISO3='BGR', ISOnumeric=100, fips='BU', name='Bulgaria', capital='Sofia', area=110910.0, population=7148785, continent='EU', tld='.bg', currencyCode='BGN', currencyName='Lev', phone='359', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['bg', 'tr-BG']), id=732800, neighbours=set(['RO', 'TR', 'GR', 'MK', 'RS']), equivalentFipsCode=None),
    Country(ISO='BH', ISO3='BHR', ISOnumeric=48, fips='BA', name='Bahrain', capital='Manama', area=665.0, population=738004, continent='AS', tld='.bh', currencyCode='BHD', currencyName='Dinar', phone='973', postalCodeFormat='####|###', postalCodeRegex='^(\\d{3}\\d?)$', languages=set(['fa', 'en', 'ar-BH', 'ur']), id=290291, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BI', ISO3='BDI', ISOnumeric=108, fips='BY', name='Burundi', capital='Bujumbura', area=27830.0, population=9863117, continent='AF', tld='.bi', currencyCode='BIF', currencyName='Franc', phone='257', postalCodeFormat=None, postalCodeRegex=None, languages=set(['rn', 'fr-BI']), id=433561, neighbours=set(['RW', 'TZ', 'CD']), equivalentFipsCode=None),
    Country(ISO='BJ', ISO3='BEN', ISOnumeric=204, fips='BN', name='Benin', capital='Porto-Novo', area=112620.0, population=9056010, continent='AF', tld='.bj', currencyCode='XOF', currencyName='Franc', phone='229', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-BJ']), id=2395170, neighbours=set(['TG', 'BF', 'NE', 'NG']), equivalentFipsCode=None),
    Country(ISO='BL', ISO3='BLM', ISOnumeric=652, fips='TB', name='Saint Barthelemy', capital='Gustavia', area=21.0, population=8450, continent='NA', tld='.gp', currencyCode='EUR', currencyName='Euro', phone='590', postalCodeFormat='### ###', postalCodeRegex=None, languages=set(['fr']), id=3578476, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BM', ISO3='BMU', ISOnumeric=60, fips='BD', name='Bermuda', capital='Hamilton', area=53.0, population=65365, continent='NA', tld='.bm', currencyCode='BMD', currencyName='Dollar', phone='+1-441', postalCodeFormat='@@ ##', postalCodeRegex='^([A-Z]{2}\\d{2})$', languages=set(['en-BM', 'pt']), id=3573345, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BN', ISO3='BRN', ISOnumeric=96, fips='BX', name='Brunei', capital='Bandar Seri Begawan', area=5770.0, population=395027, continent='AS', tld='.bn', currencyCode='BND', currencyName='Dollar', phone='673', postalCodeFormat='@@####', postalCodeRegex='^([A-Z]{2}\\d{4})$', languages=set(['ms-BN', 'en-BN']), id=1820814, neighbours=set(['MY']), equivalentFipsCode=None),
    Country(ISO='BO', ISO3='BOL', ISOnumeric=68, fips='BL', name='Bolivia', capital='Sucre', area=1098580.0, population=9947418, continent='SA', tld='.bo', currencyCode='BOB', currencyName='Boliviano', phone='591', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ay', 'es-BO', 'qu']), id=3923057, neighbours=set(['CL', 'AR', 'PY', 'BR', 'PE']), equivalentFipsCode=None),
    Country(ISO='BQ', ISO3='BES', ISOnumeric=535, fips=None, name='Bonaire, Saint Eustatius and Saba', capital=None, area=None, population=18012, continent='NA', tld='.bq', currencyCode='USD', currencyName='Dollar', phone='599', postalCodeFormat=None, postalCodeRegex=None, languages=set(['pap', 'en', 'nl']), id=7626844, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BR', ISO3='BRA', ISOnumeric=76, fips='BR', name='Brazil', capital='Brasilia', area=8511965.0, population=201103330, continent='SA', tld='.br', currencyCode='BRL', currencyName='Real', phone='55', postalCodeFormat='#####-###', postalCodeRegex='^(\\d{8})$', languages=set(['fr', 'en', 'pt-BR', 'es']), id=3469034, neighbours=set(['PY', 'UY', 'VE', 'SR', 'BO', 'GY', 'GF', 'AR', 'PE', 'CO']), equivalentFipsCode=None),
    Country(ISO='BS', ISO3='BHS', ISOnumeric=44, fips='BF', name='Bahamas', capital='Nassau', area=13940.0, population=301790, continent='NA', tld='.bs', currencyCode='BSD', currencyName='Dollar', phone='+1-242', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-BS']), id=3572887, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BT', ISO3='BTN', ISOnumeric=64, fips='BT', name='Bhutan', capital='Thimphu', area=47000.0, population=699847, continent='AS', tld='.bt', currencyCode='BTN', currencyName='Ngultrum', phone='975', postalCodeFormat=None, postalCodeRegex=None, languages=set(['dz']), id=1252634, neighbours=set(['CN', 'IN']), equivalentFipsCode=None),
    Country(ISO='BV', ISO3='BVT', ISOnumeric=74, fips='BV', name='Bouvet Island', capital=None, area=None, population=0, continent='AN', tld='.bv', currencyCode='NOK', currencyName='Krone', phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=None, id=3371123, neighbours=None, equivalentFipsCode=None),
    Country(ISO='BW', ISO3='BWA', ISOnumeric=72, fips='BC', name='Botswana', capital='Gaborone', area=600370.0, population=2029307, continent='AF', tld='.bw', currencyCode='BWP', currencyName='Pula', phone='267', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-BW', 'tn-BW']), id=933860, neighbours=set(['NA', 'ZW', 'ZA']), equivalentFipsCode=None),
    Country(ISO='BY', ISO3='BLR', ISOnumeric=112, fips='BO', name='Belarus', capital='Minsk', area=207600.0, population=9685000, continent='EU', tld='.by', currencyCode='BYR', currencyName='Ruble', phone='375', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['be', 'ru']), id=630336, neighbours=set(['LV', 'RU', 'LT', 'UA', 'PL']), equivalentFipsCode=None),
    Country(ISO='BZ', ISO3='BLZ', ISOnumeric=84, fips='BH', name='Belize', capital='Belmopan', area=22966.0, population=314522, continent='NA', tld='.bz', currencyCode='BZD', currencyName='Dollar', phone='501', postalCodeFormat=None, postalCodeRegex=None, languages=set(['es', 'en-BZ']), id=3582678, neighbours=set(['GT', 'MX']), equivalentFipsCode=None),
    Country(ISO='CA', ISO3='CAN', ISOnumeric=124, fips='CA', name='Canada', capital='Ottawa', area=9984670.0, population=33679000, continent='NA', tld='.ca', currencyCode='CAD', currencyName='Dollar', phone='1', postalCodeFormat='@#@ #@#', postalCodeRegex='^([ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJKLMNPRSTVWXYZ]) ?(\\d[ABCEGHJKLMNPRSTVWXYZ]\\d)$', languages=set(['fr-CA', 'iu', 'en-CA']), id=6251999, neighbours=set(['US']), equivalentFipsCode=None),
    Country(ISO='CC', ISO3='CCK', ISOnumeric=166, fips='CK', name='Cocos Islands', capital='West Island', area=14.0, population=628, continent='AS', tld='.cc', currencyCode='AUD', currencyName='Dollar', phone='61', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'ms-CC']), id=1547376, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CD', ISO3='COD', ISOnumeric=180, fips='CG', name='Democratic Republic of the Congo', capital='Kinshasa', area=2345410.0, population=70916439, continent='AF', tld='.cd', currencyCode='CDF', currencyName='Franc', phone='243', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ln', 'kg', 'fr-CD']), id=203312, neighbours=set(['ZM', 'RW', 'TZ', 'SS', 'CG', 'CF', 'AO', 'BI', 'UG']), equivalentFipsCode=None),
    Country(ISO='CF', ISO3='CAF', ISOnumeric=140, fips='CT', name='Central African Republic', capital='Bangui', area=622984.0, population=4844927, continent='AF', tld='.cf', currencyCode='XAF', currencyName='Franc', phone='236', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ln', 'kg', 'sg', 'fr-CF']), id=239880, neighbours=set(['CM', 'SS', 'CG', 'CD', 'TD', 'SD']), equivalentFipsCode=None),
    Country(ISO='CG', ISO3='COG', ISOnumeric=178, fips='CF', name='Republic of the Congo', capital='Brazzaville', area=342000.0, population=3039126, continent='AF', tld='.cg', currencyCode='XAF', currencyName='Franc', phone='242', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ln-CG', 'kg', 'fr-CG']), id=2260494, neighbours=set(['AO', 'CM', 'CF', 'GA', 'CD']), equivalentFipsCode=None),
    Country(ISO='CH', ISO3='CHE', ISOnumeric=756, fips='SZ', name='Switzerland', capital='Berne', area=41290.0, population=7581000, continent='EU', tld='.ch', currencyCode='CHF', currencyName='Franc', phone='41', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['fr-CH', 'it-CH', 'de-CH', 'rm']), id=2658434, neighbours=set(['AT', 'FR', 'DE', 'IT', 'LI']), equivalentFipsCode=None),
    Country(ISO='CI', ISO3='CIV', ISOnumeric=384, fips='IV', name='Ivory Coast', capital='Yamoussoukro', area=322460.0, population=21058798, continent='AF', tld='.ci', currencyCode='XOF', currencyName='Franc', phone='225', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-CI']), id=2287781, neighbours=set(['GN', 'BF', 'ML', 'LR', 'GH']), equivalentFipsCode=None),
    Country(ISO='CK', ISO3='COK', ISOnumeric=184, fips='CW', name='Cook Islands', capital='Avarua', area=240.0, population=21388, continent='OC', tld='.ck', currencyCode='NZD', currencyName='Dollar', phone='682', postalCodeFormat=None, postalCodeRegex=None, languages=set(['mi', 'en-CK']), id=1899402, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CL', ISO3='CHL', ISOnumeric=152, fips='CI', name='Chile', capital='Santiago', area=756950.0, population=16746491, continent='SA', tld='.cl', currencyCode='CLP', currencyName='Peso', phone='56', postalCodeFormat='#######', postalCodeRegex='^(\\d{7})$', languages=set(['es-CL']), id=3895114, neighbours=set(['BO', 'AR', 'PE']), equivalentFipsCode=None),
    Country(ISO='CM', ISO3='CMR', ISOnumeric=120, fips='CM', name='Cameroon', capital='Yaounde', area=475440.0, population=19294149, continent='AF', tld='.cm', currencyCode='XAF', currencyName='Franc', phone='237', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-CM', 'fr-CM']), id=2233387, neighbours=set(['GQ', 'CG', 'CF', 'NG', 'GA', 'TD']), equivalentFipsCode=None),
    Country(ISO='CN', ISO3='CHN', ISOnumeric=156, fips='CH', name='China', capital='Beijing', area=9596960.0, population=1330044000, continent='AS', tld='.cn', currencyCode='CNY', currencyName='Yuan Renminbi', phone='86', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['wuu', 'dta', 'za', 'zh-CN', 'ug', 'yue']), id=1814991, neighbours=set(['RU', 'KG', 'LA', 'IN', 'AF', 'MM', 'MN', 'VN', 'BT', 'KP', 'TJ', 'PK', 'NP', 'KZ']), equivalentFipsCode=None),
    Country(ISO='CO', ISO3='COL', ISOnumeric=170, fips='CO', name='Colombia', capital='Bogota', area=1138910.0, population=47790000, continent='SA', tld='.co', currencyCode='COP', currencyName='Peso', phone='57', postalCodeFormat=None, postalCodeRegex=None, languages=set(['es-CO']), id=3686110, neighbours=set(['VE', 'PA', 'BR', 'EC', 'PE']), equivalentFipsCode=None),
    Country(ISO='CR', ISO3='CRI', ISOnumeric=188, fips='CS', name='Costa Rica', capital='San Jose', area=51100.0, population=4516220, continent='NA', tld='.cr', currencyCode='CRC', currencyName='Colon', phone='506', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en', 'es-CR']), id=3624060, neighbours=set(['NI', 'PA']), equivalentFipsCode=None),
    Country(ISO='CU', ISO3='CUB', ISOnumeric=192, fips='CU', name='Cuba', capital='Havana', area=110860.0, population=11423000, continent='NA', tld='.cu', currencyCode='CUP', currencyName='Peso', phone='53', postalCodeFormat='CP #####', postalCodeRegex='^(?:CP)*(\\d{5})$', languages=set(['es-CU']), id=3562981, neighbours=set(['US']), equivalentFipsCode=None),
    Country(ISO='CV', ISO3='CPV', ISOnumeric=132, fips='CV', name='Cape Verde', capital='Praia', area=4033.0, population=508659, continent='AF', tld='.cv', currencyCode='CVE', currencyName='Escudo', phone='238', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['pt-CV']), id=3374766, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CW', ISO3='CUW', ISOnumeric=531, fips='UC', name='Curacao', capital='Willemstad', area=None, population=141766, continent='NA', tld='.cw', currencyCode='ANG', currencyName='Guilder', phone='599', postalCodeFormat=None, postalCodeRegex=None, languages=set(['pap', 'nl']), id=7626836, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CX', ISO3='CXR', ISOnumeric=162, fips='KT', name='Christmas Island', capital='Flying Fish Cove', area=135.0, population=1500, continent='AS', tld='.cx', currencyCode='AUD', currencyName='Dollar', phone='61', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en', 'zh', 'ms-CC']), id=2078138, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CY', ISO3='CYP', ISOnumeric=196, fips='CY', name='Cyprus', capital='Nicosia', area=9250.0, population=1102677, continent='EU', tld='.cy', currencyCode='EUR', currencyName='Euro', phone='357', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['el-CY', 'en', 'tr-CY']), id=146669, neighbours=None, equivalentFipsCode=None),
    Country(ISO='CZ', ISO3='CZE', ISOnumeric=203, fips='EZ', name='Czech Republic', capital='Prague', area=78866.0, population=10476000, continent='EU', tld='.cz', currencyCode='CZK', currencyName='Koruna', phone='420', postalCodeFormat='### ##', postalCodeRegex='^(\\d{5})$', languages=set(['cs', 'sk']), id=3077311, neighbours=set(['SK', 'DE', 'AT', 'PL']), equivalentFipsCode=None),
    Country(ISO='DE', ISO3='DEU', ISOnumeric=276, fips='GM', name='Germany', capital='Berlin', area=357021.0, population=81802257, continent='EU', tld='.de', currencyCode='EUR', currencyName='Euro', phone='49', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['de']), id=2921044, neighbours=set(['BE', 'FR', 'CH', 'NL', 'DK', 'CZ', 'LU', 'AT', 'PL']), equivalentFipsCode=None),
    Country(ISO='DJ', ISO3='DJI', ISOnumeric=262, fips='DJ', name='Djibouti', capital='Djibouti', area=23000.0, population=740528, continent='AF', tld='.dj', currencyCode='DJF', currencyName='Franc', phone='253', postalCodeFormat=None, postalCodeRegex=None, languages=set(['aa', 'ar', 'so-DJ', 'fr-DJ']), id=223816, neighbours=set(['ET', 'SO', 'ER']), equivalentFipsCode=None),
    Country(ISO='DK', ISO3='DNK', ISOnumeric=208, fips='DA', name='Denmark', capital='Copenhagen', area=43094.0, population=5484000, continent='EU', tld='.dk', currencyCode='DKK', currencyName='Krone', phone='45', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['da-DK', 'en', 'de-DK', 'fo']), id=2623032, neighbours=set(['DE']), equivalentFipsCode=None),
    Country(ISO='DM', ISO3='DMA', ISOnumeric=212, fips='DO', name='Dominica', capital='Roseau', area=754.0, population=72813, continent='NA', tld='.dm', currencyCode='XCD', currencyName='Dollar', phone='+1-767', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-DM']), id=3575830, neighbours=None, equivalentFipsCode=None),
    Country(ISO='DO', ISO3='DOM', ISOnumeric=214, fips='DR', name='Dominican Republic', capital='Santo Domingo', area=48730.0, population=9823821, continent='NA', tld='.do', currencyCode='DOP', currencyName='Peso', phone='+1-809 and 1-829', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['es-DO']), id=3508796, neighbours=set(['HT']), equivalentFipsCode=None),
    Country(ISO='DZ', ISO3='DZA', ISOnumeric=12, fips='AG', name='Algeria', capital='Algiers', area=2381740.0, population=34586184, continent='AF', tld='.dz', currencyCode='DZD', currencyName='Dinar', phone='213', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-DZ']), id=2589581, neighbours=set(['MA', 'EH', 'ML', 'NE', 'TN', 'MR', 'LY']), equivalentFipsCode=None),
    Country(ISO='EC', ISO3='ECU', ISOnumeric=218, fips='EC', name='Ecuador', capital='Quito', area=283560.0, population=14790608, continent='SA', tld='.ec', currencyCode='USD', currencyName='Dollar', phone='593', postalCodeFormat='@####@', postalCodeRegex='^([a-zA-Z]\\d{4}[a-zA-Z])$', languages=set(['es-EC']), id=3658394, neighbours=set(['CO', 'PE']), equivalentFipsCode=None),
    Country(ISO='EE', ISO3='EST', ISOnumeric=233, fips='EN', name='Estonia', capital='Tallinn', area=45226.0, population=1291170, continent='EU', tld='.ee', currencyCode='EUR', currencyName='Euro', phone='372', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['et', 'ru']), id=453733, neighbours=set(['LV', 'RU']), equivalentFipsCode=None),
    Country(ISO='EG', ISO3='EGY', ISOnumeric=818, fips='EG', name='Egypt', capital='Cairo', area=1001450.0, population=80471869, continent='AF', tld='.eg', currencyCode='EGP', currencyName='Pound', phone='20', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr', 'en', 'ar-EG']), id=357994, neighbours=set(['PS', 'SD', 'IL', 'LY']), equivalentFipsCode=None),
    Country(ISO='EH', ISO3='ESH', ISOnumeric=732, fips='WI', name='Western Sahara', capital='El-Aaiun', area=266000.0, population=273008, continent='AF', tld='.eh', currencyCode='MAD', currencyName='Dirham', phone='212', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar', 'mey']), id=2461445, neighbours=set(['MA', 'DZ', 'MR']), equivalentFipsCode=None),
    Country(ISO='ER', ISO3='ERI', ISOnumeric=232, fips='ER', name='Eritrea', capital='Asmara', area=121320.0, population=5792984, continent='AF', tld='.er', currencyCode='ERN', currencyName='Nakfa', phone='291', postalCodeFormat=None, postalCodeRegex=None, languages=set(['kun', 'aa-ER', 'ar', 'tig', 'ti-ER']), id=338010, neighbours=set(['ET', 'DJ', 'SD']), equivalentFipsCode=None),
    Country(ISO='ES', ISO3='ESP', ISOnumeric=724, fips='SP', name='Spain', capital='Madrid', area=504782.0, population=46505963, continent='EU', tld='.es', currencyCode='EUR', currencyName='Euro', phone='34', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['eu', 'oc', 'ca', 'gl', 'es-ES']), id=2510769, neighbours=set(['MA', 'FR', 'GI', 'AD', 'PT']), equivalentFipsCode=None),
    Country(ISO='ET', ISO3='ETH', ISOnumeric=231, fips='ET', name='Ethiopia', capital='Addis Ababa', area=1127127.0, population=88013491, continent='AF', tld='.et', currencyCode='ETB', currencyName='Birr', phone='251', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['ti-ET', 'so-ET', 'om-ET', 'am', 'sid', 'en-ET']), id=337996, neighbours=set(['DJ', 'KE', 'SS', 'SO', 'ER', 'SD']), equivalentFipsCode=None),
    Country(ISO='FI', ISO3='FIN', ISOnumeric=246, fips='FI', name='Finland', capital='Helsinki', area=337030.0, population=5244000, continent='EU', tld='.fi', currencyCode='EUR', currencyName='Euro', phone='358', postalCodeFormat='#####', postalCodeRegex='^(?:FI)*(\\d{5})$', languages=set(['smn', 'fi-FI', 'sv-FI']), id=660013, neighbours=set(['RU', 'SE', 'NO']), equivalentFipsCode=None),
    Country(ISO='FJ', ISO3='FJI', ISOnumeric=242, fips='FJ', name='Fiji', capital='Suva', area=18270.0, population=875983, continent='OC', tld='.fj', currencyCode='FJD', currencyName='Dollar', phone='679', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fj', 'en-FJ']), id=2205218, neighbours=None, equivalentFipsCode=None),
    Country(ISO='FK', ISO3='FLK', ISOnumeric=238, fips='FK', name='Falkland Islands', capital='Stanley', area=12173.0, population=2638, continent='SA', tld='.fk', currencyCode='FKP', currencyName='Pound', phone='500', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-FK']), id=3474414, neighbours=None, equivalentFipsCode=None),
    Country(ISO='FM', ISO3='FSM', ISOnumeric=583, fips='FM', name='Micronesia', capital='Palikir', area=702.0, population=107708, continent='OC', tld='.fm', currencyCode='USD', currencyName='Dollar', phone='691', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['chk', 'en-FM', 'yap', 'pon', 'nkr', 'uli', 'kpg', 'woe', 'kos']), id=2081918, neighbours=None, equivalentFipsCode=None),
    Country(ISO='FO', ISO3='FRO', ISOnumeric=234, fips='FO', name='Faroe Islands', capital='Torshavn', area=1399.0, population=48228, continent='EU', tld='.fo', currencyCode='DKK', currencyName='Krone', phone='298', postalCodeFormat='FO-###', postalCodeRegex='^(?:FO)*(\\d{3})$', languages=set(['da-FO', 'fo']), id=2622320, neighbours=None, equivalentFipsCode=None),
    Country(ISO='FR', ISO3='FRA', ISOnumeric=250, fips='FR', name='France', capital='Paris', area=547030.0, population=64768389, continent='EU', tld='.fr', currencyCode='EUR', currencyName='Euro', phone='33', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['co', 'ca', 'oc', 'frp', 'fr-FR', 'br', 'eu']), id=3017382, neighbours=set(['BE', 'CH', 'AD', 'MC', 'DE', 'IT', 'LU', 'ES']), equivalentFipsCode=None),
    Country(ISO='GA', ISO3='GAB', ISOnumeric=266, fips='GB', name='Gabon', capital='Libreville', area=267667.0, population=1545255, continent='AF', tld='.ga', currencyCode='XAF', currencyName='Franc', phone='241', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-GA']), id=2400553, neighbours=set(['CG', 'GQ', 'CM']), equivalentFipsCode=None),
    Country(ISO='GB', ISO3='GBR', ISOnumeric=826, fips='UK', name='United Kingdom', capital='London', area=244820.0, population=62348447, continent='EU', tld='.uk', currencyCode='GBP', currencyName='Pound', phone='44', postalCodeFormat='@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA', postalCodeRegex='^(([A-Z]\\d{2}[A-Z]{2})|([A-Z]\\d{3}[A-Z]{2})|([A-Z]{2}\\d{2}[A-Z]{2})|([A-Z]{2}\\d{3}[A-Z]{2})|([A-Z]\\d[A-Z]\\d[A-Z]{2})|([A-Z]{2}\\d[A-Z]\\d[A-Z]{2})|(GIR0AA))$', languages=set(['en-GB', 'gd', 'cy-GB']), id=2635167, neighbours=set(['IE']), equivalentFipsCode=None),
    Country(ISO='GD', ISO3='GRD', ISOnumeric=308, fips='GJ', name='Grenada', capital="St. George's", area=344.0, population=107818, continent='NA', tld='.gd', currencyCode='XCD', currencyName='Dollar', phone='+1-473', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-GD']), id=3580239, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GE', ISO3='GEO', ISOnumeric=268, fips='GG', name='Georgia', capital='Tbilisi', area=69700.0, population=4630000, continent='AS', tld='.ge', currencyCode='GEL', currencyName='Lari', phone='995', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['ru', 'ka', 'hy', 'az']), id=614540, neighbours=set(['TR', 'AZ', 'AM', 'RU']), equivalentFipsCode=None),
    Country(ISO='GF', ISO3='GUF', ISOnumeric=254, fips='FG', name='French Guiana', capital='Cayenne', area=91000.0, population=195506, continent='SA', tld='.gf', currencyCode='EUR', currencyName='Euro', phone='594', postalCodeFormat='#####', postalCodeRegex='^((97|98)3\\d{2})$', languages=set(['fr-GF']), id=3381670, neighbours=set(['SR', 'BR']), equivalentFipsCode=None),
    Country(ISO='GG', ISO3='GGY', ISOnumeric=831, fips='GK', name='Guernsey', capital='St Peter Port', area=78.0, population=65228, continent='EU', tld='.gg', currencyCode='GBP', currencyName='Pound', phone='+44-1481', postalCodeFormat='@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA', postalCodeRegex='^(([A-Z]\\d{2}[A-Z]{2})|([A-Z]\\d{3}[A-Z]{2})|([A-Z]{2}\\d{2}[A-Z]{2})|([A-Z]{2}\\d{3}[A-Z]{2})|([A-Z]\\d[A-Z]\\d[A-Z]{2})|([A-Z]{2}\\d[A-Z]\\d[A-Z]{2})|(GIR0AA))$', languages=set(['fr', 'en']), id=3042362, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GH', ISO3='GHA', ISOnumeric=288, fips='GH', name='Ghana', capital='Accra', area=239460.0, population=24339838, continent='AF', tld='.gh', currencyCode='GHS', currencyName='Cedi', phone='233', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ee', 'tw', 'en-GH', 'ak']), id=2300660, neighbours=set(['TG', 'CI', 'BF']), equivalentFipsCode=None),
    Country(ISO='GI', ISO3='GIB', ISOnumeric=292, fips='GI', name='Gibraltar', capital='Gibraltar', area=6.5, population=27884, continent='EU', tld='.gi', currencyCode='GIP', currencyName='Pound', phone='350', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-GI', 'it', 'es', 'pt']), id=2411586, neighbours=set(['ES']), equivalentFipsCode=None),
    Country(ISO='GL', ISO3='GRL', ISOnumeric=304, fips='GL', name='Greenland', capital='Nuuk', area=2166086.0, population=56375, continent='NA', tld='.gl', currencyCode='DKK', currencyName='Krone', phone='299', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['da-GL', 'en', 'kl']), id=3425505, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GM', ISO3='GMB', ISOnumeric=270, fips='GA', name='Gambia', capital='Banjul', area=11300.0, population=1593256, continent='AF', tld='.gm', currencyCode='GMD', currencyName='Dalasi', phone='220', postalCodeFormat=None, postalCodeRegex=None, languages=set(['wo', 'mnk', 'wof', 'ff', 'en-GM']), id=2413451, neighbours=set(['SN']), equivalentFipsCode=None),
    Country(ISO='GN', ISO3='GIN', ISOnumeric=324, fips='GV', name='Guinea', capital='Conakry', area=245857.0, population=10324025, continent='AF', tld='.gn', currencyCode='GNF', currencyName='Franc', phone='224', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-GN']), id=2420477, neighbours=set(['GW', 'CI', 'ML', 'LR', 'SN', 'SL']), equivalentFipsCode=None),
    Country(ISO='GP', ISO3='GLP', ISOnumeric=312, fips='GP', name='Guadeloupe', capital='Basse-Terre', area=1780.0, population=443000, continent='NA', tld='.gp', currencyCode='EUR', currencyName='Euro', phone='590', postalCodeFormat='#####', postalCodeRegex='^((97|98)\\d{3})$', languages=set(['fr-GP']), id=3579143, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GQ', ISO3='GNQ', ISOnumeric=226, fips='EK', name='Equatorial Guinea', capital='Malabo', area=28051.0, population=1014999, continent='AF', tld='.gq', currencyCode='XAF', currencyName='Franc', phone='240', postalCodeFormat=None, postalCodeRegex=None, languages=set(['es-GQ', 'fr']), id=2309096, neighbours=set(['CM', 'GA']), equivalentFipsCode=None),
    Country(ISO='GR', ISO3='GRC', ISOnumeric=300, fips='GR', name='Greece', capital='Athens', area=131940.0, population=11000000, continent='EU', tld='.gr', currencyCode='EUR', currencyName='Euro', phone='30', postalCodeFormat='### ##', postalCodeRegex='^(\\d{5})$', languages=set(['fr', 'en', 'el-GR']), id=390903, neighbours=set(['BG', 'TR', 'AL', 'MK']), equivalentFipsCode=None),
    Country(ISO='GS', ISO3='SGS', ISOnumeric=239, fips='SX', name='South Georgia and the South Sandwich Islands', capital='Grytviken', area=3903.0, population=30, continent='AN', tld='.gs', currencyCode='GBP', currencyName='Pound', phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=set(['en']), id=3474415, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GT', ISO3='GTM', ISOnumeric=320, fips='GT', name='Guatemala', capital='Guatemala City', area=108890.0, population=13550440, continent='NA', tld='.gt', currencyCode='GTQ', currencyName='Quetzal', phone='502', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['es-GT']), id=3595528, neighbours=set(['HN', 'MX', 'BZ', 'SV']), equivalentFipsCode=None),
    Country(ISO='GU', ISO3='GUM', ISOnumeric=316, fips='GQ', name='Guam', capital='Hagatna', area=549.0, population=159358, continent='OC', tld='.gu', currencyCode='USD', currencyName='Dollar', phone='+1-671', postalCodeFormat='969##', postalCodeRegex='^(969\\d{2})$', languages=set(['ch-GU', 'en-GU']), id=4043988, neighbours=None, equivalentFipsCode=None),
    Country(ISO='GW', ISO3='GNB', ISOnumeric=624, fips='PU', name='Guinea-Bissau', capital='Bissau', area=36120.0, population=1565126, continent='AF', tld='.gw', currencyCode='XOF', currencyName='Franc', phone='245', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['pov', 'pt-GW']), id=2372248, neighbours=set(['GN', 'SN']), equivalentFipsCode=None),
    Country(ISO='GY', ISO3='GUY', ISOnumeric=328, fips='GY', name='Guyana', capital='Georgetown', area=214970.0, population=748486, continent='SA', tld='.gy', currencyCode='GYD', currencyName='Dollar', phone='592', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-GY']), id=3378535, neighbours=set(['SR', 'VE', 'BR']), equivalentFipsCode=None),
    Country(ISO='HK', ISO3='HKG', ISOnumeric=344, fips='HK', name='Hong Kong', capital='Hong Kong', area=1092.0, population=6898686, continent='AS', tld='.hk', currencyCode='HKD', currencyName='Dollar', phone='852', postalCodeFormat=None, postalCodeRegex=None, languages=set(['zh-HK', 'zh', 'en', 'yue']), id=1819730, neighbours=None, equivalentFipsCode=None),
    Country(ISO='HM', ISO3='HMD', ISOnumeric=334, fips='HM', name='Heard Island and McDonald Islands', capital=None, area=412.0, population=0, continent='AN', tld='.hm', currencyCode='AUD', currencyName='Dollar', phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=None, id=1547314, neighbours=None, equivalentFipsCode=None),
    Country(ISO='HN', ISO3='HND', ISOnumeric=340, fips='HO', name='Honduras', capital='Tegucigalpa', area=112090.0, population=7989415, continent='NA', tld='.hn', currencyCode='HNL', currencyName='Lempira', phone='504', postalCodeFormat='@@####', postalCodeRegex='^([A-Z]{2}\\d{4})$', languages=set(['es-HN']), id=3608932, neighbours=set(['NI', 'GT', 'SV']), equivalentFipsCode=None),
    Country(ISO='HR', ISO3='HRV', ISOnumeric=191, fips='HR', name='Croatia', capital='Zagreb', area=56542.0, population=4491000, continent='EU', tld='.hr', currencyCode='HRK', currencyName='Kuna', phone='385', postalCodeFormat='#####', postalCodeRegex='^(?:HR)*(\\d{5})$', languages=set(['sr', 'hr-HR']), id=3202326, neighbours=set(['ME', 'SI', 'RS', 'BA', 'HU']), equivalentFipsCode=None),
    Country(ISO='HT', ISO3='HTI', ISOnumeric=332, fips='HA', name='Haiti', capital='Port-au-Prince', area=27750.0, population=9648924, continent='NA', tld='.ht', currencyCode='HTG', currencyName='Gourde', phone='509', postalCodeFormat='HT####', postalCodeRegex='^(?:HT)*(\\d{4})$', languages=set(['fr-HT', 'ht']), id=3723988, neighbours=set(['DO']), equivalentFipsCode=None),
    Country(ISO='HU', ISO3='HUN', ISOnumeric=348, fips='HU', name='Hungary', capital='Budapest', area=93030.0, population=9982000, continent='EU', tld='.hu', currencyCode='HUF', currencyName='Forint', phone='36', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['hu-HU']), id=719819, neighbours=set(['RS', 'HR', 'SK', 'SI', 'AT', 'RO', 'UA']), equivalentFipsCode=None),
    Country(ISO='ID', ISO3='IDN', ISOnumeric=360, fips='ID', name='Indonesia', capital='Jakarta', area=1919440.0, population=242968342, continent='AS', tld='.id', currencyCode='IDR', currencyName='Rupiah', phone='62', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['jv', 'en', 'nl', 'id']), id=1643084, neighbours=set(['TL', 'MY', 'PG']), equivalentFipsCode=None),
    Country(ISO='IE', ISO3='IRL', ISOnumeric=372, fips='EI', name='Ireland', capital='Dublin', area=70280.0, population=4622917, continent='EU', tld='.ie', currencyCode='EUR', currencyName='Euro', phone='353', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-IE', 'ga-IE']), id=2963597, neighbours=set(['GB']), equivalentFipsCode=None),
    Country(ISO='IL', ISO3='ISR', ISOnumeric=376, fips='IS', name='Israel', capital='Jerusalem', area=20770.0, population=7353985, continent='AS', tld='.il', currencyCode='ILS', currencyName='Shekel', phone='972', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-IL', 'en-IL', '', 'he']), id=294640, neighbours=set(['PS', 'SY', 'JO', 'LB', 'EG']), equivalentFipsCode=None),
    Country(ISO='IM', ISO3='IMN', ISOnumeric=833, fips='IM', name='Isle of Man', capital='Douglas, Isle of Man', area=572.0, population=75049, continent='EU', tld='.im', currencyCode='GBP', currencyName='Pound', phone='+44-1624', postalCodeFormat='@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA', postalCodeRegex='^(([A-Z]\\d{2}[A-Z]{2})|([A-Z]\\d{3}[A-Z]{2})|([A-Z]{2}\\d{2}[A-Z]{2})|([A-Z]{2}\\d{3}[A-Z]{2})|([A-Z]\\d[A-Z]\\d[A-Z]{2})|([A-Z]{2}\\d[A-Z]\\d[A-Z]{2})|(GIR0AA))$', languages=set(['gv', 'en']), id=3042225, neighbours=None, equivalentFipsCode=None),
    Country(ISO='IN', ISO3='IND', ISOnumeric=356, fips='IN', name='India', capital='New Delhi', area=3287590.0, population=1173108018, continent='AS', tld='.in', currencyCode='INR', currencyName='Rupee', phone='91', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['en-IN', 'gu', 'mni', 'as', 'sat', 'kok', 'lus', 'inc', 'sit', 'ne', 'pa', 'te', 'ta', 'fr', 'bn', 'bh', 'hi', 'doi', 'ml', 'kn', 'ur', 'ks', 'mr', 'sa', 'or', 'sd']), id=1269750, neighbours=set(['BD', 'CN', 'MM', 'BT', 'NP', 'PK']), equivalentFipsCode=None),
    Country(ISO='IO', ISO3='IOT', ISOnumeric=86, fips='IO', name='British Indian Ocean Territory', capital='Diego Garcia', area=60.0, population=4000, continent='AS', tld='.io', currencyCode='USD', currencyName='Dollar', phone='246', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-IO']), id=1282588, neighbours=None, equivalentFipsCode=None),
    Country(ISO='IQ', ISO3='IRQ', ISOnumeric=368, fips='IZ', name='Iraq', capital='Baghdad', area=437072.0, population=29671605, continent='AS', tld='.iq', currencyCode='IQD', currencyName='Dinar', phone='964', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['hy', 'ar-IQ', 'ku']), id=99237, neighbours=set(['SY', 'IR', 'TR', 'JO', 'KW', 'SA']), equivalentFipsCode=None),
    Country(ISO='IR', ISO3='IRN', ISOnumeric=364, fips='IR', name='Iran', capital='Tehran', area=1648000.0, population=76923300, continent='AS', tld='.ir', currencyCode='IRR', currencyName='Rial', phone='98', postalCodeFormat='##########', postalCodeRegex='^(\\d{10})$', languages=set(['fa-IR', 'ku']), id=130758, neighbours=set(['AF', 'IQ', 'TR', 'AM', 'TM', 'PK', 'AZ']), equivalentFipsCode=None),
    Country(ISO='IS', ISO3='ISL', ISOnumeric=352, fips='IC', name='Iceland', capital='Reykjavik', area=103000.0, population=308910, continent='EU', tld='.is', currencyCode='ISK', currencyName='Krona', phone='354', postalCodeFormat='###', postalCodeRegex='^(\\d{3})$', languages=set(['en', 'no', 'is', 'de', 'sv', 'da']), id=2629691, neighbours=None, equivalentFipsCode=None),
    Country(ISO='IT', ISO3='ITA', ISOnumeric=380, fips='IT', name='Italy', capital='Rome', area=301230.0, population=60340328, continent='EU', tld='.it', currencyCode='EUR', currencyName='Euro', phone='39', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['co', 'it-IT', 'de-IT', 'sl', 'sc', 'fr-IT', 'ca']), id=3175395, neighbours=set(['VA', 'FR', 'CH', 'SI', 'AT', 'SM']), equivalentFipsCode=None),
    Country(ISO='JE', ISO3='JEY', ISOnumeric=832, fips='JE', name='Jersey', capital='Saint Helier', area=116.0, population=90812, continent='EU', tld='.je', currencyCode='GBP', currencyName='Pound', phone='+44-1534', postalCodeFormat='@# #@@|@## #@@|@@# #@@|@@## #@@|@#@ #@@|@@#@ #@@|GIR0AA', postalCodeRegex='^(([A-Z]\\d{2}[A-Z]{2})|([A-Z]\\d{3}[A-Z]{2})|([A-Z]{2}\\d{2}[A-Z]{2})|([A-Z]{2}\\d{3}[A-Z]{2})|([A-Z]\\d[A-Z]\\d[A-Z]{2})|([A-Z]{2}\\d[A-Z]\\d[A-Z]{2})|(GIR0AA))$', languages=set(['en', 'pt']), id=3042142, neighbours=None, equivalentFipsCode=None),
    Country(ISO='JM', ISO3='JAM', ISOnumeric=388, fips='JM', name='Jamaica', capital='Kingston', area=10991.0, population=2847232, continent='NA', tld='.jm', currencyCode='JMD', currencyName='Dollar', phone='+1-876', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-JM']), id=3489940, neighbours=None, equivalentFipsCode=None),
    Country(ISO='JO', ISO3='JOR', ISOnumeric=400, fips='JO', name='Jordan', capital='Amman', area=92300.0, population=6407085, continent='AS', tld='.jo', currencyCode='JOD', currencyName='Dinar', phone='962', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-JO', 'en']), id=248816, neighbours=set(['IQ', 'PS', 'SY', 'SA', 'IL']), equivalentFipsCode=None),
    Country(ISO='JP', ISO3='JPN', ISOnumeric=392, fips='JA', name='Japan', capital='Tokyo', area=377835.0, population=127288000, continent='AS', tld='.jp', currencyCode='JPY', currencyName='Yen', phone='81', postalCodeFormat='###-####', postalCodeRegex='^(\\d{7})$', languages=set(['ja']), id=1861060, neighbours=None, equivalentFipsCode=None),
    Country(ISO='KE', ISO3='KEN', ISOnumeric=404, fips='KE', name='Kenya', capital='Nairobi', area=582650.0, population=40046566, continent='AF', tld='.ke', currencyCode='KES', currencyName='Shilling', phone='254', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['sw-KE', 'en-KE']), id=192950, neighbours=set(['SS', 'ET', 'SO', 'TZ', 'UG']), equivalentFipsCode=None),
    Country(ISO='KG', ISO3='KGZ', ISOnumeric=417, fips='KG', name='Kyrgyzstan', capital='Bishkek', area=198500.0, population=5508626, continent='AS', tld='.kg', currencyCode='KGS', currencyName='Som', phone='996', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ru', 'ky', 'uz']), id=1527747, neighbours=set(['KZ', 'TJ', 'CN', 'UZ']), equivalentFipsCode=None),
    Country(ISO='KH', ISO3='KHM', ISOnumeric=116, fips='CB', name='Cambodia', capital='Phnom Penh', area=181040.0, population=14453680, continent='AS', tld='.kh', currencyCode='KHR', currencyName='Riels', phone='855', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr', 'en', 'km']), id=1831722, neighbours=set(['VN', 'TH', 'LA']), equivalentFipsCode=None),
    Country(ISO='KI', ISO3='KIR', ISOnumeric=296, fips='KR', name='Kiribati', capital='Tarawa', area=811.0, population=92533, continent='OC', tld='.ki', currencyCode='AUD', currencyName='Dollar', phone='686', postalCodeFormat=None, postalCodeRegex=None, languages=set(['gil', 'en-KI']), id=4030945, neighbours=None, equivalentFipsCode=None),
    Country(ISO='KM', ISO3='COM', ISOnumeric=174, fips='CN', name='Comoros', capital='Moroni', area=2170.0, population=773407, continent='AF', tld='.km', currencyCode='KMF', currencyName='Franc', phone='269', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar', 'fr-KM']), id=921929, neighbours=None, equivalentFipsCode=None),
    Country(ISO='KN', ISO3='KNA', ISOnumeric=659, fips='SC', name='Saint Kitts and Nevis', capital='Basseterre', area=261.0, population=51134, continent='NA', tld='.kn', currencyCode='XCD', currencyName='Dollar', phone='+1-869', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-KN']), id=3575174, neighbours=None, equivalentFipsCode=None),
    Country(ISO='KP', ISO3='PRK', ISOnumeric=408, fips='KN', name='North Korea', capital='Pyongyang', area=120540.0, population=22912177, continent='AS', tld='.kp', currencyCode='KPW', currencyName='Won', phone='850', postalCodeFormat='###-###', postalCodeRegex='^(\\d{6})$', languages=set(['ko-KP']), id=1873107, neighbours=set(['KR', 'CN', 'RU']), equivalentFipsCode=None),
    Country(ISO='KR', ISO3='KOR', ISOnumeric=410, fips='KS', name='South Korea', capital='Seoul', area=98480.0, population=48422644, continent='AS', tld='.kr', currencyCode='KRW', currencyName='Won', phone='82', postalCodeFormat='SEOUL ###-###', postalCodeRegex='^(?:SEOUL)*(\\d{6})$', languages=set(['en', 'ko-KR']), id=1835841, neighbours=set(['KP']), equivalentFipsCode=None),
    Country(ISO='XK', ISO3='XKX', ISOnumeric=0, fips='KV', name='Kosovo', capital='Pristina', area=None, population=1800000, continent='EU', tld=None, currencyCode='EUR', currencyName='Euro', phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=set(['sr', 'sq']), id=831053, neighbours=set(['ME', 'AL', 'MK', 'RS']), equivalentFipsCode=None),
    Country(ISO='KW', ISO3='KWT', ISOnumeric=414, fips='KU', name='Kuwait', capital='Kuwait City', area=17820.0, population=2789132, continent='AS', tld='.kw', currencyCode='KWD', currencyName='Dinar', phone='965', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-KW', 'en']), id=285570, neighbours=set(['IQ', 'SA']), equivalentFipsCode=None),
    Country(ISO='KY', ISO3='CYM', ISOnumeric=136, fips='CJ', name='Cayman Islands', capital='George Town', area=262.0, population=44270, continent='NA', tld='.ky', currencyCode='KYD', currencyName='Dollar', phone='+1-345', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-KY']), id=3580718, neighbours=None, equivalentFipsCode=None),
    Country(ISO='KZ', ISO3='KAZ', ISOnumeric=398, fips='KZ', name='Kazakhstan', capital='Astana', area=2717300.0, population=15340000, continent='AS', tld='.kz', currencyCode='KZT', currencyName='Tenge', phone='7', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['kk', 'ru']), id=1522867, neighbours=set(['RU', 'TM', 'KG', 'CN', 'UZ']), equivalentFipsCode=None),
    Country(ISO='LA', ISO3='LAO', ISOnumeric=418, fips='LA', name='Laos', capital='Vientiane', area=236800.0, population=6368162, continent='AS', tld='.la', currencyCode='LAK', currencyName='Kip', phone='856', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['lo', 'fr', 'en']), id=1655842, neighbours=set(['MM', 'VN', 'KH', 'CN', 'TH']), equivalentFipsCode=None),
    Country(ISO='LB', ISO3='LBN', ISOnumeric=422, fips='LE', name='Lebanon', capital='Beirut', area=10400.0, population=4125247, continent='AS', tld='.lb', currencyCode='LBP', currencyName='Pound', phone='961', postalCodeFormat='#### ####|####', postalCodeRegex='^(\\d{4}(\\d{4})?)$', languages=set(['hy', 'en', 'ar-LB', 'fr-LB']), id=272103, neighbours=set(['SY', 'IL']), equivalentFipsCode=None),
    Country(ISO='LC', ISO3='LCA', ISOnumeric=662, fips='ST', name='Saint Lucia', capital='Castries', area=616.0, population=160922, continent='NA', tld='.lc', currencyCode='XCD', currencyName='Dollar', phone='+1-758', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-LC']), id=3576468, neighbours=None, equivalentFipsCode=None),
    Country(ISO='LI', ISO3='LIE', ISOnumeric=438, fips='LS', name='Liechtenstein', capital='Vaduz', area=160.0, population=35000, continent='EU', tld='.li', currencyCode='CHF', currencyName='Franc', phone='423', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['de-LI']), id=3042058, neighbours=set(['CH', 'AT']), equivalentFipsCode=None),
    Country(ISO='LK', ISO3='LKA', ISOnumeric=144, fips='CE', name='Sri Lanka', capital='Colombo', area=65610.0, population=21513990, continent='AS', tld='.lk', currencyCode='LKR', currencyName='Rupee', phone='94', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['si', 'en', 'ta']), id=1227603, neighbours=None, equivalentFipsCode=None),
    Country(ISO='LR', ISO3='LBR', ISOnumeric=430, fips='LI', name='Liberia', capital='Monrovia', area=111370.0, population=3685076, continent='AF', tld='.lr', currencyCode='LRD', currencyName='Dollar', phone='231', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en-LR']), id=2275384, neighbours=set(['GN', 'CI', 'SL']), equivalentFipsCode=None),
    Country(ISO='LS', ISO3='LSO', ISOnumeric=426, fips='LT', name='Lesotho', capital='Maseru', area=30355.0, population=1919552, continent='AF', tld='.ls', currencyCode='LSL', currencyName='Loti', phone='266', postalCodeFormat='###', postalCodeRegex='^(\\d{3})$', languages=set(['zu', 'xh', 'en-LS', 'st']), id=932692, neighbours=set(['ZA']), equivalentFipsCode=None),
    Country(ISO='LT', ISO3='LTU', ISOnumeric=440, fips='LH', name='Lithuania', capital='Vilnius', area=65200.0, population=2944459, continent='EU', tld='.lt', currencyCode='LTL', currencyName='Litas', phone='370', postalCodeFormat='LT-#####', postalCodeRegex='^(?:LT)*(\\d{5})$', languages=set(['ru', 'lt', 'pl']), id=597427, neighbours=set(['LV', 'RU', 'BY', 'PL']), equivalentFipsCode=None),
    Country(ISO='LU', ISO3='LUX', ISOnumeric=442, fips='LU', name='Luxembourg', capital='Luxembourg', area=2586.0, population=497538, continent='EU', tld='.lu', currencyCode='EUR', currencyName='Euro', phone='352', postalCodeFormat='L-####', postalCodeRegex='^(\\d{4})$', languages=set(['fr-LU', 'de-LU', 'lb']), id=2960313, neighbours=set(['BE', 'FR', 'DE']), equivalentFipsCode=None),
    Country(ISO='LV', ISO3='LVA', ISOnumeric=428, fips='LG', name='Latvia', capital='Riga', area=64589.0, population=2217969, continent='EU', tld='.lv', currencyCode='EUR', currencyName='Euro', phone='371', postalCodeFormat='LV-####', postalCodeRegex='^(?:LV)*(\\d{4})$', languages=set(['lv', 'ru', 'lt']), id=458258, neighbours=set(['EE', 'RU', 'LT', 'BY']), equivalentFipsCode=None),
    Country(ISO='LY', ISO3='LBY', ISOnumeric=434, fips='LY', name='Libya', capital='Tripolis', area=1759540.0, population=6461454, continent='AF', tld='.ly', currencyCode='LYD', currencyName='Dinar', phone='218', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'it', 'ar-LY']), id=2215636, neighbours=set(['EG', 'NE', 'TN', 'DZ', 'TD', 'SD']), equivalentFipsCode=None),
    Country(ISO='MA', ISO3='MAR', ISOnumeric=504, fips='MO', name='Morocco', capital='Rabat', area=446550.0, population=31627428, continent='AF', tld='.ma', currencyCode='MAD', currencyName='Dirham', phone='212', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-MA', 'fr']), id=2542007, neighbours=set(['DZ', 'EH', 'ES']), equivalentFipsCode=None),
    Country(ISO='MC', ISO3='MCO', ISOnumeric=492, fips='MN', name='Monaco', capital='Monaco', area=1.95, population=32965, continent='EU', tld='.mc', currencyCode='EUR', currencyName='Euro', phone='377', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr-MC', 'en', 'it']), id=2993457, neighbours=set(['FR']), equivalentFipsCode=None),
    Country(ISO='MD', ISO3='MDA', ISOnumeric=498, fips='MD', name='Moldova', capital='Chisinau', area=33843.0, population=4324000, continent='EU', tld='.md', currencyCode='MDL', currencyName='Leu', phone='373', postalCodeFormat='MD-####', postalCodeRegex='^(?:MD)*(\\d{4})$', languages=set(['gag', 'ru', 'ro', 'tr']), id=617790, neighbours=set(['RO', 'UA']), equivalentFipsCode=None),
    Country(ISO='ME', ISO3='MNE', ISOnumeric=499, fips='MJ', name='Montenegro', capital='Podgorica', area=14026.0, population=666730, continent='EU', tld='.me', currencyCode='EUR', currencyName='Euro', phone='382', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['rom', 'hr', 'sr', 'sq', 'hu', 'bs']), id=3194884, neighbours=set(['HR', 'XK', 'RS', 'AL', 'BA']), equivalentFipsCode=None),
    Country(ISO='MF', ISO3='MAF', ISOnumeric=663, fips='RN', name='Saint Martin', capital='Marigot', area=53.0, population=35925, continent='NA', tld='.gp', currencyCode='EUR', currencyName='Euro', phone='590', postalCodeFormat='### ###', postalCodeRegex=None, languages=set(['fr']), id=3578421, neighbours=set(['SX']), equivalentFipsCode=None),
    Country(ISO='MG', ISO3='MDG', ISOnumeric=450, fips='MA', name='Madagascar', capital='Antananarivo', area=587040.0, population=21281844, continent='AF', tld='.mg', currencyCode='MGA', currencyName='Ariary', phone='261', postalCodeFormat='###', postalCodeRegex='^(\\d{3})$', languages=set(['mg', 'fr-MG']), id=1062947, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MH', ISO3='MHL', ISOnumeric=584, fips='RM', name='Marshall Islands', capital='Majuro', area=181.3, population=65859, continent='OC', tld='.mh', currencyCode='USD', currencyName='Dollar', phone='692', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-MH', 'mh']), id=2080185, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MK', ISO3='MKD', ISOnumeric=807, fips='MK', name='Macedonia', capital='Skopje', area=25333.0, population=2062294, continent='EU', tld='.mk', currencyCode='MKD', currencyName='Denar', phone='389', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['sr', 'sq', 'tr', 'mk', 'rmm']), id=718075, neighbours=set(['RS', 'BG', 'AL', 'XK', 'GR']), equivalentFipsCode=None),
    Country(ISO='ML', ISO3='MLI', ISOnumeric=466, fips='ML', name='Mali', capital='Bamako', area=1240000.0, population=13796354, continent='AF', tld='.ml', currencyCode='XOF', currencyName='Franc', phone='223', postalCodeFormat=None, postalCodeRegex=None, languages=set(['bm', 'fr-ML']), id=2453866, neighbours=set(['CI', 'NE', 'BF', 'DZ', 'SN', 'MR', 'GN']), equivalentFipsCode=None),
    Country(ISO='MM', ISO3='MMR', ISOnumeric=104, fips='BM', name='Myanmar', capital='Nay Pyi Taw', area=678500.0, population=53414374, continent='AS', tld='.mm', currencyCode='MMK', currencyName='Kyat', phone='95', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['my']), id=1327865, neighbours=set(['BD', 'IN', 'CN', 'TH', 'LA']), equivalentFipsCode=None),
    Country(ISO='MN', ISO3='MNG', ISOnumeric=496, fips='MG', name='Mongolia', capital='Ulan Bator', area=1565000.0, population=3086918, continent='AS', tld='.mn', currencyCode='MNT', currencyName='Tugrik', phone='976', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ru', 'mn']), id=2029969, neighbours=set(['RU', 'CN']), equivalentFipsCode=None),
    Country(ISO='MO', ISO3='MAC', ISOnumeric=446, fips='MC', name='Macao', capital='Macao', area=254.0, population=449198, continent='AS', tld='.mo', currencyCode='MOP', currencyName='Pataca', phone='853', postalCodeFormat=None, postalCodeRegex=None, languages=set(['zh-MO', 'zh', 'pt']), id=1821275, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MP', ISO3='MNP', ISOnumeric=580, fips='CQ', name='Northern Mariana Islands', capital='Saipan', area=477.0, population=53883, continent='OC', tld='.mp', currencyCode='USD', currencyName='Dollar', phone='+1-670', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ch-MP', 'en-MP', 'tl', 'zh', 'fil']), id=4041468, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MQ', ISO3='MTQ', ISOnumeric=474, fips='MB', name='Martinique', capital='Fort-de-France', area=1100.0, population=432900, continent='NA', tld='.mq', currencyCode='EUR', currencyName='Euro', phone='596', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr-MQ']), id=3570311, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MR', ISO3='MRT', ISOnumeric=478, fips='MR', name='Mauritania', capital='Nouakchott', area=1030700.0, population=3205060, continent='AF', tld='.mr', currencyCode='MRO', currencyName='Ouguiya', phone='222', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr', 'wo', 'snk', 'ar-MR', 'fuc', 'mey']), id=2378080, neighbours=set(['ML', 'DZ', 'SN', 'EH']), equivalentFipsCode=None),
    Country(ISO='MS', ISO3='MSR', ISOnumeric=500, fips='MH', name='Montserrat', capital='Plymouth', area=102.0, population=9341, continent='NA', tld='.ms', currencyCode='XCD', currencyName='Dollar', phone='+1-664', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-MS']), id=3578097, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MT', ISO3='MLT', ISOnumeric=470, fips='MT', name='Malta', capital='Valletta', area=316.0, population=403000, continent='EU', tld='.mt', currencyCode='EUR', currencyName='Euro', phone='356', postalCodeFormat='@@@ ###|@@@ ##', postalCodeRegex='^([A-Z]{3}\\d{2}\\d?)$', languages=set(['mt', 'en-MT']), id=2562770, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MU', ISO3='MUS', ISOnumeric=480, fips='MP', name='Mauritius', capital='Port Louis', area=2040.0, population=1294104, continent='AF', tld='.mu', currencyCode='MUR', currencyName='Rupee', phone='230', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr', 'en-MU', 'bho']), id=934292, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MV', ISO3='MDV', ISOnumeric=462, fips='MV', name='Maldives', capital='Male', area=300.0, population=395650, continent='AS', tld='.mv', currencyCode='MVR', currencyName='Rufiyaa', phone='960', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['dv', 'en']), id=1282028, neighbours=None, equivalentFipsCode=None),
    Country(ISO='MW', ISO3='MWI', ISOnumeric=454, fips='MI', name='Malawi', capital='Lilongwe', area=118480.0, population=15447500, continent='AF', tld='.mw', currencyCode='MWK', currencyName='Kwacha', phone='265', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ny', 'yao', 'swk', 'tum']), id=927384, neighbours=set(['ZM', 'TZ', 'MZ']), equivalentFipsCode=None),
    Country(ISO='MX', ISO3='MEX', ISOnumeric=484, fips='MX', name='Mexico', capital='Mexico City', area=1972550.0, population=112468855, continent='NA', tld='.mx', currencyCode='MXN', currencyName='Peso', phone='52', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['es-MX']), id=3996063, neighbours=set(['GT', 'BZ', 'US']), equivalentFipsCode=None),
    Country(ISO='MY', ISO3='MYS', ISOnumeric=458, fips='MY', name='Malaysia', capital='Kuala Lumpur', area=329750.0, population=28274729, continent='AS', tld='.my', currencyCode='MYR', currencyName='Ringgit', phone='60', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['en', 'zh', 'ms-MY', 'ml', 'pa', 'th', 'te', 'ta']), id=1733045, neighbours=set(['BN', 'ID', 'TH']), equivalentFipsCode=None),
    Country(ISO='MZ', ISO3='MOZ', ISOnumeric=508, fips='MZ', name='Mozambique', capital='Maputo', area=801590.0, population=22061451, continent='AF', tld='.mz', currencyCode='MZN', currencyName='Metical', phone='258', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['vmw', 'pt-MZ']), id=1036973, neighbours=set(['SZ', 'TZ', 'ZM', 'ZA', 'MW', 'ZW']), equivalentFipsCode=None),
    Country(ISO='NA', ISO3='NAM', ISOnumeric=516, fips='WA', name='Namibia', capital='Windhoek', area=825418.0, population=2128471, continent='AF', tld='.na', currencyCode='NAD', currencyName='Dollar', phone='264', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-NA', 'hz', 'de', 'naq', 'af']), id=3355338, neighbours=set(['ZM', 'BW', 'ZA', 'AO']), equivalentFipsCode=None),
    Country(ISO='NC', ISO3='NCL', ISOnumeric=540, fips='NC', name='New Caledonia', capital='Noumea', area=19060.0, population=216494, continent='OC', tld='.nc', currencyCode='XPF', currencyName='Franc', phone='687', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr-NC']), id=2139685, neighbours=None, equivalentFipsCode=None),
    Country(ISO='NE', ISO3='NER', ISOnumeric=562, fips='NG', name='Niger', capital='Niamey', area=1267000.0, population=15878271, continent='AF', tld='.ne', currencyCode='XOF', currencyName='Franc', phone='227', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['kr', 'ha', 'fr-NE', 'dje']), id=2440476, neighbours=set(['BF', 'ML', 'BJ', 'NG', 'DZ', 'TD', 'LY']), equivalentFipsCode=None),
    Country(ISO='NF', ISO3='NFK', ISOnumeric=574, fips='NF', name='Norfolk Island', capital='Kingston', area=34.6, population=1828, continent='OC', tld='.nf', currencyCode='AUD', currencyName='Dollar', phone='672', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en-NF']), id=2155115, neighbours=None, equivalentFipsCode=None),
    Country(ISO='NG', ISO3='NGA', ISOnumeric=566, fips='NI', name='Nigeria', capital='Abuja', area=923768.0, population=154000000, continent='AF', tld='.ng', currencyCode='NGN', currencyName='Naira', phone='234', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ig', 'ha', 'yo', 'en-NG', 'ff']), id=2328926, neighbours=set(['TD', 'CM', 'NE', 'BJ']), equivalentFipsCode=None),
    Country(ISO='NI', ISO3='NIC', ISOnumeric=558, fips='NU', name='Nicaragua', capital='Managua', area=129494.0, population=5995928, continent='NA', tld='.ni', currencyCode='NIO', currencyName='Cordoba', phone='505', postalCodeFormat='###-###-#', postalCodeRegex='^(\\d{7})$', languages=set(['es-NI', 'en']), id=3617476, neighbours=set(['CR', 'HN']), equivalentFipsCode=None),
    Country(ISO='NL', ISO3='NLD', ISOnumeric=528, fips='NL', name='Netherlands', capital='Amsterdam', area=41526.0, population=16645000, continent='EU', tld='.nl', currencyCode='EUR', currencyName='Euro', phone='31', postalCodeFormat='#### @@', postalCodeRegex='^(\\d{4}[A-Z]{2})$', languages=set(['nl-NL', 'fy-NL']), id=2750405, neighbours=set(['BE', 'DE']), equivalentFipsCode=None),
    Country(ISO='NO', ISO3='NOR', ISOnumeric=578, fips='NO', name='Norway', capital='Oslo', area=324220.0, population=5009150, continent='EU', tld='.no', currencyCode='NOK', currencyName='Krone', phone='47', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['fi', 'nb', 'se', 'nn', 'no']), id=3144096, neighbours=set(['FI', 'SE', 'RU']), equivalentFipsCode=None),
    Country(ISO='NP', ISO3='NPL', ISOnumeric=524, fips='NP', name='Nepal', capital='Kathmandu', area=140800.0, population=28951852, continent='AS', tld='.np', currencyCode='NPR', currencyName='Rupee', phone='977', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['en', 'ne']), id=1282988, neighbours=set(['CN', 'IN']), equivalentFipsCode=None),
    Country(ISO='NR', ISO3='NRU', ISOnumeric=520, fips='NR', name='Nauru', capital='Yaren', area=21.0, population=10065, continent='OC', tld='.nr', currencyCode='AUD', currencyName='Dollar', phone='674', postalCodeFormat=None, postalCodeRegex=None, languages=set(['na', 'en-NR']), id=2110425, neighbours=None, equivalentFipsCode=None),
    Country(ISO='NU', ISO3='NIU', ISOnumeric=570, fips='NE', name='Niue', capital='Alofi', area=260.0, population=2166, continent='OC', tld='.nu', currencyCode='NZD', currencyName='Dollar', phone='683', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-NU', 'niu']), id=4036232, neighbours=None, equivalentFipsCode=None),
    Country(ISO='NZ', ISO3='NZL', ISOnumeric=554, fips='NZ', name='New Zealand', capital='Wellington', area=268680.0, population=4252277, continent='OC', tld='.nz', currencyCode='NZD', currencyName='Dollar', phone='64', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['en-NZ', 'mi']), id=2186224, neighbours=None, equivalentFipsCode=None),
    Country(ISO='OM', ISO3='OMN', ISOnumeric=512, fips='MU', name='Oman', capital='Muscat', area=212460.0, population=2967717, continent='AS', tld='.om', currencyCode='OMR', currencyName='Rial', phone='968', postalCodeFormat='###', postalCodeRegex='^(\\d{3})$', languages=set(['bal', 'en', 'ur', 'ar-OM']), id=286963, neighbours=set(['AE', 'SA', 'YE']), equivalentFipsCode=None),
    Country(ISO='PA', ISO3='PAN', ISOnumeric=591, fips='PM', name='Panama', capital='Panama City', area=78200.0, population=3410676, continent='NA', tld='.pa', currencyCode='PAB', currencyName='Balboa', phone='507', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'es-PA']), id=3703430, neighbours=set(['CR', 'CO']), equivalentFipsCode=None),
    Country(ISO='PE', ISO3='PER', ISOnumeric=604, fips='PE', name='Peru', capital='Lima', area=1285220.0, population=29907003, continent='SA', tld='.pe', currencyCode='PEN', currencyName='Sol', phone='51', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ay', 'es-PE', 'qu']), id=3932488, neighbours=set(['BO', 'CO', 'BR', 'EC', 'CL']), equivalentFipsCode=None),
    Country(ISO='PF', ISO3='PYF', ISOnumeric=258, fips='FP', name='French Polynesia', capital='Papeete', area=4167.0, population=270485, continent='OC', tld='.pf', currencyCode='XPF', currencyName='Franc', phone='689', postalCodeFormat='#####', postalCodeRegex='^((97|98)7\\d{2})$', languages=set(['fr-PF', 'ty']), id=4030656, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PG', ISO3='PNG', ISOnumeric=598, fips='PP', name='Papua New Guinea', capital='Port Moresby', area=462840.0, population=6064515, continent='OC', tld='.pg', currencyCode='PGK', currencyName='Kina', phone='675', postalCodeFormat='###', postalCodeRegex='^(\\d{3})$', languages=set(['meu', 'en-PG', 'ho', 'tpi']), id=2088628, neighbours=set(['ID']), equivalentFipsCode=None),
    Country(ISO='PH', ISO3='PHL', ISOnumeric=608, fips='RP', name='Philippines', capital='Manila', area=300000.0, population=99900177, continent='AS', tld='.ph', currencyCode='PHP', currencyName='Peso', phone='63', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['tl', 'en-PH', 'fil']), id=1694008, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PK', ISO3='PAK', ISOnumeric=586, fips='PK', name='Pakistan', capital='Islamabad', area=803940.0, population=184404791, continent='AS', tld='.pk', currencyCode='PKR', currencyName='Rupee', phone='92', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['en-PK', 'ps', 'ur-PK', 'pa', 'brh', 'sd']), id=1168579, neighbours=set(['IR', 'CN', 'IN', 'AF']), equivalentFipsCode=None),
    Country(ISO='PL', ISO3='POL', ISOnumeric=616, fips='PL', name='Poland', capital='Warsaw', area=312685.0, population=38500000, continent='EU', tld='.pl', currencyCode='PLN', currencyName='Zloty', phone='48', postalCodeFormat='##-###', postalCodeRegex='^(\\d{5})$', languages=set(['pl']), id=798544, neighbours=set(['RU', 'DE', 'SK', 'CZ', 'LT', 'UA', 'BY']), equivalentFipsCode=None),
    Country(ISO='PM', ISO3='SPM', ISOnumeric=666, fips='SB', name='Saint Pierre and Miquelon', capital='Saint-Pierre', area=242.0, population=7012, continent='NA', tld='.pm', currencyCode='EUR', currencyName='Euro', phone='508', postalCodeFormat='#####', postalCodeRegex='^(97500)$', languages=set(['fr-PM']), id=3424932, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PN', ISO3='PCN', ISOnumeric=612, fips='PC', name='Pitcairn', capital='Adamstown', area=47.0, population=46, continent='OC', tld='.pn', currencyCode='NZD', currencyName='Dollar', phone='870', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-PN']), id=4030699, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PR', ISO3='PRI', ISOnumeric=630, fips='RQ', name='Puerto Rico', capital='San Juan', area=9104.0, population=3916632, continent='NA', tld='.pr', currencyCode='USD', currencyName='Dollar', phone='+1-787 and 1-939', postalCodeFormat='#####-####', postalCodeRegex='^(\\d{9})$', languages=set(['en-PR', 'es-PR']), id=4566966, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PS', ISO3='PSE', ISOnumeric=275, fips='WE', name='Palestinian Territory', capital='East Jerusalem', area=5970.0, population=3800000, continent='AS', tld='.ps', currencyCode='ILS', currencyName='Shekel', phone='970', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar-PS']), id=6254930, neighbours=set(['EG', 'JO', 'IL']), equivalentFipsCode=None),
    Country(ISO='PT', ISO3='PRT', ISOnumeric=620, fips='PO', name='Portugal', capital='Lisbon', area=92391.0, population=10676000, continent='EU', tld='.pt', currencyCode='EUR', currencyName='Euro', phone='351', postalCodeFormat='####-###', postalCodeRegex='^(\\d{7})$', languages=set(['pt-PT', 'mwl']), id=2264397, neighbours=set(['ES']), equivalentFipsCode=None),
    Country(ISO='PW', ISO3='PLW', ISOnumeric=585, fips='PS', name='Palau', capital='Melekeok', area=458.0, population=19907, continent='OC', tld='.pw', currencyCode='USD', currencyName='Dollar', phone='680', postalCodeFormat='96940', postalCodeRegex='^(96940)$', languages=set(['tox', 'zh', 'pau', 'sov', 'en-PW', 'ja', 'fil']), id=1559582, neighbours=None, equivalentFipsCode=None),
    Country(ISO='PY', ISO3='PRY', ISOnumeric=600, fips='PA', name='Paraguay', capital='Asuncion', area=406750.0, population=6375830, continent='SA', tld='.py', currencyCode='PYG', currencyName='Guarani', phone='595', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['gn', 'es-PY']), id=3437598, neighbours=set(['BO', 'AR', 'BR']), equivalentFipsCode=None),
    Country(ISO='QA', ISO3='QAT', ISOnumeric=634, fips='QA', name='Qatar', capital='Doha', area=11437.0, population=840926, continent='AS', tld='.qa', currencyCode='QAR', currencyName='Rial', phone='974', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar-QA', 'es']), id=289688, neighbours=set(['SA']), equivalentFipsCode=None),
    Country(ISO='RE', ISO3='REU', ISOnumeric=638, fips='RE', name='Reunion', capital='Saint-Denis', area=2517.0, population=776948, continent='AF', tld='.re', currencyCode='EUR', currencyName='Euro', phone='262', postalCodeFormat='#####', postalCodeRegex='^((97|98)(4|7|8)\\d{2})$', languages=set(['fr-RE']), id=935317, neighbours=None, equivalentFipsCode=None),
    Country(ISO='RO', ISO3='ROU', ISOnumeric=642, fips='RO', name='Romania', capital='Bucharest', area=237500.0, population=21959278, continent='EU', tld='.ro', currencyCode='RON', currencyName='Leu', phone='40', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ro', 'rom', 'hu']), id=798549, neighbours=set(['RS', 'MD', 'BG', 'UA', 'HU']), equivalentFipsCode=None),
    Country(ISO='RS', ISO3='SRB', ISOnumeric=688, fips='RI', name='Serbia', capital='Belgrade', area=88361.0, population=7344847, continent='EU', tld='.rs', currencyCode='RSD', currencyName='Dinar', phone='381', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['sr', 'bs', 'rom', 'hu']), id=6290252, neighbours=set(['ME', 'XK', 'BG', 'BA', 'HR', 'AL', 'MK', 'HU', 'RO']), equivalentFipsCode=None),
    Country(ISO='RU', ISO3='RUS', ISOnumeric=643, fips='RS', name='Russia', capital='Moscow', area=17100000.0, population=140702000, continent='EU', tld='.ru', currencyCode='RUB', currencyName='Ruble', phone='7', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['sah', 'mns', 'mdf', 'ce', 'myv', 'inh', 'ava', 'ru', 'tt', 'chm', 'ady', 'xal', 'ba', 'nog', 'tut', 'cv', 'kbd', 'tyv', 'bua', 'udm', 'cau', 'kv', 'krc']), id=2017370, neighbours=set(['CN', 'NO', 'EE', 'MN', 'LT', 'LV', 'GE', 'KP', 'FI', 'KZ', 'AZ', 'UA', 'BY', 'PL']), equivalentFipsCode=None),
    Country(ISO='RW', ISO3='RWA', ISOnumeric=646, fips='RW', name='Rwanda', capital='Kigali', area=26338.0, population=11055976, continent='AF', tld='.rw', currencyCode='RWF', currencyName='Franc', phone='250', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-RW', 'rw', 'sw', 'fr-RW']), id=49518, neighbours=set(['UG', 'TZ', 'BI', 'CD']), equivalentFipsCode=None),
    Country(ISO='SA', ISO3='SAU', ISOnumeric=682, fips='SA', name='Saudi Arabia', capital='Riyadh', area=1960582.0, population=25731776, continent='AS', tld='.sa', currencyCode='SAR', currencyName='Rial', phone='966', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ar-SA']), id=102358, neighbours=set(['OM', 'AE', 'IQ', 'YE', 'QA', 'JO', 'KW']), equivalentFipsCode=None),
    Country(ISO='SB', ISO3='SLB', ISOnumeric=90, fips='BP', name='Solomon Islands', capital='Honiara', area=28450.0, population=559198, continent='OC', tld='.sb', currencyCode='SBD', currencyName='Dollar', phone='677', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-SB', 'tpi']), id=2103350, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SC', ISO3='SYC', ISOnumeric=690, fips='SE', name='Seychelles', capital='Victoria', area=455.0, population=88340, continent='AF', tld='.sc', currencyCode='SCR', currencyName='Rupee', phone='248', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-SC', 'en-SC']), id=241170, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SD', ISO3='SDN', ISOnumeric=729, fips='SU', name='Sudan', capital='Khartoum', area=1861484.0, population=35000000, continent='AF', tld='.sd', currencyCode='SDG', currencyName='Pound', phone='249', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fia', 'ar-SD', 'en']), id=366755, neighbours=set(['SS', 'EG', 'CF', 'ET', 'TD', 'ER', 'LY']), equivalentFipsCode=None),
    Country(ISO='SS', ISO3='SSD', ISOnumeric=728, fips='OD', name='South Sudan', capital='Juba', area=644329.0, population=8260490, continent='AF', tld=None, currencyCode='SSP', currencyName='Pound', phone='211', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en']), id=7909807, neighbours=set(['', 'KE', 'CF', 'CD', 'ET', 'UG', 'SD']), equivalentFipsCode=None),
    Country(ISO='SE', ISO3='SWE', ISOnumeric=752, fips='SW', name='Sweden', capital='Stockholm', area=449964.0, population=9555893, continent='EU', tld='.se', currencyCode='SEK', currencyName='Krona', phone='46', postalCodeFormat='### ##', postalCodeRegex='^(?:SE)*(\\d{5})$', languages=set(['sv-SE', 'sma', 'se', 'fi-SE']), id=2661886, neighbours=set(['FI', 'NO']), equivalentFipsCode=None),
    Country(ISO='SG', ISO3='SGP', ISOnumeric=702, fips='SN', name='Singapore', capital='Singapur', area=692.7, population=4701069, continent='AS', tld='.sg', currencyCode='SGD', currencyName='Dollar', phone='65', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['zh-SG', 'cmn', 'ms-SG', 'ta-SG', 'en-SG']), id=1880251, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SH', ISO3='SHN', ISOnumeric=654, fips='SH', name='Saint Helena', capital='Jamestown', area=410.0, population=7460, continent='AF', tld='.sh', currencyCode='SHP', currencyName='Pound', phone='290', postalCodeFormat='STHL 1ZZ', postalCodeRegex='^(STHL1ZZ)$', languages=set(['en-SH']), id=3370751, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SI', ISO3='SVN', ISOnumeric=705, fips='SI', name='Slovenia', capital='Ljubljana', area=20273.0, population=2007000, continent='EU', tld='.si', currencyCode='EUR', currencyName='Euro', phone='386', postalCodeFormat='####', postalCodeRegex='^(?:SI)*(\\d{4})$', languages=set(['sh', 'sl']), id=3190538, neighbours=set(['HR', 'AT', 'IT', 'HU']), equivalentFipsCode=None),
    Country(ISO='SJ', ISO3='SJM', ISOnumeric=744, fips='SV', name='Svalbard and Jan Mayen', capital='Longyearbyen', area=62049.0, population=2550, continent='EU', tld='.sj', currencyCode='NOK', currencyName='Krone', phone='47', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ru', 'no']), id=607072, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SK', ISO3='SVK', ISOnumeric=703, fips='LO', name='Slovakia', capital='Bratislava', area=48845.0, population=5455000, continent='EU', tld='.sk', currencyCode='EUR', currencyName='Euro', phone='421', postalCodeFormat='### ##', postalCodeRegex='^(\\d{5})$', languages=set(['sk', 'hu']), id=3057568, neighbours=set(['CZ', 'UA', 'AT', 'PL', 'HU']), equivalentFipsCode=None),
    Country(ISO='SL', ISO3='SLE', ISOnumeric=694, fips='SL', name='Sierra Leone', capital='Freetown', area=71740.0, population=5245695, continent='AF', tld='.sl', currencyCode='SLL', currencyName='Leone', phone='232', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-SL', 'men', 'tem']), id=2403846, neighbours=set(['GN', 'LR']), equivalentFipsCode=None),
    Country(ISO='SM', ISO3='SMR', ISOnumeric=674, fips='SM', name='San Marino', capital='San Marino', area=61.2, population=31477, continent='EU', tld='.sm', currencyCode='EUR', currencyName='Euro', phone='378', postalCodeFormat='4789#', postalCodeRegex='^(4789\\d)$', languages=set(['it-SM']), id=3168068, neighbours=set(['IT']), equivalentFipsCode=None),
    Country(ISO='SN', ISO3='SEN', ISOnumeric=686, fips='SG', name='Senegal', capital='Dakar', area=196190.0, population=12323252, continent='AF', tld='.sn', currencyCode='XOF', currencyName='Franc', phone='221', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['wo', 'mnk', 'fuc', 'fr-SN']), id=2245662, neighbours=set(['GW', 'GN', 'GM', 'ML', 'MR']), equivalentFipsCode=None),
    Country(ISO='SO', ISO3='SOM', ISOnumeric=706, fips='SO', name='Somalia', capital='Mogadishu', area=637657.0, population=10112453, continent='AF', tld='.so', currencyCode='SOS', currencyName='Shilling', phone='252', postalCodeFormat='@@  #####', postalCodeRegex='^([A-Z]{2}\\d{5})$', languages=set(['so-SO', 'ar-SO', 'it', 'en-SO']), id=51537, neighbours=set(['ET', 'DJ', 'KE']), equivalentFipsCode=None),
    Country(ISO='SR', ISO3='SUR', ISOnumeric=740, fips='NS', name='Suriname', capital='Paramaribo', area=163270.0, population=492829, continent='SA', tld='.sr', currencyCode='SRD', currencyName='Dollar', phone='597', postalCodeFormat=None, postalCodeRegex=None, languages=set(['jv', 'hns', 'en', 'srn', 'nl-SR']), id=3382998, neighbours=set(['GF', 'BR', 'GY']), equivalentFipsCode=None),
    Country(ISO='ST', ISO3='STP', ISOnumeric=678, fips='TP', name='Sao Tome and Principe', capital='Sao Tome', area=1001.0, population=175808, continent='AF', tld='.st', currencyCode='STD', currencyName='Dobra', phone='239', postalCodeFormat=None, postalCodeRegex=None, languages=set(['pt-ST']), id=2410758, neighbours=None, equivalentFipsCode=None),
    Country(ISO='SV', ISO3='SLV', ISOnumeric=222, fips='ES', name='El Salvador', capital='San Salvador', area=21040.0, population=6052064, continent='NA', tld='.sv', currencyCode='USD', currencyName='Dollar', phone='503', postalCodeFormat='CP ####', postalCodeRegex='^(?:CP)*(\\d{4})$', languages=set(['es-SV']), id=3585968, neighbours=set(['GT', 'HN']), equivalentFipsCode=None),
    Country(ISO='SX', ISO3='SXM', ISOnumeric=534, fips='NN', name='Sint Maarten', capital='Philipsburg', area=None, population=37429, continent='NA', tld='.sx', currencyCode='ANG', currencyName='Guilder', phone='599', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'nl']), id=7609695, neighbours=set(['MF']), equivalentFipsCode=None),
    Country(ISO='SY', ISO3='SYR', ISOnumeric=760, fips='SY', name='Syria', capital='Damascus', area=185180.0, population=22198110, continent='AS', tld='.sy', currencyCode='SYP', currencyName='Pound', phone='963', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr', 'hy', 'ar-SY', 'arc', 'en', 'ku']), id=163843, neighbours=set(['IQ', 'LB', 'JO', 'TR', 'IL']), equivalentFipsCode=None),
    Country(ISO='SZ', ISO3='SWZ', ISOnumeric=748, fips='WZ', name='Swaziland', capital='Mbabane', area=17363.0, population=1354051, continent='AF', tld='.sz', currencyCode='SZL', currencyName='Lilangeni', phone='268', postalCodeFormat='@###', postalCodeRegex='^([A-Z]\\d{3})$', languages=set(['ss-SZ', 'en-SZ']), id=934841, neighbours=set(['ZA', 'MZ']), equivalentFipsCode=None),
    Country(ISO='TC', ISO3='TCA', ISOnumeric=796, fips='TK', name='Turks and Caicos Islands', capital='Cockburn Town', area=430.0, population=20556, continent='NA', tld='.tc', currencyCode='USD', currencyName='Dollar', phone='+1-649', postalCodeFormat='TKCA 1ZZ', postalCodeRegex='^(TKCA 1ZZ)$', languages=set(['en-TC']), id=3576916, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TD', ISO3='TCD', ISOnumeric=148, fips='CD', name='Chad', capital="N'Djamena", area=1284000.0, population=10543464, continent='AF', tld='.td', currencyCode='XAF', currencyName='Franc', phone='235', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-TD', 'ar-TD', 'sre']), id=2434508, neighbours=set(['CM', 'NE', 'NG', 'CF', 'LY', 'SD']), equivalentFipsCode=None),
    Country(ISO='TF', ISO3='ATF', ISOnumeric=260, fips='FS', name='French Southern Territories', capital='Port-aux-Francais', area=7829.0, population=140, continent='AN', tld='.tf', currencyCode='EUR', currencyName='Euro', phone=None, postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr']), id=1546748, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TG', ISO3='TGO', ISOnumeric=768, fips='TO', name='Togo', capital='Lome', area=56785.0, population=6587239, continent='AF', tld='.tg', currencyCode='XOF', currencyName='Franc', phone='228', postalCodeFormat=None, postalCodeRegex=None, languages=set(['hna', 'ha', 'ee', 'dag', 'kbp', 'fr-TG']), id=2363686, neighbours=set(['BF', 'BJ', 'GH']), equivalentFipsCode=None),
    Country(ISO='TH', ISO3='THA', ISOnumeric=764, fips='TH', name='Thailand', capital='Bangkok', area=514000.0, population=67089500, continent='AS', tld='.th', currencyCode='THB', currencyName='Baht', phone='66', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['en', 'th']), id=1605651, neighbours=set(['MM', 'KH', 'MY', 'LA']), equivalentFipsCode=None),
    Country(ISO='TJ', ISO3='TJK', ISOnumeric=762, fips='TI', name='Tajikistan', capital='Dushanbe', area=143100.0, population=7487489, continent='AS', tld='.tj', currencyCode='TJS', currencyName='Somoni', phone='992', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['tg', 'ru']), id=1220409, neighbours=set(['UZ', 'KG', 'CN', 'AF']), equivalentFipsCode=None),
    Country(ISO='TK', ISO3='TKL', ISOnumeric=772, fips='TL', name='Tokelau', capital=None, area=10.0, population=1466, continent='OC', tld='.tk', currencyCode='NZD', currencyName='Dollar', phone='690', postalCodeFormat=None, postalCodeRegex=None, languages=set(['tkl', 'en-TK']), id=4031074, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TL', ISO3='TLS', ISOnumeric=626, fips='TT', name='East Timor', capital='Dili', area=15007.0, population=1154625, continent='OC', tld='.tl', currencyCode='USD', currencyName='Dollar', phone='670', postalCodeFormat=None, postalCodeRegex=None, languages=set(['pt-TL', 'en', 'tet', 'id']), id=1966436, neighbours=set(['ID']), equivalentFipsCode=None),
    Country(ISO='TM', ISO3='TKM', ISOnumeric=795, fips='TX', name='Turkmenistan', capital='Ashgabat', area=488100.0, population=4940916, continent='AS', tld='.tm', currencyCode='TMT', currencyName='Manat', phone='993', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ru', 'tk', 'uz']), id=1218197, neighbours=set(['UZ', 'KZ', 'IR', 'AF']), equivalentFipsCode=None),
    Country(ISO='TN', ISO3='TUN', ISOnumeric=788, fips='TS', name='Tunisia', capital='Tunis', area=163610.0, population=10589025, continent='AF', tld='.tn', currencyCode='TND', currencyName='Dinar', phone='216', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['ar-TN', 'fr']), id=2464461, neighbours=set(['DZ', 'LY']), equivalentFipsCode=None),
    Country(ISO='TO', ISO3='TON', ISOnumeric=776, fips='TN', name='Tonga', capital="Nuku'alofa", area=748.0, population=122580, continent='OC', tld='.to', currencyCode='TOP', currencyName="Pa'anga", phone='676', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-TO', 'to']), id=4032283, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TR', ISO3='TUR', ISOnumeric=792, fips='TU', name='Turkey', capital='Ankara', area=780580.0, population=77804122, continent='AS', tld='.tr', currencyCode='TRY', currencyName='Lira', phone='90', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['az', 'tr-TR', 'diq', 'ku', 'av']), id=298795, neighbours=set(['SY', 'BG', 'GR', 'IQ', 'IR', 'AM', 'GE', 'AZ']), equivalentFipsCode=None),
    Country(ISO='TT', ISO3='TTO', ISOnumeric=780, fips='TD', name='Trinidad and Tobago', capital='Port of Spain', area=5128.0, population=1228691, continent='NA', tld='.tt', currencyCode='TTD', currencyName='Dollar', phone='+1-868', postalCodeFormat=None, postalCodeRegex=None, languages=set(['hns', 'en-TT', 'zh', 'fr', 'es']), id=3573591, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TV', ISO3='TUV', ISOnumeric=798, fips='TV', name='Tuvalu', capital='Funafuti', area=26.0, population=10472, continent='OC', tld='.tv', currencyCode='AUD', currencyName='Dollar', phone='688', postalCodeFormat=None, postalCodeRegex=None, languages=set(['tvl', 'en', 'sm', 'gil']), id=2110297, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TW', ISO3='TWN', ISOnumeric=158, fips='TW', name='Taiwan', capital='Taipei', area=35980.0, population=22894384, continent='AS', tld='.tw', currencyCode='TWD', currencyName='Dollar', phone='886', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['zh-TW', 'nan', 'zh', 'hak']), id=1668284, neighbours=None, equivalentFipsCode=None),
    Country(ISO='TZ', ISO3='TZA', ISOnumeric=834, fips='TZ', name='Tanzania', capital='Dodoma', area=945087.0, population=41892895, continent='AF', tld='.tz', currencyCode='TZS', currencyName='Shilling', phone='255', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar', 'en', 'sw-TZ']), id=149590, neighbours=set(['ZM', 'RW', 'KE', 'BI', 'CD', 'MW', 'UG', 'MZ']), equivalentFipsCode=None),
    Country(ISO='UA', ISO3='UKR', ISOnumeric=804, fips='UP', name='Ukraine', capital='Kiev', area=603700.0, population=45415596, continent='EU', tld='.ua', currencyCode='UAH', currencyName='Hryvnia', phone='380', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['hu', 'pl', 'rom', 'uk', 'ru-UA']), id=690791, neighbours=set(['MD', 'RU', 'HU', 'SK', 'RO', 'BY', 'PL']), equivalentFipsCode=None),
    Country(ISO='UG', ISO3='UGA', ISOnumeric=800, fips='UG', name='Uganda', capital='Kampala', area=236040.0, population=33398682, continent='AF', tld='.ug', currencyCode='UGX', currencyName='Shilling', phone='256', postalCodeFormat=None, postalCodeRegex=None, languages=set(['lg', 'ar', 'sw', 'en-UG']), id=226074, neighbours=set(['SS', 'RW', 'TZ', 'KE', 'CD']), equivalentFipsCode=None),
    Country(ISO='UM', ISO3='UMI', ISOnumeric=581, fips=None, name='United States Minor Outlying Islands', capital=None, area=0.0, population=0, continent='OC', tld='.um', currencyCode='USD', currencyName='Dollar', phone='1', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-UM']), id=5854968, neighbours=None, equivalentFipsCode=None),
    Country(ISO='US', ISO3='USA', ISOnumeric=840, fips='US', name='United States', capital='Washington', area=9629091.0, population=310232863, continent='NA', tld='.us', currencyCode='USD', currencyName='Dollar', phone='1', postalCodeFormat='#####-####', postalCodeRegex='^\\d{5}(-\\d{4})?$', languages=set(['fr', 'en-US', 'es-US', 'haw']), id=6252001, neighbours=set(['CA', 'MX', 'CU']), equivalentFipsCode=None),
    Country(ISO='UY', ISO3='URY', ISOnumeric=858, fips='UY', name='Uruguay', capital='Montevideo', area=176220.0, population=3477000, continent='SA', tld='.uy', currencyCode='UYU', currencyName='Peso', phone='598', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['es-UY']), id=3439705, neighbours=set(['AR', 'BR']), equivalentFipsCode=None),
    Country(ISO='UZ', ISO3='UZB', ISOnumeric=860, fips='UZ', name='Uzbekistan', capital='Tashkent', area=447400.0, population=27865738, continent='AS', tld='.uz', currencyCode='UZS', currencyName='Som', phone='998', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['ru', 'tg', 'uz']), id=1512440, neighbours=set(['TJ', 'KZ', 'TM', 'KG', 'AF']), equivalentFipsCode=None),
    Country(ISO='VA', ISO3='VAT', ISOnumeric=336, fips='VT', name='Vatican', capital='Vatican City', area=0.44, population=921, continent='EU', tld='.va', currencyCode='EUR', currencyName='Euro', phone='379', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr', 'it', 'la']), id=3164670, neighbours=set(['IT']), equivalentFipsCode=None),
    Country(ISO='VC', ISO3='VCT', ISOnumeric=670, fips='VC', name='Saint Vincent and the Grenadines', capital='Kingstown', area=389.0, population=104217, continent='NA', tld='.vc', currencyCode='XCD', currencyName='Dollar', phone='+1-784', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-VC', 'fr']), id=3577815, neighbours=None, equivalentFipsCode=None),
    Country(ISO='VE', ISO3='VEN', ISOnumeric=862, fips='VE', name='Venezuela', capital='Caracas', area=912050.0, population=27223228, continent='SA', tld='.ve', currencyCode='VEF', currencyName='Bolivar', phone='58', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['es-VE']), id=3625428, neighbours=set(['CO', 'BR', 'GY']), equivalentFipsCode=None),
    Country(ISO='VG', ISO3='VGB', ISOnumeric=92, fips='VI', name='British Virgin Islands', capital='Road Town', area=153.0, population=21730, continent='NA', tld='.vg', currencyCode='USD', currencyName='Dollar', phone='+1-284', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-VG']), id=3577718, neighbours=None, equivalentFipsCode=None),
    Country(ISO='VI', ISO3='VIR', ISOnumeric=850, fips='VQ', name='U.S. Virgin Islands', capital='Charlotte Amalie', area=352.0, population=108708, continent='NA', tld='.vi', currencyCode='USD', currencyName='Dollar', phone='+1-340', postalCodeFormat='#####-####', postalCodeRegex='^\\d{5}(-\\d{4})?$', languages=set(['en-VI']), id=4796775, neighbours=None, equivalentFipsCode=None),
    Country(ISO='VN', ISO3='VNM', ISOnumeric=704, fips='VM', name='Vietnam', capital='Hanoi', area=329560.0, population=89571130, continent='AS', tld='.vn', currencyCode='VND', currencyName='Dong', phone='84', postalCodeFormat='######', postalCodeRegex='^(\\d{6})$', languages=set(['vi', 'fr', 'en', 'zh', 'km']), id=1562822, neighbours=set(['KH', 'CN', 'LA']), equivalentFipsCode=None),
    Country(ISO='VU', ISO3='VUT', ISOnumeric=548, fips='NH', name='Vanuatu', capital='Port Vila', area=12200.0, population=221552, continent='OC', tld='.vu', currencyCode='VUV', currencyName='Vatu', phone='678', postalCodeFormat=None, postalCodeRegex=None, languages=set(['fr-VU', 'en-VU', 'bi']), id=2134431, neighbours=None, equivalentFipsCode=None),
    Country(ISO='WF', ISO3='WLF', ISOnumeric=876, fips='WF', name='Wallis and Futuna', capital='Mata Utu', area=274.0, population=16025, continent='OC', tld='.wf', currencyCode='XPF', currencyName='Franc', phone='681', postalCodeFormat='#####', postalCodeRegex='^(986\\d{2})$', languages=set(['fr-WF', 'fud', 'wls']), id=4034749, neighbours=None, equivalentFipsCode=None),
    Country(ISO='WS', ISO3='WSM', ISOnumeric=882, fips='WS', name='Samoa', capital='Apia', area=2944.0, population=192001, continent='OC', tld='.ws', currencyCode='WST', currencyName='Tala', phone='685', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-WS', 'sm']), id=4034894, neighbours=None, equivalentFipsCode=None),
    Country(ISO='YE', ISO3='YEM', ISOnumeric=887, fips='YM', name='Yemen', capital='Sanaa', area=527970.0, population=23495361, continent='AS', tld='.ye', currencyCode='YER', currencyName='Rial', phone='967', postalCodeFormat=None, postalCodeRegex=None, languages=set(['ar-YE']), id=69543, neighbours=set(['SA', 'OM']), equivalentFipsCode=None),
    Country(ISO='YT', ISO3='MYT', ISOnumeric=175, fips='MF', name='Mayotte', capital='Mamoudzou', area=374.0, population=159042, continent='AF', tld='.yt', currencyCode='EUR', currencyName='Euro', phone='262', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['fr-YT']), id=1024031, neighbours=None, equivalentFipsCode=None),
    Country(ISO='ZA', ISO3='ZAF', ISOnumeric=710, fips='SF', name='South Africa', capital='Pretoria', area=1219912.0, population=49000000, continent='AF', tld='.za', currencyCode='ZAR', currencyName='Rand', phone='27', postalCodeFormat='####', postalCodeRegex='^(\\d{4})$', languages=set(['xh', 've', 'nso', 'ss', 'af', 'ts', 'st', 'tn', 'en-ZA', 'zu', 'nr']), id=953987, neighbours=set(['SZ', 'NA', 'BW', 'LS', 'ZW', 'MZ']), equivalentFipsCode=None),
    Country(ISO='ZM', ISO3='ZMB', ISOnumeric=894, fips='ZA', name='Zambia', capital='Lusaka', area=752614.0, population=13460305, continent='AF', tld='.zm', currencyCode='ZMW', currencyName='Kwacha', phone='260', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['ny', 'bem', 'loz', 'toi', 'lue', 'en-ZM', 'lun']), id=895949, neighbours=set(['TZ', 'NA', 'AO', 'CD', 'MW', 'ZW', 'MZ']), equivalentFipsCode=None),
    Country(ISO='ZW', ISO3='ZWE', ISOnumeric=716, fips='ZI', name='Zimbabwe', capital='Harare', area=390580.0, population=11651858, continent='AF', tld='.zw', currencyCode='ZWL', currencyName='Dollar', phone='263', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en-ZW', 'nd', 'sn', 'nr']), id=878675, neighbours=set(['ZM', 'BW', 'ZA', 'MZ']), equivalentFipsCode=None),
    Country(ISO='CS', ISO3='SCG', ISOnumeric=891, fips='YI', name='Serbia and Montenegro', capital='Belgrade', area=102350.0, population=10829175, continent='EU', tld='.cs', currencyCode='RSD', currencyName='Dinar', phone='381', postalCodeFormat='#####', postalCodeRegex='^(\\d{5})$', languages=set(['sr', 'sq', 'cu', 'hu']), id=None, neighbours=set(['BG', 'BA', 'HR', 'AL', 'MK', 'HU', 'RO']), equivalentFipsCode=None),
    Country(ISO='AN', ISO3='ANT', ISOnumeric=530, fips='NT', name='Netherlands Antilles', capital='Willemstad', area=960.0, population=136197, continent='NA', tld='.an', currencyCode='ANG', currencyName='Guilder', phone='599', postalCodeFormat=None, postalCodeRegex=None, languages=set(['en', 'es', 'nl-AN']), id=None, neighbours=set(['GP']), equivalentFipsCode=None),
]


countriesById = {c.id: c for c in countries}


def get2LetterCodeById(id):
    """Get country 2LetterCode by Id"""
    return countriesById[int(id)].ISO


def get3LetterCodeById(id):
    """Get country 3LetterCode by Id"""
    return countriesById[int(id)].ISO3


def getNameById(id):
    """Get country Name by Id"""
    return countriesById[int(id)].name


countriesByName = {c.name: c for c in countries}


def get2LetterCodeByName(name):
    """Get country 2LetterCode by Name"""
    return countriesByName[name].ISO


def get3LetterCodeByName(name):
    """Get country 3LetterCode by Name"""
    return countriesByName[name].ISO3


def getIdByName(name):
    """Get country Id by Name"""
    return countriesByName[name].id


countriesBy2LetterCode = {c.ISO: c for c in countries}


def get3LetterCodeBy2LetterCode(ISO):
    """Get country 3LetterCode by 2LetterCode"""
    return countriesBy2LetterCode[ISO].ISO3


def getIdBy2LetterCode(ISO):
    """Get country Id by 2LetterCode"""
    return countriesBy2LetterCode[ISO].id


def getNameBy2LetterCode(ISO):
    """Get country Name by 2LetterCode"""
    return countriesBy2LetterCode[ISO].name


countriesBy3LetterCode = {c.ISO3: c for c in countries}


def get2LetterCodeBy3LetterCode(ISO3):
    """Get country 2LetterCode by 3LetterCode"""
    return countriesBy3LetterCode[ISO3].ISO


def getIdBy3LetterCode(ISO3):
    """Get country Id by 3LetterCode"""
    return countriesBy3LetterCode[ISO3].id


def getNameBy3LetterCode(ISO3):
    """Get country Name by 3LetterCode"""
    return countriesBy3LetterCode[ISO3].name
