U
    úŸ?iy
  ã                   @  s`   d dl mZ d dlZd dlmZ d dlmZ ddlmZ G dd„ deƒZ	ed	dd
œdd„ƒZ
dS )é    )ÚannotationsN)Ú	lru_cache)Ú
NamedTupleé   )Ú	deprecatec                   @  sH   e Zd ZU dZded< ded< ded< ded< ded< dd	œd
d„ZdS )ÚModeDescriptorzWrapper for mode strings.ÚstrÚmodeztuple[str, ...]ÚbandsÚbasemodeÚbasetypeÚtypestr)Úreturnc                 C  s   | j S )N)r	   )Úself© r   úM/var/www/html/mysite/school/venv/lib/python3.8/site-packages/PIL/ImageMode.pyÚ__str__!   s    zModeDescriptor.__str__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   r      s   
r   r   )r	   r   c                 C  sÚ   t jdkrdnd}ddddd|› d	�fdd
d|› d�fddddddddddddddddœ}| |kr”| dkrtt| dƒ ||  \}}}}t| ||||ƒS dddddd |› d!�|› d"�d#d$d#d%d&d%d'œ}||  }t| ddd|ƒS )(z*Gets a mode descriptor for the given mode.Úlittleú<ú>)ÚLr   )Ú1z|b1)r   r   )r   ú|u1r   ÚI)r   Úi4ÚF)r    Úf4)ÚPr   )r"   r   )ÚRGBr   )ÚRÚGÚBr   )r#   r   )r$   r%   r&   ÚXr   )r#   r   )r$   r%   r&   ÚAr   )r#   r   )ÚCÚMÚYÚKr   )r#   r   )r+   ZCbZCrr   )r#   r   )r   r(   r&   r   )r#   r   )ÚHÚSÚVr   )r#   r   )r$   r%   r&   Úar   )r#   r   )r&   r%   r$   r   )r   r   )r   r(   r   )r   r   )r   r0   r   )r#   r   )r"   r(   r   )r   r   r   r    r"   r#   ÚRGBXÚRGBAÚCMYKÚYCbCrÚLABÚHSVÚRGBaúBGR;15úBGR;16úBGR;24ÚLAÚLaÚPA)r8   r9   r:   é   z<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   )r	   ÚendianÚmodesZ	base_modeZ	base_typer
   Ztype_strZmapping_modesr   r   r   Úgetmode%   sV    é
ñrE   )Ú
__future__r   rA   Ú	functoolsr   Útypingr   Ú
_deprecater   r   rE   r   r   r   r   Ú<module>   s   