
    @[h7                     j    d dl mZ ddlmZ ddlmZmZmZ  edg d          Z G d de          Z	d	S )
    )
namedtuple   )CharSetProber)CharacterCategoryProbingStateSequenceLikelihoodSingleByteCharSetModel)charset_namelanguagechar_to_order_maplanguage_modeltypical_positive_ratiokeep_ascii_lettersalphabetc                   r     e Zd ZdZdZdZdZd fd	Z fdZe	d	             Z
e	d
             Zd Zd Z xZS )SingleByteCharSetProber@   i   gffffff?g?FNc                     t                                                       || _        || _        || _        d | _        d | _        d | _        d | _        d | _	        d | _
        |                                  d S N)super__init___model	_reversed_name_prober_last_order_seq_counters_total_seqs_total_char_control_char
_freq_charreset)selfmodelis_reversedname_prober	__class__s       r/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/pip/_vendor/chardet/sbcharsetprober.pyr   z SingleByteCharSetProber.__init__6   so    $'!!

    c                     t                                                       d| _        dgt          j                    z  | _        d| _        d| _        d| _        d| _	        d S )N   r   )
r   r!   r   r   get_num_categoriesr   r   r   r   r    )r"   r&   s    r'   r!   zSingleByteCharSetProber.resetE   sX    S#5#H#J#JJr(   c                 @    | j         r| j         j        S | j        j        S r   )r   r
   r   r"   s    r'   r
   z$SingleByteCharSetProber.charset_nameP   s$     	2$11{''r(   c                 @    | j         r| j         j        S | j        j        S r   )r   r   r   r-   s    r'   r   z SingleByteCharSetProber.languageV   s$     	.$--{##r(   c                    | j         j        s|                     |          }n|                     |          }|s| j        S | j         j        }| j         j        }|D ]}|                    |t          j	                  }|t          j
        k     r| xj        dz  c_        || j        k     rs| xj        dz  c_        | j        | j        k     rS| xj        dz  c_        | j        s|| j                 |         }n||         | j                 }| j        |xx         dz  cc<   || _        | j         j        }| j        t&          j        k    r| j        | j        k    r|                                 }|| j        k    r.| j                            d||           t&          j        | _        n>|| j        k     r3| j                            d||| j                   t&          j        | _        | j        S )Nr   z$%s confidence = %s, we have a winnerz8%s confidence = %s, below negative shortcut threshold %s)r   r   filter_international_wordsremove_xml_tagsstater   r   getr   	UNDEFINEDCONTROLr   SAMPLE_SIZEr    r   r   r   r   r
   r   	DETECTINGSB_ENOUGH_REL_THRESHOLDget_confidencePOSITIVE_SHORTCUT_THRESHOLDloggerdebugFOUND_IT_stateNEGATIVE_SHORTCUT_THRESHOLDNOT_ME)	r"   byte_strr   r   charorderlm_catr
   
confidences	            r'   feedzSingleByteCharSetProber.feed\   s   {- 	666x@@HH++H55H 	: K93 	% 	%D%))$0A0KLLE (000  A%  t'''1$#d&666$$)$$> I!/0@!A%!H!/!6t7G!H&v...!3...$D{/:///$">>>!0022
 @@@K%%>j   #/"7DKK$"BBBK%%R$"8	   #/"5DKzr(   c                    d}| j         dk    r{| j        t          j                 d| j        t          j                 z  z   | j         z  | j        j        z  }|| j        | j        z
  z  | j        z  }|| j	        z  | j        z  }|dk    rd}|S )Ng{Gz?r   g      ?g      ?gGz?)
r   r   r   POSITIVELIKELYr   r   r   r   r    )r"   rs     r'   r9   z&SingleByteCharSetProber.get_confidence   s    a &'9'BCT/0B0IJJK "	#
 +45  T%(::;d>NNADO#d&66ACxxr(   )FN)__name__
__module____qualname__r6   r8   r:   r?   r   r!   propertyr
   r   rF   r9   __classcell__)r&   s   @r'   r   r   0   s        K""&"&     	 	 	 	 	 ( ( X(
 $ $ X$
0 0 0d      r(   r   N)
collectionsr   charsetproberr   enumsr   r   r   r	   r    r(   r'   <module>rT      s   : # " " " " " ( ( ( ( ( ( F F F F F F F F F F#    p p p p pm p p p p pr(   