Ë
    ^ãjè  ã                  óh   — U d Z ddlm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œdd„Zy)z*Stage 1a: BOM (Byte Order Mark) detection.é    )Úannotations)Údecodes_without_error)ÚDetectionResult)	)ó     þÿúutf-32)ó   ÿþ  r   )s   ï»¿ú	utf-8-sig)s   þÿúutf-16)s   ÿþr
   )s   +/v8úutf-7)s   +/v9r   )s   +/v+r   )s   +/v/r   ztuple[tuple[bytes, str], ...]Ú_BOMSr   r   zfrozenset[bytes]Ú_UTF32_BOMSF)Úinput_truncatedc               óT  — t         D ]Ÿ  \  }}| j                  |«      sŒ|t        v r"t        | «      t        |«      z
  }|dz  dk7  r|sŒB|dk(  xr | t        |«      d j	                  «       }|s*t        | |«      s|r|t        v rt        | «      dz  dk7  rŒ� yt        |dd¬«      c S  y)a  Check for a byte order mark at the start of *data*.

    :param data: The raw byte data to examine.
    :param input_truncated: Whether the examination window ends before the input.
    :returns: A :class:`DetectionResult` with confidence 1.0, or ``None``.
    é   r   r	   Ng      ð?)ÚencodingÚ
confidenceÚlanguage)r   Ú
startswithr   ÚlenÚisasciir   r   )Údatar   Ú	bom_bytesr   Úpayload_lenÚbody_is_asciis         úV/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/chardet/pipeline/bom.pyÚ
detect_bomr   !   s½   € ô  %ò UÑˆ	�8Ø�?‰?˜9Õ%ð œKÑ'Ü! $›i¬#¨i«.Ñ8�Ø ‘? aÒ'±Øð %¨Ñ3ÒX¸¼SÀ»^Ð=MÐ8N×8VÑ8VÓ8XˆMÙ Ô)>¸tÀXÔ)Nñ # y´KÑ'?ÄCÈÃIÐPQÁMÐUVÒDVØÙÜ"¨HÀÈtÔTÒTð7Uð8 ó    N)r   Úbytesr   ÚboolÚreturnzDetectionResult | None)Ú__doc__Ú
__future__r   Úchardet._utilsr   Úchardet.pipeliner   r   Ú__annotations__Ú	frozensetr   r   © r   r   ú<module>r(      sC   ðÚ 0å "å 0Ý ,ð
(€Ð$ó ñ& !*Ð+>Ð@SÐ*TÓ U€ÐÓ Uð 8=ö #r   