
    f j                    ^    U d Z ddlmZ ddlmZ dZded<    eddh          Zd	ed
<   ddZ	dS )z*Stage 1a: BOM (Byte Order Mark) detection.    )annotations)DetectionResult))     utf-32)     r   )s   ﻿z	utf-8-sig)s   utf-16)s   r   ztuple[tuple[bytes, str], ...]_BOMSr   r   zfrozenset[bytes]_UTF32_BOMSdatabytesreturnDetectionResult | Nonec                    t           D ]`\  }}|                     |          rF|t          v r)t          |           t          |          z
  }|dz  dk    rLt	          |dd          c S adS )zCheck for a byte order mark at the start of *data*.

    :param data: The raw byte data to examine.
    :returns: A :class:`DetectionResult` with confidence 1.0, or ``None``.
       r   g      ?N)encoding
confidencelanguage)r	   
startswithr
   lenr   )r   	bom_bytesr   payload_lens       hC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\chardet/pipeline/bom.py
detect_bomr      s      % 
U 
U	8??9%% 		U
 K' !$ii#i..8?a' "HtTTTTTT		U 4    N)r   r   r   r   )
__doc__
__future__r   chardet.pipeliner   r	   __annotations__	frozensetr
   r    r   r   <module>r!      s    0 0 0 " " " " " " , , , , , ,(     !*	+>@S*T U U U U U U     r   