U
    yc                     @   sn  d dl mZmZ ddlmZ ddlmZ dZd ZdZ	dZ
dZdZdZd	Zd
ZdZe	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e	e	e	e	e	e	eeeeeeeeeeeeeeeeeeeeeeeeeee	e	e	e	e	e	ee	ee	e	e	e	e	e	ee	eeeeee	e	e	e	e	e	e	e	e	ee	eeeee	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	eeeeeeeeeeeeeeeeeeeeeeee	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee	eeeeeeeef ZdZG dd deZdS )    )ListUnion   )CharSetProber)ProbingState                     )@r   r   r   r   r   r   r   r   r   r	   r	   r	   r	   r	   r	   r	   r   r	   r	   r	   r	   r	   r	   r	   r   r	   r	   r	   r   r   r	   r	   r   r	   r	   r	   r   r   r   r   r   r	   r	   r	   r	   r	   r	   r	   r   r	   r   r	   r   r   r   r	   r   r	   r   r	   r   r   r	   r	   c                       s~   e Zd Zdd fddZdd fddZeedddZeedd	d
Ze	e
ef edddZedddZ  ZS )Latin1ProberN)returnc                    s"   t    t| _g | _|   d S )N)super__init__OTH_last_char_class_freq_counterresetself	__class__ ?/tmp/pip-build-0we0fmvo/pip/pip/_vendor/chardet/latin1prober.pyr   e   s    
zLatin1Prober.__init__c                    s    t | _dgt | _t   d S )Nr   )r   r   FREQ_CAT_NUMr   r   r   r   r   r   r   r   k   s    zLatin1Prober.resetc                 C   s   dS )Nz
ISO-8859-1r   r   r   r   r   charset_namep   s    zLatin1Prober.charset_namec                 C   s   dS )N r   r   r   r   r   languaget   s    zLatin1Prober.language)byte_strr   c                 C   s`   |  |}|D ]J}t| }t| jt |  }|dkr@tj| _ qZ| j|  d7  < || _q| j	S )Nr   r   )
Zremove_xml_tagsLatin1_CharToClassLatin1ClassModelr   	CLASS_NUMr   NOT_ME_stater   state)r   r    c
char_classfreqr   r   r   feedx   s    
zLatin1Prober.feedc                 C   sX   | j tjkrdS t| j}|dk r&dn| jd | jd d  | }t|d}|d9 }|S )Ng{Gz?g        r	   r   g      4@g\(\?)r&   r   r$   sumr   max)r   total
confidencer   r   r   get_confidence   s    

zLatin1Prober.get_confidence)__name__
__module____qualname__r   r   propertystrr   r   r   bytes	bytearrayr   r*   floatr/   __classcell__r   r   r   r   r   d   s   r   N)typingr   r   charsetproberr   enumsr   r   UDFr   ASCASSACVACOASVASOr#   r!   r"   r   r   r   r   r   <module>   s                                                                                                                                                                                                                                  '