ip2location_ruby 8.8.0 → 8.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25bcf30ad8b3df703b3f9e60869c7bf3964caff22bb6a32c078e771ae4fcea8d
4
- data.tar.gz: e59e3569acacb0d262ebf1de4114633a78529707b62c4aa8092cec7a58303930
3
+ metadata.gz: 977ac426ebd7ff2a2d6f39ab1727a5afd10ba19af91e98b2109576740f2221c5
4
+ data.tar.gz: 964283f98279e11d60f24ebfc3c0da115b756b1ae23b8e33856195c72fc829e6
5
5
  SHA512:
6
- metadata.gz: fa3a4ffd3a2123780c3576e25d63c4fe7a9cb38d270c46e7995b94375614c6f02f5e99a7941f97ce03524d8e1988185373eb7f17b98fc51520fb88e0aee4ebcd
7
- data.tar.gz: c0134ba082b34fc1a1340367b15c9783b1935cbf3c2488df4564d00d644afc1a04c1e6fff845790abe768c1341ef182054e5a02da558c4f6270d095a8ee73de9
6
+ metadata.gz: 2b066e16d50591e514e623c7e3b54e26c05053cf04bbbe3f7682ab13f7dd12e3875a0dc19fe26f6e5ebc3ead5c6379b5f3b4dc21b88d509edf44f085cfd8793b
7
+ data.tar.gz: 7dde61e91effb12121643a44f48114d9dc0e8d3cf98175eb7fff8f8776e0f8be245ffa13969d6c7cbc80a198560d7a8f88924ba6fe14d50236c17d36777d3c21
data/Gemfile CHANGED
@@ -2,12 +2,12 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
- gem 'bindata', "~> 2.4.15"
5
+ gem 'bindata', "~> 3.0"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
 
9
9
  group :development do
10
- gem "rspec", "~> 2.8.0"
11
- gem "rdoc", "~> 3.12"
12
- gem "bundler", ">= 1.2.0"
10
+ gem "rspec", "~> 3.13"
11
+ gem "rdoc", ">= 6.3.1"
12
+ gem "bundler", ">= 2.4"
13
13
  end
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2023 - 2025 IP2Location ( support@ip2location.com )
1
+ Copyright (c) 2023-2026 IP2Location ( support@ip2location.com )
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/VERSION CHANGED
@@ -1 +1 @@
1
- 8.8.0
1
+ 8.8.1
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "ip2location_ruby"
3
- s.version = "8.8.0"
3
+ s.version = "8.8.1"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.require_paths = ["lib"]
@@ -43,34 +43,17 @@ Gem::Specification.new do |s|
43
43
  s.licenses = ["MIT"]
44
44
  s.summary = "the ip2location ruby library"
45
45
 
46
- if s.respond_to?(:metadata=)
47
- s.metadata = {
48
- "bug_tracker_uri" => "https://github.com/ip2location/ip2location-ruby/issues",
49
- "documentation_uri" => "https://www.rubydoc.info/gems/ip2location_ruby",
50
- "homepage_uri" => "https://www.ip2location.com",
51
- "source_code_uri" => "https://github.com/ip2location/ip2location-ruby",
52
- }
53
- end
46
+ s.metadata = {
47
+ "bug_tracker_uri" => "https://github.com/ip2location/ip2location-ruby/issues",
48
+ "documentation_uri" => "https://www.rubydoc.info/gems/ip2location_ruby",
49
+ "homepage_uri" => "https://www.ip2location.com",
50
+ "source_code_uri" => "https://github.com/ip2location/ip2location-ruby",
51
+ }
54
52
 
