exiftool_vendored 12.64.1 → 12.65.0

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.
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
  require Exporter;
23
23
 
24
- $VERSION = '1.56';
24
+ $VERSION = '1.57';
25
25
 
26
26
  sub FetchObject($$$$);
27
27
  sub ExtractObject($$;$$);
@@ -112,10 +112,13 @@ my %supportedFilter = (
112
112
  Keywords => {
113
113
  List => 'string', # this is a string list
114
114
  Notes => q{
115
- stored as a string but treated as a comma-separated list of items when
116
- reading if the string contains a comma, otherwise a space-separated list of
117
- items. Written as a comma-separated list. The list behaviour may be
118
- defeated by setting the API NoPDFList option
115
+ stored as a string but treated as a comma- or semicolon-separated list of
116
+ items when reading if the string contains commas or semicolons, whichever is
117
+ more numerous, otherwise it is treated a space-separated list of items.
118
+ Written as a comma-separated list. The list behaviour may be defeated by
119
+ setting the API NoPDFList option. Note that the corresponding
120
+ XMP-pdf:Keywords tag is not treated as a list, so the NoPDFList option
121
+ should be used when copying between these two.
119
122
  },
120
123
  },
121
124
  Creator => { },
@@ -1762,6 +1765,7 @@ sub ExpandArray($)
1762
1765
  # 4) nesting depth, 5) dictionary capture type
1763
1766
  sub ProcessDict($$$$;$$)
1764
1767
  {
1768
+ local $_;
1765
1769
  my ($et, $tagTablePtr, $dict, $xref, $nesting, $type) = @_;
1766
1770
  my $verbose = $et->Options('Verbose');
1767
1771
  my $unknown = $$tagTablePtr{EXTRACT_UNKNOWN};
@@ -2025,10 +2029,16 @@ sub ProcessDict($$$$;$$)
2025
2029
  }
2026
2030
  if ($$tagInfo{List} and not $$et{OPTIONS}{NoPDFList}) {
2027
2031
  # separate tokens in comma or whitespace delimited lists
2028
- my @values = ($val =~ /,/) ? split /,+\s*/, $val : split ' ', $val;
2029
- foreach $val (@values) {
2030
- $et->FoundTag($tagInfo, $val);
2032
+ my $comma = $val =~ tr/,/,/;
2033
+ my $semi = $val =~ tr/;/;/;
2034
+ my $split;
2035
+ if ($comma or $semi) {
2036
+ $split = $comma > $semi ? ',+\\s*' : ';+\\s*';
2037
+ } else {
2038
+ $split = ' ';
2031
2039
  }
2040
+ my @values = split $split, $val;
2041
+ $et->FoundTag($tagInfo, $_) foreach @values;
2032
2042
  } else {
2033
2043
  # a simple tag value
2034
2044
  $et->FoundTag($tagInfo, $val);
@@ -37,6 +37,7 @@
37
37
  # 25) https://cconcolato.github.io/mp4ra/atoms.html
38
38
  # 26) https://github.com/SamsungVR/android_upload_sdk/blob/master/SDKLib/src/main/java/com/samsung/msca/samsungvr/sdk/UserVideo.java
39
39
  # 27) https://exiftool.org/forum/index.php?topic=11517.0
40
+ # 28) https://docs.mp3tag.de/mapping/
40
41
  #------------------------------------------------------------------------------
41
42
 
42
43
  package Image::ExifTool::QuickTime;
@@ -47,7 +48,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
48
  use Image::ExifTool::Exif;
48
49
  use Image::ExifTool::GPS;
49
50
 
50
- $VERSION = '2.86';
51
+ $VERSION = '2.87';
51
52
 
52
53
  sub ProcessMOV($$;$);
53
54
  sub ProcessKeys($$$);
@@ -3396,8 +3397,9 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
3396
3397
  },
3397
3398
  albm => { Name => 'Album', Avoid => 1 }, #(ffmpeg source)
3398
3399
  apID => 'AppleStoreAccount',
3399
- atID => { #10 (or TV series)
3400
- Name => 'AlbumTitleID',
3400
+ atID => {
3401
+ # (ref 10 called this AlbumTitleID or TVSeries)
3402
+ Name => 'ArtistID', #28 (or Track ID ref https://gist.github.com/maf654321/2b44c7b15d798f0c52ee)
3401
3403
  Format => 'int32u',
3402
3404
  Writable => 'int32s', #27
3403
3405
  },
@@ -3408,6 +3410,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
3408
3410
  Format => 'int32u',
3409
3411
  Writable => 'int32s', #27
3410
3412
  },
3413
+ cmID => 'ComposerID', #28 (need sample to get format)
3411
3414
  cprt => { Name => 'Copyright', Groups => { 2 => 'Author' } },
3412
3415
  dscp => { Name => 'Description', Avoid => 1 },
3413
3416
  desc => { Name => 'Description', Avoid => 1 }, #7
@@ -6100,10 +6103,10 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6100
6103
  PrintConv => { 0 => 'No', 1 => 'Yes' },
6101
6104
  },
6102
6105
  perf => 'Performer',
6103
- plID => { #10 (or TV season)
6104
- Name => 'PlayListID',
6105
- Format => 'int8u', # actually int64u, but split it up
6106
- Count => 8,
6106
+ plID => {
6107
+ # (ref 10 called this PlayListID or TVSeason)
6108
+ Name => 'AlbumID', #28
6109
+ Format => 'int64u',
6107
6110
  Writable => 'int32s', #27
6108
6111
  },
6109
6112
  purd => 'PurchaseDate', #7
@@ -6565,6 +6568,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6565
6568
  'rating.user' => 'UserRating', # (Canon ELPH 510 HS)
6566
6569
  'collection.user' => 'UserCollection', #22
6567
6570
  'Encoded_With' => 'EncodedWith',
6571
+ 'content.identifier' => 'ContentIdentifier', #forum14874
6568
6572
  #
6569
6573
  # the following tags aren't in the com.apple.quicktime namespace:
6570
6574
  #
@@ -9519,13 +9523,17 @@ sub ProcessMOV($$;$)
9519
9523
  my $items = $$et{ItemInfo};
9520
9524
  my ($id, $prop, $docNum, $lowest);
9521
9525
  my $primary = $$et{PrimaryItem} || 0;
9522
- ItemID: foreach $id (keys %$items) {
9526
+ ItemID: foreach $id (reverse sort { $a <=> $b } keys %$items) {
9523
9527
  next unless $$items{$id}{Association};
9524
9528
  my $item = $$items{$id};
9525
9529
  foreach $prop (@{$$item{Association}}) {
9526
9530
  next unless $prop == $index;
9527
9531
  if ($id == $primary or (not $dontInherit{$tag} and
9528
- (not $$item{RefersTo} or $$item{RefersTo}{$primary})))
9532
+ (($$item{RefersTo} and $$item{RefersTo}{$primary}) or
9533
+ # hack: assume Item 1 is from the main image (eg. hvc1 data)
9534
+ # to hack the case where the primary item (ie. main image)
9535
+ # doesn't directly reference this property
9536
+ (not $$item{RefersTo} and $id == 1))))
9529
9537
  {
9530
9538
  # this is associated with the primary item or an item describing
9531
9539
  # the primary item, so consider this part of the main document
@@ -9536,7 +9544,7 @@ ItemID: foreach $id (keys %$items) {
9536
9544
  # this property is already associated with an item that has
9537
9545
  # an ExifTool document number, so use the lowest associated DocNum
9538
9546
  $docNum = $$item{DocNum} if not defined $docNum or $docNum > $$item{DocNum};
9539
- } elsif (not defined $lowest or $lowest > $id) {
9547
+ } else {
9540
9548
  # keep track of the lowest associated item ID
9541
9549
  $lowest = $id;
9542
9550
  }
@@ -22,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
 
25
- $VERSION = '1.53';
25
+ $VERSION = '1.54';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -1004,232 +1004,232 @@ my %formatMinMax = (
1004
1004
  Name => 'MCCData',
1005
1005
  Groups => { 2 => 'Location' },
1006
1006
  PrintConv => {
1007
- 202 => 'Greece',
1008
- 204 => 'Netherlands',
1009
- 206 => 'Belgium',
1010
- 208 => 'France',
1011
- 212 => 'Monaco',
1012
- 213 => 'Andorra',
1013
- 214 => 'Spain',
1014
- 216 => 'Hungary',
1015
- 218 => 'Bosnia & Herzegov.',
1016
- 219 => 'Croatia',
1017
- 220 => 'Serbia',
1018
- 221 => 'Kosovo',
1019
- 222 => 'Italy',
1020
- 226 => 'Romania',
1021
- 228 => 'Switzerland',
1022
- 230 => 'Czech Rep.',
1023
- 231 => 'Slovakia',
1024
- 232 => 'Austria',
1025
- 234 => 'United Kingdom',
1026
- 235 => 'United Kingdom',
1027
- 238 => 'Denmark',
1028
- 240 => 'Sweden',
1029
- 242 => 'Norway',
1030
- 244 => 'Finland',
1031
- 246 => 'Lithuania',
1032
- 247 => 'Latvia',
1033
- 248 => 'Estonia',
1034
- 250 => 'Russian Federation',
1035
- 255 => 'Ukraine',
1036
- 257 => 'Belarus',
1037
- 259 => 'Moldova',
1038
- 260 => 'Poland',
1039
- 262 => 'Germany',
1040
- 266 => 'Gibraltar',
1041
- 268 => 'Portugal',
1042
- 270 => 'Luxembourg',
1043
- 272 => 'Ireland',
1044
- 274 => 'Iceland',
1045
- 276 => 'Albania',
1046
- 278 => 'Malta',
1047
- 280 => 'Cyprus',
1048
- 282 => 'Georgia',
1049
- 283 => 'Armenia',
1050
- 284 => 'Bulgaria',
1051
- 286 => 'Turkey',
1052
- 288 => 'Faroe Islands',
1053
- 289 => 'Abkhazia',
1054
- 290 => 'Greenland',
1055
- 292 => 'San Marino',
1056
- 293 => 'Slovenia',
1057
- 294 => 'Macedonia',
1058
- 295 => 'Liechtenstein',
1059
- 297 => 'Montenegro',
1060
- 302 => 'Canada',
1061
- 308 => 'St. Pierre & Miquelon',
1062
- 310 => 'United States / Guam',
1063
- 311 => 'United States / Guam',
1064
- 312 => 'United States',
1065
- 316 => 'United States',
1066
- 330 => 'Puerto Rico',
1067
- 334 => 'Mexico',
1068
- 338 => 'Jamaica',
1069
- 340 => 'French Guiana / Guadeloupe / Martinique',
1070
- 342 => 'Barbados',
1071
- 344 => 'Antigua and Barbuda',
1072
- 346 => 'Cayman Islands',
1073
- 348 => 'British Virgin Islands',
1074
- 350 => 'Bermuda',
1075
- 352 => 'Grenada',
1076
- 354 => 'Montserrat',
1077
- 356 => 'Saint Kitts and Nevis',
1078
- 358 => 'Saint Lucia',
1079
- 360 => 'St. Vincent & Gren.',
1080
- 362 => 'Bonaire, Sint Eustatius and Saba / Curacao / Netherlands Antilles',
1081
- 363 => 'Aruba',
1082
- 364 => 'Bahamas',
1083
- 365 => 'Anguilla',
1084
- 366 => 'Dominica',
1085
- 368 => 'Cuba',
1086
- 370 => 'Dominican Republic',
1087
- 372 => 'Haiti',
1088
- 374 => 'Trinidad and Tobago',
1089
- 376 => 'Turks and Caicos Islands / US Virgin Islands',
1090
- 400 => 'Azerbaijan',
1091
- 401 => 'Kazakhstan',
1092
- 402 => 'Bhutan',
1093
- 404 => 'India',
1094
- 405 => 'India',
1095
- 410 => 'Pakistan',
1096
- 412 => 'Afghanistan',
1097
- 413 => 'Sri Lanka',
1098
- 414 => 'Myanmar (Burma)',
1099
- 415 => 'Lebanon',
1100
- 416 => 'Jordan',
1101
- 417 => 'Syrian Arab Republic',
1102
- 418 => 'Iraq',
1103
- 419 => 'Kuwait',
1104
- 420 => 'Saudi Arabia',
1105
- 421 => 'Yemen',
1106
- 422 => 'Oman',
1107
- 424 => 'United Arab Emirates',
1108
- 425 => 'Israel / Palestinian Territory',
1109
- 426 => 'Bahrain',
1110
- 427 => 'Qatar',
1111
- 428 => 'Mongolia',
1112
- 429 => 'Nepal',
1113
- 430 => 'United Arab Emirates',
1114
- 431 => 'United Arab Emirates',
1115
- 432 => 'Iran',
1116
- 434 => 'Uzbekistan',
1117
- 436 => 'Tajikistan',
1118
- 437 => 'Kyrgyzstan',
1119
- 438 => 'Turkmenistan',
1120
- 440 => 'Japan',
1121
- 441 => 'Japan',
1122
- 450 => 'South Korea',
1123
- 452 => 'Viet Nam',
1124
- 454 => 'Hongkong, China',
1125
- 455 => 'Macao, China',
1126
- 456 => 'Cambodia',
1127
- 457 => 'Laos P.D.R.',
1128
- 460 => 'China',
1129
- 466 => 'Taiwan',
1130
- 467 => 'North Korea',
1131
- 470 => 'Bangladesh',
1132
- 472 => 'Maldives',
1133
- 502 => 'Malaysia',
1134
- 505 => 'Australia',
1135
- 510 => 'Indonesia',
1136
- 514 => 'Timor-Leste',
1137
- 515 => 'Philippines',
1138
- 520 => 'Thailand',
1139
- 525 => 'Singapore',
1140
- 528 => 'Brunei Darussalam',
1141
- 530 => 'New Zealand',
1142
- 537 => 'Papua New Guinea',
1143
- 539 => 'Tonga',
1144
- 540 => 'Solomon Islands',
1145
- 541 => 'Vanuatu',
1146
- 542 => 'Fiji',
1147
- 544 => 'American Samoa',
1148
- 545 => 'Kiribati',
1149
- 546 => 'New Caledonia',
1150
- 547 => 'French Polynesia',
1151
- 548 => 'Cook Islands',
1152
- 549 => 'Samoa',
1153
- 550 => 'Micronesia',
1154
- 552 => 'Palau',
1155
- 553 => 'Tuvalu',
1156
- 555 => 'Niue',
1157
- 602 => 'Egypt',
1158
- 603 => 'Algeria',
1159
- 604 => 'Morocco',
1160
- 605 => 'Tunisia',
1161
- 606 => 'Libya',
1162
- 607 => 'Gambia',
1163
- 608 => 'Senegal',
1164
- 609 => 'Mauritania',
1165
- 610 => 'Mali',
1166
- 611 => 'Guinea',
1167
- 612 => 'Ivory Coast',
1168
- 613 => 'Burkina Faso',
1169
- 614 => 'Niger',
1170
- 615 => 'Togo',
1171
- 616 => 'Benin',
1172
- 617 => 'Mauritius',
1173
- 618 => 'Liberia',
1174
- 619 => 'Sierra Leone',
1175
- 620 => 'Ghana',
1176
- 621 => 'Nigeria',
1177
- 622 => 'Chad',
1178
- 623 => 'Central African Rep.',
1179
- 624 => 'Cameroon',
1180
- 625 => 'Cape Verde',
1181
- 626 => 'Sao Tome & Principe',
1182
- 627 => 'Equatorial Guinea',
1183
- 628 => 'Gabon',
1184
- 629 => 'Congo, Republic',
1185
- 630 => 'Congo, Dem. Rep.',
1186
- 631 => 'Angola',
1187
- 632 => 'Guinea-Bissau',
1188
- 633 => 'Seychelles',
1189
- 634 => 'Sudan',
1190
- 635 => 'Rwanda',
1191
- 636 => 'Ethiopia',
1192
- 637 => 'Somalia',
1193
- 638 => 'Djibouti',
1194
- 639 => 'Kenya',
1195
- 640 => 'Tanzania',
1196
- 641 => 'Uganda',
1197
- 642 => 'Burundi',
1198
- 643 => 'Mozambique',
1199
- 645 => 'Zambia',
1200
- 646 => 'Madagascar',
1201
- 647 => 'Reunion',
1202
- 648 => 'Zimbabwe',
1203
- 649 => 'Namibia',
1204
- 650 => 'Malawi',
1205
- 651 => 'Lesotho',
1206
- 652 => 'Botswana',
1207
- 653 => 'Swaziland',
1208
- 654 => 'Comoros',
1209
- 655 => 'South Africa',
1210
- 657 => 'Eritrea',
1211
- 659 => 'South Sudan',
1212
- 702 => 'Belize',
1213
- 704 => 'Guatemala',
1214
- 706 => 'El Salvador',
1215
- 708 => 'Honduras',
1216
- 710 => 'Nicaragua',
1217
- 712 => 'Costa Rica',
1218
- 714 => 'Panama',
1219
- 716 => 'Peru',
1220
- 722 => 'Argentina Republic',
1221
- 724 => 'Brazil',
1222
- 730 => 'Chile',
1223
- 732 => 'Colombia',
1224
- 734 => 'Venezuela',
1225
- 736 => 'Bolivia',
1226
- 738 => 'Guyana',
1227
- 740 => 'Ecuador',
1228
- 744 => 'Paraguay',
1229
- 746 => 'Suriname',
1230
- 748 => 'Uruguay',
1231
- 750 => 'Falkland Islands (Malvinas)',
1232
- 901 => 'International Networks / Satellite Networks',
1007
+ 202 => 'Greece (202)',
1008
+ 204 => 'Netherlands (204)',
1009
+ 206 => 'Belgium (206)',
1010
+ 208 => 'France (208)',
1011
+ 212 => 'Monaco (212)',
1012
+ 213 => 'Andorra (213)',
1013
+ 214 => 'Spain (214)',
1014
+ 216 => 'Hungary (216)',
1015
+ 218 => 'Bosnia & Herzegov. (218)',
1016
+ 219 => 'Croatia (219)',
1017
+ 220 => 'Serbia (220)',
1018
+ 221 => 'Kosovo (221)',
1019
+ 222 => 'Italy (222)',
1020
+ 226 => 'Romania (226)',
1021
+ 228 => 'Switzerland (228)',
1022
+ 230 => 'Czech Rep. (230)',
1023
+ 231 => 'Slovakia (231)',
1024
+ 232 => 'Austria (232)',
1025
+ 234 => 'United Kingdom (234)',
1026
+ 235 => 'United Kingdom (235)',
1027
+ 238 => 'Denmark (238)',
1028
+ 240 => 'Sweden (240)',
1029
+ 242 => 'Norway (242)',
1030
+ 244 => 'Finland (244)',
1031
+ 246 => 'Lithuania (246)',
1032
+ 247 => 'Latvia (247)',
1033
+ 248 => 'Estonia (248)',
1034
+ 250 => 'Russian Federation (250)',
1035
+ 255 => 'Ukraine (255)',
1036
+ 257 => 'Belarus (257)',
1037
+ 259 => 'Moldova (259)',
1038
+ 260 => 'Poland (260)',
1039
+ 262 => 'Germany (262)',
1040
+ 266 => 'Gibraltar (266)',
1041
+ 268 => 'Portugal (268)',
1042
+ 270 => 'Luxembourg (270)',
1043
+ 272 => 'Ireland (272)',
1044
+ 274 => 'Iceland (274)',
1045
+ 276 => 'Albania (276)',
1046
+ 278 => 'Malta (278)',
1047
+ 280 => 'Cyprus (280)',
1048
+ 282 => 'Georgia (282)',
1049
+ 283 => 'Armenia (283)',
1050
+ 284 => 'Bulgaria (284)',
1051
+ 286 => 'Turkey (286)',
1052
+ 288 => 'Faroe Islands (288)',
1053
+ 289 => 'Abkhazia (289)',
1054
+ 290 => 'Greenland (290)',
1055
+ 292 => 'San Marino (292)',
1056
+ 293 => 'Slovenia (293)',
1057
+ 294 => 'Macedonia (294)',
1058
+ 295 => 'Liechtenstein (295)',
1059
+ 297 => 'Montenegro (297)',
1060
+ 302 => 'Canada (302)',
1061
+ 308 => 'St. Pierre & Miquelon (308)',
1062
+ 310 => 'United States / Guam (310)',
1063
+ 311 => 'United States / Guam (311)',
1064
+ 312 => 'United States (312)',
1065
+ 316 => 'United States (316)',
1066
+ 330 => 'Puerto Rico (330)',
1067
+ 334 => 'Mexico (334)',
1068
+ 338 => 'Jamaica (338)',
1069
+ 340 => 'French Guiana / Guadeloupe / Martinique (340)',
1070
+ 342 => 'Barbados (342)',
1071
+ 344 => 'Antigua and Barbuda (344)',
1072
+ 346 => 'Cayman Islands (346)',
1073
+ 348 => 'British Virgin Islands (348)',
1074
+ 350 => 'Bermuda (350)',
1075
+ 352 => 'Grenada (352)',
1076
+ 354 => 'Montserrat (354)',
1077
+ 356 => 'Saint Kitts and Nevis (356)',
1078
+ 358 => 'Saint Lucia (358)',
1079
+ 360 => 'St. Vincent & Gren. (360)',
1080
+ 362 => 'Bonaire, Sint Eustatius and Saba / Curacao / Netherlands Antilles (362)',
1081
+ 363 => 'Aruba (363)',
1082
+ 364 => 'Bahamas (364)',
1083
+ 365 => 'Anguilla (365)',
1084
+ 366 => 'Dominica (366)',
1085
+ 368 => 'Cuba (368)',
1086
+ 370 => 'Dominican Republic (370)',
1087
+ 372 => 'Haiti (372)',
1088
+ 374 => 'Trinidad and Tobago (374)',
1089
+ 376 => 'Turks and Caicos Islands / US Virgin Islands (376)',
1090
+ 400 => 'Azerbaijan (400)',
1091
+ 401 => 'Kazakhstan (401)',
1092
+ 402 => 'Bhutan (402)',
1093
+ 404 => 'India (404)',
1094
+ 405 => 'India (405)',
1095
+ 410 => 'Pakistan (410)',
1096
+ 412 => 'Afghanistan (412)',
1097
+ 413 => 'Sri Lanka (413)',
1098
+ 414 => 'Myanmar (Burma) (414)',
1099
+ 415 => 'Lebanon (415)',
1100
+ 416 => 'Jordan (416)',
1101
+ 417 => 'Syrian Arab Republic (417)',
1102
+ 418 => 'Iraq (418)',
1103
+ 419 => 'Kuwait (419)',
1104
+ 420 => 'Saudi Arabia (420)',
1105
+ 421 => 'Yemen (421)',
1106
+ 422 => 'Oman (422)',
1107
+ 424 => 'United Arab Emirates (424)',
1108
+ 425 => 'Israel / Palestinian Territory (425)',
1109
+ 426 => 'Bahrain (426)',
1110
+ 427 => 'Qatar (427)',
1111
+ 428 => 'Mongolia (428)',
1112
+ 429 => 'Nepal (429)',
1113
+ 430 => 'United Arab Emirates (430)',
1114
+ 431 => 'United Arab Emirates (431)',
1115
+ 432 => 'Iran (432)',
1116
+ 434 => 'Uzbekistan (434)',
1117
+ 436 => 'Tajikistan (436)',
1118
+ 437 => 'Kyrgyzstan (437)',
1119
+ 438 => 'Turkmenistan (438)',
1120
+ 440 => 'Japan (440)',
1121
+ 441 => 'Japan (441)',
1122
+ 450 => 'South Korea (450)',
1123
+ 452 => 'Viet Nam (452)',
1124
+ 454 => 'Hongkong, China (454)',
1125
+ 455 => 'Macao, China (455)',
1126
+ 456 => 'Cambodia (456)',
1127
+ 457 => 'Laos P.D.R. (457)',
1128
+ 460 => 'China (460)',
1129
+ 466 => 'Taiwan (466)',
1130
+ 467 => 'North Korea (467)',
1131
+ 470 => 'Bangladesh (470)',
1132
+ 472 => 'Maldives (472)',
1133
+ 502 => 'Malaysia (502)',
1134
+ 505 => 'Australia (505)',
1135
+ 510 => 'Indonesia (510)',
1136
+ 514 => 'Timor-Leste (514)',
1137
+ 515 => 'Philippines (515)',
1138
+ 520 => 'Thailand (520)',
1139
+ 525 => 'Singapore (525)',
1140
+ 528 => 'Brunei Darussalam (528)',
1141
+ 530 => 'New Zealand (530)',
1142
+ 537 => 'Papua New Guinea (537)',
1143
+ 539 => 'Tonga (539)',
1144
+ 540 => 'Solomon Islands (540)',
1145
+ 541 => 'Vanuatu (541)',
1146
+ 542 => 'Fiji (542)',
1147
+ 544 => 'American Samoa (544)',
1148
+ 545 => 'Kiribati (545)',
1149
+ 546 => 'New Caledonia (546)',
1150
+ 547 => 'French Polynesia (547)',
1151
+ 548 => 'Cook Islands (548)',
1152
+ 549 => 'Samoa (549)',
1153
+ 550 => 'Micronesia (550)',
1154
+ 552 => 'Palau (552)',
1155
+ 553 => 'Tuvalu (553)',
1156
+ 555 => 'Niue (555)',
1157
+ 602 => 'Egypt (602)',
1158
+ 603 => 'Algeria (603)',
1159
+ 604 => 'Morocco (604)',
1160
+ 605 => 'Tunisia (605)',
1161
+ 606 => 'Libya (606)',
1162
+ 607 => 'Gambia (607)',
1163
+ 608 => 'Senegal (608)',
1164
+ 609 => 'Mauritania (609)',
1165
+ 610 => 'Mali (610)',
1166
+ 611 => 'Guinea (611)',
1167
+ 612 => 'Ivory Coast (612)',
1168
+ 613 => 'Burkina Faso (613)',
1169
+ 614 => 'Niger (614)',
1170
+ 615 => 'Togo (615)',
1171
+ 616 => 'Benin (616)',
1172
+ 617 => 'Mauritius (617)',
1173
+ 618 => 'Liberia (618)',
1174
+ 619 => 'Sierra Leone (619)',
1175
+ 620 => 'Ghana (620)',
1176
+ 621 => 'Nigeria (621)',
1177
+ 622 => 'Chad (622)',
1178
+ 623 => 'Central African Rep. (623)',
1179
+ 624 => 'Cameroon (624)',
1180
+ 625 => 'Cape Verde (625)',
1181
+ 626 => 'Sao Tome & Principe (626)',
1182
+ 627 => 'Equatorial Guinea (627)',
1183
+ 628 => 'Gabon (628)',
1184
+ 629 => 'Congo, Republic (629)',
1185
+ 630 => 'Congo, Dem. Rep. (630)',
1186
+ 631 => 'Angola (631)',
1187
+ 632 => 'Guinea-Bissau (632)',
1188
+ 633 => 'Seychelles (633)',
1189
+ 634 => 'Sudan (634)',
1190
+ 635 => 'Rwanda (635)',
1191
+ 636 => 'Ethiopia (636)',
1192
+ 637 => 'Somalia (637)',
1193
+ 638 => 'Djibouti (638)',
1194
+ 639 => 'Kenya (639)',
1195
+ 640 => 'Tanzania (640)',
1196
+ 641 => 'Uganda (641)',
1197
+ 642 => 'Burundi (642)',
1198
+ 643 => 'Mozambique (643)',
1199
+ 645 => 'Zambia (645)',
1200
+ 646 => 'Madagascar (646)',
1201
+ 647 => 'Reunion (647)',
1202
+ 648 => 'Zimbabwe (648)',
1203
+ 649 => 'Namibia (649)',
1204
+ 650 => 'Malawi (650)',
1205
+ 651 => 'Lesotho (651)',
1206
+ 652 => 'Botswana (652)',
1207
+ 653 => 'Swaziland (653)',
1208
+ 654 => 'Comoros (654)',
1209
+ 655 => 'South Africa (655)',
1210
+ 657 => 'Eritrea (657)',
1211
+ 659 => 'South Sudan (659)',
1212
+ 702 => 'Belize (702)',
1213
+ 704 => 'Guatemala (704)',
1214
+ 706 => 'El Salvador (706)',
1215
+ 708 => 'Honduras (708)',
1216
+ 710 => 'Nicaragua (710)',
1217
+ 712 => 'Costa Rica (712)',
1218
+ 714 => 'Panama (714)',
1219
+ 716 => 'Peru (716)',
1220
+ 722 => 'Argentina Republic (722)',
1221
+ 724 => 'Brazil (724)',
1222
+ 730 => 'Chile (730)',
1223
+ 732 => 'Colombia (732)',
1224
+ 734 => 'Venezuela (734)',
1225
+ 736 => 'Bolivia (736)',
1226
+ 738 => 'Guyana (738)',
1227
+ 740 => 'Ecuador (740)',
1228
+ 744 => 'Paraguay (744)',
1229
+ 746 => 'Suriname (746)',
1230
+ 748 => 'Uruguay (748)',
1231
+ 750 => 'Falkland Islands (Malvinas) (750)',
1232
+ 901 => 'International Networks / Satellite Networks (901)',
1233
1233
  },
1234
1234
  },
1235
1235
  # 0x0ab0-name - seen 'DualShot_Meta_Info'