o
    1ήcA                     @   s:  d dl mZ G dd deddZd#ddZd	Zd
ZdZdZdZdZ	dZ
dZdZdZdZdZdZdZi dded	fdded	fdded	fdded	fdd ed fd!d"ed	d	d
ddddd#d$fd%d&ed	d d	d
dddddd'd(d)
fd*d+ed	fd,d-ed	fd.d/ed	fd0d1ed	fd2d3ed	fd4d5ed	fd6d7ed	fd8d9ed	fd:d;ed fd<d=ed	fi d>d?ed	fd@dAed	fdBdCed fdDdEed fdFdGed fdHdIed	fdJdKed	fdLdMed	d	d
dNfdOdPed	fdQdRed	fdSdTed	fdUdVed	fdWdXed	fdYdZed	fd[d\ed fd]d^ed	fd_d`ed	fi dadbed	d	d
ddcfdddeed
fdfdged fdhdied	fdjdked	fdldmed	fdndoed	fdpdqed	d	d
drfdsdted
fdudvedfdwdxed fdydzed
fd{d|ed	fd}d~ed	fdded fdded fdded fi dded	fdded	fdded	fdded fdded	fdded fdded fdded fdded fddedfdde
d	fdded	fdded	fdded	fdded	fdded fdded fi dded fdded fdded fddedfdded
fdded	fddedfdded fdded	fdde
d	fdded fdded	fdde
d	fdded	fdde
d	fdded	fdde
d	fi dde
d	fdded	fdde
d	fdde
d fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fdded	fded	fded	fde
d	fded	d d	dfded	fded fde
d	fdZde
d	fde
d	fded	fde
d	fdi d dedfd	ded
fd
dedfdded
fddedfdded	fdded	fddedfdded fdded
fdded
fdd ed	fdded
fdded	fdded
fdded	fdded
fded	fd	ed fd
ed
fdedfded
fdedfded
fded	fded
fded	fde
d fde
d fdedfded	fdded	fde
d	fddZi dddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2ddd3d4d5d6i d7d8d9d:d;d<ddd=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVi dWdXdYdZd[d\ddēd]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvi dwdxdydzd{d|d}d~ddddddddddddddddddddƓddddddi ddddddddddddddddȓddddddddddddddddddi ddddddddddddddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓd֐dדi dؐdٓdڐdۓdܐdݓdސdߓddddddddddddddddddddddddddi ddddddd ddddddddd	d
dddddddddddddddddddddZd d! Ze  i Zh d"Zed ed{ ed} ed dS ($      )
namedtuplec                       s*   e Zd Zg Zd fdd	Zdd Z  ZS )TagInfoNunknownc                    s   t  | |||||pi S N)super__new__)clsvaluenametypelengthenum	__class__ 3/tmp/pip-target-vg8gfxp4/lib/python/PIL/TiffTags.pyr      s   zTagInfo.__new__c                 C   s   | j r
| j ||S |S r   )r   get)selfr	   r   r   r   cvt_enum   s   zTagInfo.cvt_enum)Nr   NNN)__name__
__module____qualname__	__slots__r   r   __classcell__r   r   r   r   r      s    r   _TagInfozvalue name type length enumNc                 C   sD   |dur|t v rt | | nd}nt| }|p!t| t| dS )ah  
    :param tag: Integer tag number
    :param group: Which :py:data:`~PIL.TiffTags.TAGS_V2_GROUPS` to look in

    .. versionadded:: 8.3.0

    :returns: Taginfo namedtuple, From the ``TAGS_V2`` info if possible,
        otherwise just populating the value and name from ``TAGS``.
        If the tag is not recognized, "unknown" is returned for the name

    Nr   )TAGS_V2_GROUPSr   TAGS_V2r   TAGS)taggroupinfor   r   r   lookup$   s   
r!                           	   
                  NewSubfileType   SubfileType   
ImageWidth  ImageLength  BitsPerSample  Compressioni  )UncompressedzCCITT 1dzGroup 3 FaxzGroup 4 FaxLZWJPEGPackBits  PhotometricInterpretationi#  i|  )
WhiteIsZeroBlackIsZeroRGBzRGB PalettezTransparency MaskCMYKYCbCrCieLABCFA	LinearRaw  Threshholdingi  	CellWidthi	  
CellLength
  	FillOrder  DocumentNamei  ImageDescriptioni  Makei  Modeli  StripOffsets  Orientation  SamplesPerPixel  RowsPerStripi  StripByteCounts  MinSampleValue  MaxSampleValue  XResolution  YResolution  PlanarConfiguration)
ContiguousSeparatei  PageName  	XPosition  	YPositioni   FreeOffsetsi!  FreeByteCountsi"  GrayResponseUniti#  GrayResponseCurvei$  	T4Optionsi%  	T6Options(  ResolutionUnit)noneinchcm)  
PageNumber-  TransferFunctioni1  Softwarei2  DateTimei;  Artisti<  HostComputeri=  	Predictor)rv   zHorizontal Differencingi>  
WhitePointi?  PrimaryChromaticities@  ColorMapA  HalftoneHintsB  	TileWidthC  
TileLengthiD  TileOffsetsiE  TileByteCountsJ  SubIFDsiL  InkSetM  InkNamesiN  NumberOfInksiP  DotRangeiQ  TargetPrinterR  ExtraSamplesS  SampleFormatT  SMinSampleValueU  SMaxSampleValueiV  TransferRangei[  
JPEGTablesi   JPEGProci  JPEGInterchangeFormati  JPEGInterchangeFormatLengthi  JPEGRestartIntervali  JPEGLosslessPredictorsi  JPEGPointTransformsi  JPEGQTablesi  JPEGDCTablesi	  JPEGACTablesi  YCbCrCoefficients  YCbCrSubSampling  YCbCrPositioning  ReferenceBlackWhitei  XMPi  	Copyrighti  IptcNaaInfoiI  PhotoshopInfoi  ExifIFDis  
ICCProfile%  
GPSInfoIFD   ExifVersion  InteroperabilityIFD  
CFAPatterni   
MPFVersioni  NumberOfImagesi  MPEntryi  ImageUIDListi  TotalFramesi  MPIndividualNumi  PanOrientationi  PanOverlap_Hi  PanOverlap_Vi  BaseViewpointNumi  ConvergenceAnglei  BaselineLengthi  VerticalDivergencei  AxisDistance_Xi	  AxisDistance_Yi
  AxisDistance_Zi  YawAngle
PitchAngle	RollAngleFlashPixVersionMakerNoteSafety)UnsafeSafeBestQualityScaleImageJMetaDataByteCountsImageJMetaData)i  i     i5  i\  i  i  )r   r   r   r   GPSVersionIDGPSLatitudeRefGPSLatitudeGPSLongitudeRefGPSLongitudeGPSAltitudeRefGPSAltitudeGPSTimeStampGPSSatellites	GPSStatusGPSMeasureModeGPSDOPGPSSpeedRefGPSSpeed   GPSTrackRef   GPSTrackGPSImgDirectionRefGPSImgDirectionGPSMapDatumGPSDestLatitudeRefGPSDestLatitudeGPSDestLongitudeRefGPSDestLongitudeGPSDestBearingRefGPSDestBearingGPSDestDistanceRefGPSDestDistanceGPSProcessingMethodGPSAreaInformationGPSDateStampGPSDifferential)                                          InteropIndexInteropVersion)r"   r#   )r   r   r   i  zWang Annotationi  ExposureTimei  FNumberi  z
MD FileTagi  zMD ScalePixeli  zMD ColorTablei  z
MD LabNamei  zMD SampleInfoi  zMD PrepDatei  zMD PrepTimei  zMD FileUnitsi  ModelPixelScaleTagi~  zINGR Packet Data Tagi  zINGR Flag Registersi  zIrasB Transformation Matrixi  ModelTiepointTagi؅  ModelTransformationTagi  GeoKeyDirectoryTagi  GeoDoubleParamsTagi  GeoAsciiParamsTagi"  ExposureProgrami$  SpectralSensitivityi'  ISOSpeedRatingsi(  OECFi0  SensitivityTypei1  StandardOutputSensitivityi2  RecommendedExposureIndexi3  ISOSpeedi4  ISOSpeedLatitudeyyyi5  ISOSpeedLatitudezzzi\  zHylaFAX FaxRecvParamsi]  zHylaFAX FaxSubAddressi^  zHylaFAX FaxRecvTimei  DateTimeOriginali  DateTImeDigitizedi  ComponentsConfigurationi  CompressedBitsPerPixeli\  ImageSourceDatai  ShutterSpeedValuei  ApertureValuei  BrightnessValuei  ExposureBiasValuei  MaxApertureValuei  SubjectDistancei  MeteringModei  LightSourcei	  Flashi
  FocalLengthi  SubjectAreai|  	MakerNotei  UserCommenti  SubSeci  SubSecTimeOriginali  SubsecTimeDigitizedr   i  
ColorSpacei  PixelXDimensioni  PixelYDimensioni  RelatedSoundFilei  FlashEnergyi  SpatialFrequencyResponsei  FocalPlaneXResolutioni  FocalPlaneYResolutioni  FocalPlaneResolutionUniti  SubjectLocationi  ExposureIndexi  SensingMethodi   
FileSourcei  	SceneTypei  CustomRenderedi  ExposureModei  WhiteBalancei  DigitalZoomRatioi  FocalLengthIn35mmFilmi  SceneCaptureTypei  GainControli  Contrasti	  
Saturationi
  	Sharpnessi  DeviceSettingDescriptioni  SubjectDistanceRangei   ImageUniqueIDi0  CameraOwnerNamei1  BodySerialNumberi2  LensSpecificationi3  LensMakei4  	LensModeli5  LensSerialNumberi  GDAL_METADATAi  GDAL_NODATAi   Gammai'  zOce Scanjob Descriptioni(  zOce Application Selectori)  zOce Identification Numberi*  zOce ImageLogic Characteristicsi  
DNGVersioni  DNGBackwardVersioni  UniqueCameraModeli  LocalizedCameraModeli  CFAPlaneColori  	CFALayouti  LinearizationTablei  BlackLevelRepeatDimi  
BlackLeveli  BlackLevelDeltaHi  BlackLevelDeltaVi  
WhiteLeveli  DefaultScalei  DefaultCropOrigini   DefaultCropSizei!  ColorMatrix1i"  ColorMatrix2i#  CameraCalibration1i$  CameraCalibration2i%  ReductionMatrix1i&  ReductionMatrix2i'  AnalogBalancei(  AsShotNeutrali)  AsShotWhiteXYi*  BaselineExposurei+  BaselineNoisei,  BaselineSharpnessi-  BayerGreenSpliti.  LinearResponseLimiti/  CameraSerialNumberi0  LensInfoi1  ChromaBlurRadiusi2  AntiAliasStrengthi4  DNGPrivateDataCalibrationIlluminant1CalibrationIlluminant2zAlias Layer Metadata)iZ  i[  i`  c                  C   s   t  D ]+\} }|d t| < t|dkr%|d  D ]
\}}|t| |f< qt| g|R  t | < qt D ]\}}| D ]\} }t| g|R  || < q<q4d S )Nr   r%   r$   )r   itemsr   lenr   r   )kvsksvr   tagsr   r   r   	_populate  s   r  >(             r4   r6   r8   r:   r@   rJ   rN   rP   rV   r   r   r   rX   rZ   r]   r_   ra   rc   re   rj   rl   rt   ry   r{   r   r   r   r   r   r   r   r   r   r   r2   r   )collectionsr   r   r!   BYTEASCIISHORTLONGRATIONALSIGNED_BYTE	UNDEFINEDSIGNED_SHORTSIGNED_LONGSIGNED_RATIONALFLOATDOUBLEIFDLONG8r   r   r   r  TYPESLIBTIFF_COREremover   r   r   r   <module>   s   





%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
56
7
8
9
:
;
<
=
>
?@
A
B
C
D
E
FG
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
v
w
x
y
z
{
|
}
~
 
  
  
  
  
  
  
    








	
















"0	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{|}~                 	  
     
 
D
,

