o
    ä›eÒ
  ã                   @  s@   d dl mZ d dlZd dlmZ G dd„ dƒZedd	d
„ƒZdS )é    )ÚannotationsN)Ú	lru_cachec                   @  s$   e Zd ZdZddd„Zddd„ZdS )ÚModeDescriptorzWrapper for mode strings.ÚmodeÚstrÚbandsútuple[str, ...]ÚbasemodeÚbasetypeÚtypestrÚreturnÚNonec                 C  s"   || _ || _|| _|| _|| _d S ©N)r   r   r	   r
   r   )Úselfr   r   r	   r
   r   © r   ú@/var/www/html/venv/lib/python3.10/site-packages/PIL/ImageMode.pyÚ__init__   s
   
zModeDescriptor.__init__c                 C  s   | j S r   )r   )r   r   r   r   Ú__str__&   s   zModeDescriptor.__str__N)r   r   r   r   r	   r   r
   r   r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s    
r   r   r   r   c                 C  s  t jdkrdnd}i dd“dd“dddd	|d
 f“dddd|d f“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(œ¥}| |v rc||  \}}}}t| ||||ƒS d)d*d)d*d+d,|d- |d. d/d0d/d1d2d1d3œ}||  }t| d	dd|ƒS )4z*Gets a mode descriptor for the given mode.Úlittleú<ú>Ú1)ÚLr   )r   z|b1r   )r   r   )r   ú|u1ÚI)r   Úi4ÚF)r    Úf4ÚP)r"   r   )r"   r   ÚRGB)r#   r   )ÚRÚGÚBr   ÚRGBX)r#   r   )r$   r%   r&   ÚXr   ÚRGBA)r#   r   )r$   r%   r&   ÚAr   ÚCMYK)r#   r   )ÚCÚMÚYÚKr   ÚYCbCr)r#   r   )r.   ÚCbÚCrr   ÚLAB)r#   r   )r   r*   r&   r   ÚHSV)r#   r   )ÚHÚSÚVr   ÚRGBa)r#   r   )r$   r%   r&   Úar   zBGR;15)r#   r   )r&   r%   r$   r   zBGR;16zBGR;24ÚLA)r   r   )r   r*   r   )r   r   )r   r9   r   )r#   r   )r"   r*   r   )ÚLaÚPAz<u2z<i2z>u2z>i2Úu2Úi2z<u4z>u4z<i4z>i4)zI;16zI;16SzI;16LzI;16LSzI;16BzI;16BSzI;16NzI;16NSzI;32zI;32BzI;32LzI;32SzI;32BSzI;32LS)ÚsysÚ	byteorderr   )r   ÚendianÚmodesÚ	base_modeÚ	base_typer   Útype_strÚmapping_modesr   r   r   Úgetmode*   sv   ýüûúùø	÷
öõôòñïîíìëéñrG   )r   r   r   r   )Ú
__future__r   r?   Ú	functoolsr   r   rG   r   r   r   r   Ú<module>   s   