U
    e(                     @   s   d dl Z d dlZd dlZd dlZd dlmZ erDd dlmZmZm	Z	 e j
dfe jdfe jdfe jdfe jdfe jd	fe jd
fgZedZdd ZdS )    N)MYPY_CHECK_RUNNING)ListTupleTextzutf-8zutf-16z	utf-16-bez	utf-16-lezutf-32z	utf-32-bez	utf-32-les   coding[:=]\s*([-\w.]+)c                 C   s   t D ],\}}| |r| t|d |  S q| ddd D ]D}|dd dkrDt|rDt| d d}| |  S qD| t	dpt
 S )	zCheck a bytes string for a BOM to correctly detect the encoding

    Fallback to locale.getpreferredencoding(False) like open() on Python3N   
   r         #asciiF)BOMS
startswithlendecodesplitENCODING_REsearchgroupslocalegetpreferredencodingsysgetdefaultencoding)databomencodingline r   @/tmp/pip-unpacked-wheel-indi3crb/pip/_internal/utils/encoding.pyauto_decode   s    
r   )codecsr   rer   pip._internal.utils.typingr   typingr   r   r   BOM_UTF8	BOM_UTF16BOM_UTF16_BEBOM_UTF16_LE	BOM_UTF32BOM_UTF32_BEBOM_UTF32_LEr   compiler   r   r   r   r   r   <module>   s    

