exiftool_vendored 12.70.0 → 12.73.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +53 -1
  3. data/bin/MANIFEST +5 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +11 -11
  7. data/bin/exiftool +47 -27
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool/AAC.pm +177 -0
  11. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  13. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  15. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  16. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  17. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  18. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
  24. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Canon.pm +22 -7
  26. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  29. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. data/bin/lib/Image/ExifTool/Exif.pm +31 -10
  41. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  48. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FujiFilm.pm +6 -3
  51. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GoPro.pm +17 -2
  58. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ID3.pm +8 -5
  65. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  67. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  68. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  69. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  70. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  72. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  73. data/bin/lib/Image/ExifTool/JSON.pm +5 -2
  74. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  75. data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  76. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  77. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  78. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  79. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  85. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  87. data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  88. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  99. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  100. data/bin/lib/Image/ExifTool/M2TS.pm +22 -17
  101. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  102. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  103. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  118. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Nikon.pm +166 -97
  121. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  123. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  128. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  130. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PNG.pm +24 -2
  138. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  142. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Pentax.pm +46 -16
  145. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  146. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  150. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  152. data/bin/lib/Image/ExifTool/QuickTime.pm +50 -11
  153. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
  154. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  156. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Ricoh.pm +111 -3
  163. data/bin/lib/Image/ExifTool/Samsung.pm +4 -3
  164. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  166. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  167. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  169. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  170. data/bin/lib/Image/ExifTool/Sony.pm +85 -6
  171. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  173. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  174. data/bin/lib/Image/ExifTool/TagLookup.pm +4878 -4830
  175. data/bin/lib/Image/ExifTool/TagNames.pod +11518 -11379
  176. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  180. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  182. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  184. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  185. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WriteExif.pl +20 -5
  187. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  191. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
  193. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  195. data/bin/lib/Image/ExifTool/Writer.pl +87 -15
  196. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  197. data/bin/lib/Image/ExifTool/XMP.pm +19 -3
  198. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  199. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  200. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  201. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  202. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  203. data/bin/lib/Image/ExifTool.pm +35 -8
  204. data/bin/lib/Image/ExifTool.pod +29 -16
  205. data/bin/perl-Image-ExifTool.spec +9 -9
  206. data/lib/exiftool_vendored/version.rb +1 -1
  207. metadata +3 -2
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.64';
37
+ $VERSION = '3.66';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -597,7 +597,7 @@ my %unknownCipherData = (
597
597
  Hidden => 1, # doesn't appear in Tag Name documentation
598
598
  RawConv => sub { Decipher(\$_[0]); return $_[0] },
599
599
  ValueConv => 'PrintHex($val)', # print as hex
600
- PrintConv => 'length($val) > 65 ? substr($val,0,60) . "[...]" : $val', # limit length
600
+ PrintConv => \&Image::ExifTool::LimitLongValues,
601
601
  );
602
602
 
603
603
  my %meterInfo1 = (
@@ -1643,9 +1643,11 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1643
1643
  # 0x203e - int8u: seen 0, 1, 2, 3, 4 and 255: possibly nr. of detected/tracked faces?
1644
1644
  # 0x203f - int16u
1645
1645
  # 0x2041 - int8u
1646
- # 0x2044 - int32u[2] in ILCE-6700/7CM2/7CR, ILCE-7M4 v1.10, ILCE-7RM5 JPG and ZV-E1:
1647
- # ARW: seen 143360 53248 and 139264 53248
1648
- # JPG: [~filesize] 53248
1646
+ # 0x2044 - int32u[2] offset and size of some unknown data, relative to TIFF header in JPG and ARW - PH
1647
+ 0x2044 => {
1648
+ Name => 'HiddenInfo',
1649
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::HiddenInfo' },
1650
+ },
1649
1651
  # 0x2047 - first seen for ILCE-9M3, November 2023
1650
1652
  # 0x2048 - first seen for ILCE-9M3
1651
1653
  # 0x2049 - undef[2]
@@ -5958,6 +5960,29 @@ my %faceInfo = (
5958
5960
  # 0x001a, 0x001c appear to be 2 int16u values, meaning unknown
5959
5961
  );
5960
5962
 
5963
+ # hidden information (ref PH)
5964
+ %Image::ExifTool::Sony::HiddenInfo = (
5965
+ %binaryDataAttrs,
5966
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
5967
+ FORMAT => 'int32u',
5968
+ IS_OFFSET => [ 0 ], # tag 0 is 'IsOffset'
5969
+ 0 => {
5970
+ Name => 'HiddenDataOffset',
5971
+ IsOffset => 1,
5972
+ OffsetPair => 1,
5973
+ DataTag => 'HiddenData',
5974
+ WriteGroup => 'MakerNotes',
5975
+ Protectd => 2,
5976
+ },
5977
+ 1 => {
5978
+ Name => 'HiddenDataLength',
5979
+ OffsetPair => 0,
5980
+ DataTag => 'HiddenData',
5981
+ WriteGroup => 'MakerNotes',
5982
+ Protectd => 2,
5983
+ },
5984
+ );
5985
+
5961
5986
  # shot information (ref PH)
5962
5987
  %Image::ExifTool::Sony::ShotInfo = (
5963
5988
  %binaryDataAttrs,
@@ -10735,6 +10760,32 @@ my %isoSetting2010 = (
10735
10760
  ValueConv => '$val[1] =~ /^W/i ? -$val[0] : $val[0]',
10736
10761
  PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
10737
10762
  },
10763
+ HiddenData => {
10764
+ Require => {
10765
+ # (Note: This pointer is fragile in JPEG images, and won't be updated
10766
+ # when the file is written unless the EXIF information is also written, but
10767
+ # an incorrect offset is fixed by subsequently writing EXIF with ExifTool)
10768
+ 0 => 'Sony:HiddenDataOffset',
10769
+ 1 => 'Sony:HiddenDataLength',
10770
+ },
10771
+ Notes => q{
10772
+ hidden data in some Sony JPG and ARW images, extracted only if specifically
10773
+ requested
10774
+ },
10775
+ RawConv => q{
10776
+ my $hdOff = $val[0];
10777
+ my $reqTag = $$self{REQ_TAG_LOOKUP}{hiddendata};
10778
+ my $hDump = $self->Options('HtmlDump');
10779
+ return undef unless $reqTag or $self->Options('Validate') or $hDump;
10780
+ my $dataPt = Image::ExifTool::Sony::ReadHiddenData($self, $hdOff, $val[1]);
10781
+ if ($dataPt and $hDump) {
10782
+ my $msg = '(Sony HiddenData)';
10783
+ $msg .= ' <span class=V>(fixed)</span>' if $hdOff != $val[0];
10784
+ $self->HDump($hdOff, $val[1], $msg, undef, 0x08);
10785
+ }
10786
+ return $reqTag ? $dataPt : undef;
10787
+ },
10788
+ },
10738
10789
  );
10739
10790
 
10740
10791
  # add our composite tags
@@ -10783,6 +10834,34 @@ sub SortLensTypes
10783
10834
  $$minoltaTypes{OTHER} = $other;
10784
10835
  }