55
- if s.respond_to? :specification_version then
56
- s.specification_version = 4
57
-
58
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
- s.add_runtime_dependency(%q<bindata>, ["~> 2.4.15"])
60
- s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
61
- s.add_development_dependency(%q<rdoc>, [">= 6.3.1"])
62
- s.add_development_dependency(%q<bundler>, [">= 1.2.0"])
63
- else
64
- s.add_dependency(%q<bindata>, ["~> 2.4.15"])
65
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
66
- s.add_dependency(%q<rdoc>, [">= 6.3.1"])
67
- s.add_dependency(%q<bundler>, [">= 1.2.0"])
68
- end
69
- else
70
- s.add_dependency(%q<bindata>, ["~> 2.4.15"])
71
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
72
- s.add_dependency(%q<rdoc>, [">= 6.3.1"])
73
- s.add_dependency(%q<bundler>, [">= 1.2.0"])
74
- end
53
+ s.required_ruby_version = ">= 3.0"
54
+ s.add_runtime_dependency "bindata", "~> 3.0"
55
+ s.add_development_dependency "rspec", "~> 3.13"
56
+ s.add_development_dependency "rdoc", ">= 6.3.1"
57
+ s.add_development_dependency "bundler", ">= 2.4"
75
58
  end
76
59
 
@@ -1,16 +1,19 @@
1
- class I2lStringData < BinData::BasePrimitive
2
-
1
+ class I2lStringData < BinData::BasePrimitive
3
2
  def read_and_return_value(io)
4
3
  country_long = eval_parameter(:country_long)
5
- io.seekbytes(-4) if country_long
6
- file = io.instance_variable_get('@raw_io')
4
+ raw_io = io.instance_variable_get(:@io)
5
+ initial_pos = raw_io.instance_variable_get(:@initial_pos)
6
+ if country_long
7
+ io.seek_to_abs_offset(raw_io.offset - 4)
8
+ end
7
9
  addr = BinData::Uint32le.read(io)
8
- old_offset = file.tell
9
- country_long ? file.seek(addr + 3) : file.seek(addr)
10
- length = BinData::Uint8.read(file)
11
- res = BinData::String.new(:length => length).read(file)
12
- file.seek(old_offset)
13
- res
10
+ old_offset = raw_io.offset
11
+ string_offset = country_long ? addr + 3 : addr
12
+ relative_offset = string_offset - initial_pos
13
+ io.seek_to_abs_offset(relative_offset)
14
+ length = BinData::Uint8.read(io)
15
+ result = BinData::String.new(:length => length).read(io)
16
+ io.seek_to_abs_offset(old_offset)
17
+ result
14
18
  end
15
-
16
19
  end
@@ -14,7 +14,7 @@ require 'ip2location_ruby/ip2location_record'
14
14
  class Ip2location
15
15
  attr_accessor :record_class4, :record_class6, :v4, :file, :db_index, :count, :base_addr, :ipno, :record, :database, :columns, :ip_version, :ipv4databasecount, :ipv4databaseaddr, :ipv4indexbaseaddr, :ipv6databasecount, :ipv6databaseaddr, :ipv6indexbaseaddr, :databaseyear, :databasemonth, :databaseday, :last_err_msg
16
16
 
17
- VERSION = '8.8.0'
17
+ VERSION = '8.8.1'
18
18
  FIELD_NOT_SUPPORTED = 'NOT SUPPORTED'
19
19
  INVALID_IP_ADDRESS = 'INVALID IP ADDRESS'
20
20
  INVALID_BIN_DATABASE = 'Incorrect IP2Location BIN file format. Please make sure that you are using the latest IP2Location BIN file.'
