úÎ#Aæ?’$      !"#(c) Martin Hoppenheit 2020MITmartin@hoppenheit.infoNone79P>»exiftool2An ExifTool tag value, enclosed in a type wrapper.exiftool5An ExifTool tag name, consisting of three components: 0The family 0 tag group (information type) e.g., EXIF or XMP.1The family 1 tag group (specific location) e.g., IFD0 or XMP-dc.The actual tag name e.g.,  XResolution or  Description. Example: Tag "EXIF" "IFD0" "XResolution"' corresponds to the ExifTool tag name EXIF:IFD0:XResolution.KDuring development, there are several ways to find the exact name of a tag:See  https://exiftool.org/#groups for a list of tag groups.Run something like exiftool -s -a -G:0:1.Use the  operator in ghci.exiftoolfamily 0 tag group exiftoolfamily 1 tag group exiftoolactual tag name exiftool"A set of ExifTool tag/value pairs. exiftool'An ExifTool instance, initialized with   and terminated with .$exiftool'Parse an ExifTool tag name of the form family0:family1:name,  family0:name or name (but not  family1:name).%exiftool(Format an ExifTool tag name in the form family0:family1:name,  family0:name,  family1:name or name. exiftool Start an ExifTool instance. Use  when done, or  to combine both steps.exiftool!Stop a running ExifTool instance.exiftool?Start an ExifTool instance, do something with it, then stop it.&exiftooluSend a sequence of command-line arguments to a running ExifTool instance and return the corresponding output/errors. The final -execute! argument is added automatically.exiftoolURead all metadata from a file, with ExifTool errors leading to runtime errors. (Use - instead if you would rather intercept them.)exiftoolMRead all metadata from a file, with ExifTool errors returned as Left values.exiftoolPWrite metadata to a file, with ExifTool errors leading to runtime errors. (Use w instead if you would rather intercept them.) The file is modified in place. Make sure you have the necessary backups!exiftool‘Write metadata to a file, with ExifTool errors returned as Left values. The file is modified in place. Make sure you have the necessary backups!exiftoolSDelete metadata from a file, with ExifTool errors leading to runtime errors. (Use w instead if you would rather intercept them.) The file is modified in place. Make sure you have the necessary backups!exiftool”Delete metadata from a file, with ExifTool errors returned as Left values. The file is modified in place. Make sure you have the necessary backups!exiftoolFilter metadata by tag name.exiftool¡Filter metadata by fuzzy tag name matching. Tag names are matched ignoring case, and empty components of the given tag name are considered wildcards. Examples:$m ~~ Tag "EXIF" "IFD0" "XResolution"6 matches exactly the given tag name (ignoring case) m ~~ Tag "exif" "" "xresolution"K matches all EXIF tags with name xresolution (ignoring case), including EXIF:IFD0:XResolution and EXIF:IFD1:XResolutionm ~~ Tag "XMP" "" "" matches all XMP tags Note that ~~ has higher precedence than ', so +m ~~ t <> m ~~ t' == (m ~~ t) <> (m ~~ t')$ which makes combining filters easy.>Hint: This operator is useful to find exact tag names in ghci.(exiftool*Extract content from Right or throw error.)exiftoolSTDIN of this ExifTool processexiftoolSTDOUT of this ExifTool processexiftoolSTDERR of this ExifTool processexiftool'process handle of this ExifTool processexiftoolExifTool instanceexiftool file nameexiftool tag/value MapexiftoolExifTool instanceexiftool file nameexiftool tag/value MapexiftoolExifTool instanceexiftool tag/value Mapexiftool file nameexiftoolExifTool instanceexiftool tag/value Mapexiftool file nameexiftoolExifTool instanceexiftooltags to be deletedexiftool file nameexiftoolExifTool instanceexiftooltags to be deletedexiftool file name    8*      !"#$%&'()*+,exiftool-0.1.0.0-inplaceExifToolValueStringBinaryNumberBoolListTag tagFamily0 tagFamily1tagNameMetadata startExifTool stopExifTool withExifToolgetMeta getMetaEithersetMeta setMetaEither deleteMetadeleteMetaEither filterByTag~~$fToJSONKeyTag $fToJSONTag$fFromJSONKeyTag $fFromJSONTag $fToJSONValue$fFromJSONValue $fShowTag$fEqTag $fGenericTag $fHashableTag $fShowValue $fEqValuereadTagshowTag sendCommandbaseGHC.Base<> eitherErrorET