10785
10836
 
10837
+ #------------------------------------------------------------------------------
10838
+ # Read HiddenData from JPEG trailer
10839
+ # Inputs: 0) ExifTool ref, 1) HiddenDataOffset (abs), 2) HiddenDataLength
10840
+ # Returns: HiddenData reference, or undef on error
10841
+ # --> updates $hdOff upon return if it was incorrect
10842
+ sub ReadHiddenData($$$)
10843
+ {
10844
+ my ($et, $hdOff, $hdLen) = @_;
10845
+ my $raf = $$et{RAF};
10846
+ my ($buff, $pos);
10847
+ unless ($raf->Seek($hdOff,0) and $raf->Read($buff,$hdLen) == $hdLen and
10848
+ $buff=~/^\x55\x26\x11\x05\0/)
10849
+ {
10850
+ # search the first 4096 bytes of the trailer to find the HiddenData
10851
+ unless ($$et{TrailerStart} and $raf->Seek($$et{TrailerStart},0) and
10852
+ $raf->Read($buff,4096) and $buff=~/\x55\x26\x11\x05\0/g and
10853
+ $pos = $$et{TrailerStart}+pos($buff)-5 and $raf->Seek($pos,0) and
10854
+ $raf->Read($buff,$hdLen) == $hdLen)
10855
+ {
10856
+ $et->Warn('Error reading HiddenData',1);
10857
+ return undef;
10858
+ }
10859
+ $_[1] = $pos; # return fixed offset
10860
+ $et->Warn('Fixed incorrect HiddenDataOffset',1) if $et->Options('Validate') or $$et{IsWriting};
10861
+ }
10862
+ return \$buff;
10863
+ }
10864
+
10786
10865
  #------------------------------------------------------------------------------
10787
10866
  # Process "SONY PIC\0" maker notes (DSC-H200/J10/W370/W510, MHS-TS20, ref PH)
10788
10867
  # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
@@ -11655,7 +11734,7 @@ Minolta.
11655
11734
 
11656
11735
  =head1 AUTHOR
11657
11736
 
11658
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
11737
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
11659
11738
 
11660
11739
  This library is free software; you can redistribute it and/or modify it
11661
11740
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ write Sony Image Data Converter version 3.0 metadata in ARW images.
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -174,7 +174,7 @@ information.
174
174
 
175
175
  =head1 AUTHOR
176
176
 
177
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
177
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
178
178
 
179
179
  This library is free software; you can redistribute it and/or modify it
180
180
  under the same terms as Perl itself.
@@ -650,7 +650,7 @@ and values.
650
650
 
651
651
  ~head1 AUTHOR
652
652
 
653
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
653
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
654
654
 
655
655
  This library is free software; you can redistribute it and/or modify it
656
656
  under the same terms as Perl itself.
@@ -834,7 +834,7 @@ Number of modules updated, or negative on error.
834
834
 
835
835
  =head1 AUTHOR
836
836
 
837
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
837
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
838
838
 
839
839
  This library is free software; you can redistribute it and/or modify it
840
840
  under the same terms as Perl itself.