@@ -1,250 +1,250 @@
1
- "country_code","capital","total_area"
2
- "AD","Andorra la Vella","468"
3
- "AE","Abu Dhabi","83600"
4
- "AF","Kabul","652230"
5
- "AG","Saint John's","442"
6
- "AI","The Valley","91"
7
- "AL","Tirana","28748"
8
- "AM","Yerevan","29743"
9
- "AO","Luanda","1246700"
10
- "AQ","-","14000000"
11
- "AR","Buenos Aires","2780400"
12
- "AS","Pago Pago","199"
13
- "AT","Vienna","83871"
14
- "AU","Canberra","7741220"
15
- "AW","Oranjestad","180"
16
- "AX","Mariehamn","1552"
17
- "AZ","Baku","86600"
18
- "BA","Sarajevo","51197"
19
- "BB","Bridgetown","430"
20
- "BD","Dhaka","143998"
21
- "BE","Brussels","30528"
22
- "BF","Ouagadougou","274200"
23
- "BG","Sofia","110879"
24
- "BH","Manama","760"
25
- "BI","Bujumbura","27830"
26
- "BJ","Porto-Novo","112622"
27
- "BL","Gustavia","21"
28
- "BM","Hamilton","54"
29
- "BN","Bandar Seri Begawan","5765"
30
- "BO","Sucre","1098581"
31
- "BQ","Kralendijk","328"
32
- "BR","Brasilia","8514877"
33
- "BS","Nassau","13880"
34
- "BT","Thimphu","38394"
35
- "BV","-","49"
36
- "BW","Gaborone","581730"
37
- "BY","Minsk","207600"
38
- "BZ","Belmopan","22966"
39
- "CA","Ottawa","9984670"
40
- "CC","West Island","14"
41
- "CD","Kinshasa","2344858"
42
- "CF","Bangui","622984"
43
- "CG","Brazzaville","342000"
44
- "CH","Bern","41277"
45
- "CI","Yamoussoukro","322463"
46
- "CK","Avarua","236"
47
- "CL","Santiago","756102"
48
- "CM","Yaounde","475440"
49
- "CN","Beijing","9596961"
50
- "CO","Bogota","1138910"
51
- "CR","San Jose","51100"
52
- "CU","Havana","110860"
53
- "CV","Praia","4033"
54
- "CW","Willemstad","444"
55
- "CX","Flying Fish Cove","135"
56
- "CY","Nicosia","9251"
57
- "CZ","Prague","78867"
58
- "DE","Berlin","357022"
59
- "DJ","Djibouti","23200"
60
- "DK","Copenhagen","43094"
61
- "DM","Roseau","751"
62
- "DO","Santo Domingo","48670"
63
- "DZ","Algiers","2381741"
64
- "EC","Quito","283561"
65
- "EE","Tallinn","45228"
66
- "EG","Cairo","1001450"
67
- "EH","Laayoune / El Aaiun","266000"
68
- "ER","Asmara","117600"
69
- "ES","Madrid","505370"
70
- "ET","Addis Ababa","1104300"
71
- "FI","Helsinki","338145"
72
- "FJ","Suva","18274"
73
- "FK","Stanley","12173"
74
- "FM","Palikir","702"
75
- "FO","Torshavn","1393"
76
- "FR","Paris","643801"
77
- "GA","Libreville","267667"
78
- "GB","London","243610"
79
- "GD","Saint George's","344"
80
- "GE","Tbilisi","69700"
81
- "GF","Cayenne","86504"
82
- "GG","Saint Peter Port","78"
83
- "GH","Accra","238533"
84
- "GI","Gibraltar","6"
85
- "GL","Nuuk","2166086"
86
- "GM","Banjul","11295"
87
- "GN","Conakry","245857"
88
- "GP","Basse-terre","1630"
89
- "GQ","Malabo","28051"
90
- "GR","Athens","131957"
91
- "GS","Grytviken","3903"
92
- "GT","Guatemala City","108889"
93
- "GU","Hagatna","544"
94
- "GW","Bissau","36125"
95
- "GY","Georgetown","214969"
96
- "HK","-","1104"
97
- "HM","-","412"
98
- "HN","Tegucigalpa","112090"
99
- "HR","Zagreb","56594"
100
- "HT","Port-au-prince","27750"
101
- "HU","Budapest","93028"
102
- "ID","Jakarta","1904569"
103
- "IE","Dublin","70273"
104
- "IL","Jerusalem","20770"
105
- "IM","Douglas","572"
106
- "IN","New Delhi","3287263"
107
- "IO","Diego Garcia","54400"
108
- "IQ","Baghdad","438317"
109
- "IR","Tehran","1648195"
110
- "IS","Reykjavik","103000"
111
- "IT","Roma","301340"
112
- "JE","Saint Helier","116"
113
- "JM","Kingston","10991"
114
- "JO","Amman","89342"
115
- "JP","Tokyo","377915"
116
- "KE","Nairobi","580367"
117
- "KG","Bishkek","199951"
118
- "KH","Phnom Penh","181035"
119
- "KI","Tarawa","811"
120
- "KM","Moroni","2235"
121
- "KN","Basseterre","261"
122
- "KP","Pyongyang","120538"
123
- "KR","Seoul","99720"
124
- "KW","Kuwait","17818"
125
- "KY","George Town","264"
126
- "KZ","Astana","2724900"
127
- "LA","Vientiane","236800"
128
- "LB","Beirut","10400"
129
- "LC","Castries","616"
130
- "LI","Vaduz","160"
131
- "LK","Sri Jayewardenepura Kotte","65610"
132
- "LR","Monrovia","111369"
133
- "LS","Maseru","30355"
134
- "LT","Vilnius","65300"
135
- "LU","Luxembourg","2586"
136
- "LV","Riga","64589"
137
- "LY","Tripoli","1759540"
138
- "MA","Rabat","446550"
139
- "MC","Monaco","2"
140
- "MD","Chisinau","33851"
141
- "ME","Podgorica","13812"
142
- "MF","Marigot","54"
143
- "MG","Antananarivo","587041"
144
- "MH","Majuro","181"
145
- "MK","Skopje","25713"
146
- "ML","Bamako","1240192"
147
- "MM","Pyinmana","676578"
148
- "MN","Ulaanbaatar","1564116"
149
- "MO","-","31.3"
150
- "MP","Saipan","464"
151
- "MQ","Fort-de-france","1128"
152
- "MR","Nouakchott","1030700"
153
- "MS","Plymouth","102"
154
- "MT","Valletta","316"
155
- "MU","Port Louis","2040"
156
- "MV","Male","298"
157
- "MW","Lilongwe","118484"
158
- "MX","Mexico City","1964375"
159
- "MY","Kuala Lumpur","329847"
160
- "MZ","Maputo","799380"
161
- "NA","Windhoek","824292"
162
- "NC","Noumea","18575"
163
- "NE","Niamey","1186408"
164
- "NF","Kingston","36"
165
- "NG","Abuja","923768"
166
- "NI","Managua","130370"
167
- "NL","Amsterdam","41543"
168
- "NO","Oslo","323802"
169
- "NP","Kathmandu","147181"
170
- "NR","Yaren","21"
171
- "NU","Alofi","260"
172
- "NZ","Wellington","267710"
173
- "OM","Muscat","309500"
174
- "PA","Panama","75420"
175
- "PE","Lima","1285216"
176
- "PF","Papeete","4167"
177
- "PG","Port Moresby","462840"
178
- "PH","Manila","300000"
179
- "PK","Islamabad","796095"
180
- "PL","Warsaw","312685"
181
- "PM","Saint-pierre","242"
182
- "PN","Adamstown","47"
183
- "PR","San Juan","13790"
184
- "PS","-","5860"
185
- "PT","Lisbon","92090"
186
- "PW","Melekeok - Palau State Capital","459"
187
- "PY","Asuncion","406752"
188
- "QA","Doha","11586"
189
- "RE","Saint-denis","2512"
190
- "RO","Bucharest","238391"
191
- "RS","Belgrade","77474"
192
- "RU","Moscow","17098242"
193
- "RW","Kigali","26338"
194
- "SA","Riyadh","2149690"
195
- "SB","Honiara","28896"
196
- "SC","Victoria","455"
197
- "SD","Khartoum","1861484"
198
- "SE","Stockholm","450295"
199
- "SG","Singapore","697"
200
- "SH","Jamestown","122"
201
- "SI","Ljubljana","20273"
202
- "SJ","Longyearbyen","62045"
203
- "SK","Bratislava","49035"
204
- "SL","Freetown","71740"
205
- "SM","San Marino","61"
206
- "SN","Dakar","196722"
207
- "SO","Mogadishu","637657"
208
- "SR","Paramaribo","163820"
209
- "SS","Juba","644329"
210
- "ST","Sao Tome","964"
211
- "SV","San Salvador","21041"
212
- "SX","Philipsburg","34"
213
- "SY","Damascus","185180"
214
- "SZ","Mbabane","17364"
215
- "TC","Cockburn Town","948"
216
- "TD","N'djamena","1284000"
217
- "TF","Port-aux-francais","439781"
218
- "TG","Lome","56785"
219
- "TH","Bangkok","513120"
220
- "TJ","Dushanbe","143100"
221
- "TK","-","12"
222
- "TL","Dili","14874"
223
- "TM","Ashgabat","488100"
224
- "TN","Tunis","163610"
225
- "TO","Nuku'alofa","747"
226
- "TR","Ankara","783562"
227
- "TT","Port of Spain","5128"
228
- "TV","Funafuti","26"
229
- "TW","Taipei","35980"
230
- "TZ","Dodoma","947300"
231
- "UA","Kiev","603550"
232
- "UG","Kampala","241038"
233
- "UM","-","34.2"
234
- "US","Washington, D.C.","9826675"
235
- "UY","Montevideo","176215"
236
- "UZ","Tashkent","447400"
237
- "VA","Vatican City","0.44"
238
- "VC","Kingstown","389"
239
- "VE","Caracas","912050"
240
- "VG","Road Town","151"
241
- "VI","Charlotte Amalie","1910"
242
- "VN","Ha Noi","331210"
243
- "VU","Port-vila","12189"
244
- "WF","Mata'utu","142"
245
- "WS","Apia","2831"
246
- "YE","Sanaa","527968"
247
- "YT","Mamoudzou","374"
248
- "ZA","Cape Town","1219090"
249
- "ZM","Lusaka","752618"
1
+ "country_code","capital","total_area"
2
+ "AD","Andorra la Vella","468"
3
+ "AE","Abu Dhabi","83600"
4
+ "AF","Kabul","652230"
5
+ "AG","Saint John's","442"
6
+ "AI","The Valley","91"
7
+ "AL","Tirana","28748"
8
+ "AM","Yerevan","29743"
9
+ "AO","Luanda","1246700"
10
+ "AQ","-","14000000"
11
+ "AR","Buenos Aires","2780400"
12
+ "AS","Pago Pago","199"
13
+ "AT","Vienna","83871"
14
+ "AU","Canberra","7741220"
15
+ "AW","Oranjestad","180"
16
+ "AX","Mariehamn","1552"
17
+ "AZ","Baku","86600"
18
+ "BA","Sarajevo","51197"
19
+ "BB","Bridgetown","430"
20
+ "BD","Dhaka","143998"
21
+ "BE","Brussels","30528"
22
+ "BF","Ouagadougou","274200"
23
+ "BG","Sofia","110879"
24
+ "BH","Manama","760"
25
+ "BI","Bujumbura","27830"
26
+ "BJ","Porto-Novo","112622"
27
+ "BL","Gustavia","21"
28
+ "BM","Hamilton","54"
29
+ "BN","Bandar Seri Begawan","5765"
30
+ "BO","Sucre","1098581"
31
+ "BQ","Kralendijk","328"
32
+ "BR","Brasilia","8514877"
33
+ "BS","Nassau","13880"
34
+ "BT","Thimphu","38394"
35
+ "BV","-","49"
36
+ "BW","Gaborone","581730"
37
+ "BY","Minsk","207600"
38
+ "BZ","Belmopan","22966"
39
+ "CA","Ottawa","9984670"
40
+ "CC","West Island","14"
41
+ "CD","Kinshasa","2344858"
42
+ "CF","Bangui","622984"
43
+ "CG","Brazzaville","342000"
44
+ "CH","Bern","41277"
45
+ "CI","Yamoussoukro","322463"
46
+ "CK","Avarua","236"
47
+ "CL","Santiago","756102"
48
+ "CM","Yaounde","475440"
49
+ "CN","Beijing","9596961"
50
+ "CO","Bogota","1138910"
51
+ "CR","San Jose","51100"
52
+ "CU","Havana","110860"
53
+ "CV","Praia","4033"
54
+ "CW","Willemstad","444"
55
+ "CX","Flying Fish Cove","135"
56
+ "CY","Nicosia","9251"
57
+ "CZ","Prague","78867"
58
+ "DE","Berlin","357022"
59
+ "DJ","Djibouti","23200"
60
+ "DK","Copenhagen","43094"
61
+ "DM","Roseau","751"
62
+ "DO","Santo Domingo","48670"
63
+ "DZ","Algiers","2381741"
64
+ "EC","Quito","283561"
65
+ "EE","Tallinn","45228"
66
+ "EG","Cairo","1001450"
67
+ "EH","Laayoune / El Aaiun","266000"
68
+ "ER","Asmara","117600"
69
+ "ES","Madrid","505370"
70
+ "ET","Addis Ababa","1104300"
71
+ "FI","Helsinki","338145"
72
+ "FJ","Suva","18274"
73
+ "FK","Stanley","12173"
74
+ "FM","Palikir","702"
75
+ "FO","Torshavn","1393"
76
+ "FR","Paris","643801"
77
+ "GA","Libreville","267667"
78
+ "GB","London","243610"
79
+ "GD","Saint George's","344"
80
+ "GE","Tbilisi","69700"
81
+ "GF","Cayenne","86504"
82
+ "GG","Saint Peter Port","78"
83
+ "GH","Accra","238533"
84
+ "GI","Gibraltar","6"
85
+ "GL","Nuuk","2166086"
86
+ "GM","Banjul","11295"
87
+ "GN","Conakry","245857"
88
+ "GP","Basse-terre","1630"
89
+ "GQ","Malabo","28051"
90
+ "GR","Athens","131957"
91
+ "GS","Grytviken","3903"
92
+ "GT","Guatemala City","108889"
93
+ "GU","Hagatna","544"
94
+ "GW","Bissau","36125"
95
+ "GY","Georgetown","214969"
96
+ "HK","-","1104"
97
+ "HM","-","412"
98
+ "HN","Tegucigalpa","112090"
99
+ "HR","Zagreb","56594"
100
+ "HT","Port-au-prince","27750"
101
+ "HU","Budapest","93028"
102
+ "ID","Jakarta","1904569"
103
+ "IE","Dublin","70273"
104
+ "IL","Jerusalem","20770"
105
+ "IM","Douglas","572"
106
+ "IN","New Delhi","3287263"
107
+ "IO","Diego Garcia","54400"
108
+ "IQ","Baghdad","438317"
109
+ "IR","Tehran","1648195"
110
+ "IS","Reykjavik","103000"
111
+ "IT","Roma","301340"
112
+ "JE","Saint Helier","116"
113
+ "JM","Kingston","10991"
114
+ "JO","Amman","89342"
115
+ "JP","Tokyo","377915"
116
+ "KE","Nairobi","580367"
117
+ "KG","Bishkek","199951"
118
+ "KH","Phnom Penh","181035"
119
+ "KI","Tarawa","811"
120
+ "KM","Moroni","2235"
121
+ "KN","Basseterre","261"
122
+ "KP","Pyongyang","120538"
123
+ "KR","Seoul","99720"
124
+ "KW","Kuwait","17818"
125
+ "KY","George Town","264"
126
+ "KZ","Astana","2724900"
127
+ "LA","Vientiane","236800"
128
+ "LB","Beirut","10400"
129
+ "LC","Castries","616"
130
+ "LI","Vaduz","160"
131
+ "LK","Sri Jayewardenepura Kotte","65610"
132
+ "LR","Monrovia","111369"
133
+ "LS","Maseru","30355"
134
+ "LT","Vilnius","65300"
135
+ "LU","Luxembourg","2586"
136
+ "LV","Riga","64589"
137
+ "LY","Tripoli","1759540"
138
+ "MA","Rabat","446550"
139
+ "MC","Monaco","2"
140
+ "MD","Chisinau","33851"
141
+ "ME","Podgorica","13812"
142
+ "MF","Marigot","54"
143
+ "MG","Antananarivo","587041"
144
+ "MH","Majuro","181"
145
+ "MK","Skopje","25713"
146
+ "ML","Bamako","1240192"
147
+ "MM","Pyinmana","676578"
148
+ "MN","Ulaanbaatar","1564116"
149
+ "MO","-","31.3"
150
+ "MP","Saipan","464"
151
+ "MQ","Fort-de-france","1128"
152
+ "MR","Nouakchott","1030700"
153
+ "MS","Plymouth","102"
154
+ "MT","Valletta","316"
155
+ "MU","Port Louis","2040"
156
+ "MV","Male","298"
157
+ "MW","Lilongwe","118484"
158
+ "MX","Mexico City","1964375"
159
+ "MY","Kuala Lumpur","329847"
160
+ "MZ","Maputo","799380"
161
+ "NA","Windhoek","824292"
162
+ "NC","Noumea","18575"
163
+ "NE","Niamey","1186408"
164
+ "NF","Kingston","36"
165
+ "NG","Abuja","923768"
166
+ "NI","Managua","130370"
167
+ "NL","Amsterdam","41543"
168
+ "NO","Oslo","323802"
169
+ "NP","Kathmandu","147181"
170
+ "NR","Yaren","21"
171
+ "NU","Alofi","260"
172
+ "NZ","Wellington","267710"
173
+ "OM","Muscat","309500"
174
+ "PA","Panama","75420"
175
+ "PE","Lima","1285216"
176
+ "PF","Papeete","4167"
177
+ "PG","Port Moresby","462840"
178
+ "PH","Manila","300000"
179
+ "PK","Islamabad","796095"
180
+ "PL","Warsaw","312685"
181
+ "PM","Saint-pierre","242"
182
+ "PN","Adamstown","47"
183
+ "PR","San Juan","13790"
184
+ "PS","-","5860"
185
+ "PT","Lisbon","92090"
186
+ "PW","Melekeok - Palau State Capital","459"
187
+ "PY","Asuncion","406752"
188
+ "QA","Doha","11586"
189
+ "RE","Saint-denis","2512"
190
+ "RO","Bucharest","238391"
191
+ "RS","Belgrade","77474"
192
+ "RU","Moscow","17098242"
193
+ "RW","Kigali","26338"
194
+ "SA","Riyadh","2149690"
195
+ "SB","Honiara","28896"
196
+ "SC","Victoria","455"
197
+ "SD","Khartoum","1861484"
198
+ "SE","Stockholm","450295"
199
+ "SG","Singapore","697"
200
+ "SH","Jamestown","122"
201
+ "SI","Ljubljana","20273"
202
+ "SJ","Longyearbyen","62045"
203
+ "SK","Bratislava","49035"
204
+ "SL","Freetown","71740"
205
+ "SM","San Marino","61"
206
+ "SN","Dakar","196722"
207
+ "SO","Mogadishu","637657"
208
+ "SR","Paramaribo","163820"
209
+ "SS","Juba","644329"
210
+ "ST","Sao Tome","964"
211
+ "SV","San Salvador","21041"
212
+ "SX","Philipsburg","34"
213
+ "SY","Damascus","185180"
214
+ "SZ","Mbabane","17364"
215
+ "TC","Cockburn Town","948"
216
+ "TD","N'djamena","1284000"
217
+ "TF","Port-aux-francais","439781"
218
+ "TG","Lome","56785"
219
+ "TH","Bangkok","513120"
220
+ "TJ","Dushanbe","143100"
221
+ "TK","-","12"
222
+ "TL","Dili","14874"
223
+ "TM","Ashgabat","488100"
224
+ "TN","Tunis","163610"
225
+ "TO","Nuku'alofa","747"
226
+ "TR","Ankara","783562"
227
+ "TT","Port of Spain","5128"
228
+ "TV","Funafuti","26"
229
+ "TW","Taipei","35980"
230
+ "TZ","Dodoma","947300"
231
+ "UA","Kiev","603550"
232
+ "UG","Kampala","241038"
233
+ "UM","-","34.2"
234
+ "US","Washington, D.C.","9826675"
235
+ "UY","Montevideo","176215"
236
+ "UZ","Tashkent","447400"
237
+ "VA","Vatican City","0.44"
238
+ "VC","Kingstown","389"
239
+ "VE","Caracas","912050"
240
+ "VG","Road Town","151"
241
+ "VI","Charlotte Amalie","1910"
242
+ "VN","Ha Noi","331210"
243
+ "VU","Port-vila","12189"
244
+ "WF","Mata'utu","142"
245
+ "WS","Apia","2831"
246
+ "YE","Sanaa","527968"
247
+ "YT","Mamoudzou","374"
248
+ "ZA","Cape Town","1219090"
249
+ "ZM","Lusaka","752618"
250
250
  "ZW","Harare","390757"