o
    5d_6                     @   s,   d dl mZ d dlmZ G dd deZdS )   )CharSetProber)ProbingStatec                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZ fddZdd Zdd Zdd Zdd Zdd Zedd Zedd Zedd  Z  ZS )!HebrewProber                                 g{Gz?z
ISO-8859-8zwindows-1255c                    s:   t    d | _d | _d | _d | _d | _d | _|   d S N)	super__init___final_char_logical_score_final_char_visual_score_prev_before_prev_logical_prober_visual_proberresetself	__class__ wC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\pip/_vendor/chardet/hebrewprober.pyr      s   
zHebrewProber.__init__c                 C   s   d| _ d| _d| _d| _d S )N     )r   r   r   r   r   r   r   r   r      s   
zHebrewProber.resetc                 C   s   || _ || _d S r   )r   r   )r   logical_probervisual_proberr   r   r   set_model_probers   s   
zHebrewProber.set_model_probersc                 C   s   || j | j| j| j| jfv S r   )	FINAL_KAF	FINAL_MEM	FINAL_NUNFINAL_PEFINAL_TSADIr   cr   r   r   is_final   s   zHebrewProber.is_finalc                 C   s   || j | j| j| jfv S r   )
NORMAL_KAF
NORMAL_MEM
NORMAL_NUN	NORMAL_PEr*   r   r   r   is_non_final   s   zHebrewProber.is_non_finalc                 C   s   | j tjkr	tjS | |}|D ]D}|dkr7| jdkr6| | jr)|  jd7  _n$| | jr6|  j	d7  _	n| jdkrM| | jrM|dkrM|  j	d7  _	| j| _|| _qtj
S )Nr!   r   )stater   NOT_MEfilter_high_byte_onlyr   r,   r   r   r1   r   	DETECTING)r   byte_strcurr   r   r   feed   s&   



zHebrewProber.feedc                 C   sx   | j | j }|| jkr| jS || j kr| jS | j | j  }|| jkr)| jS || j k r2| jS |dk r9| jS | jS )Ng        )	r   r   MIN_FINAL_CHAR_DISTANCELOGICAL_HEBREW_NAMEVISUAL_HEBREW_NAMEr   get_confidencer   MIN_MODEL_DISTANCE)r   finalsubmodelsubr   r   r   charset_name  s   

zHebrewProber.charset_namec                 C   s   dS )NHebrewr   r   r   r   r   language#  s   zHebrewProber.languagec                 C   s(   | j jtjkr| jjtjkrtjS tjS r   )r   r2   r   r3   r   r5   r   r   r   r   r2   '  s   zHebrewProber.state)__name__
__module____qualname__r%   r-   r&   r.   r'   r/   r(   r0   r)   NORMAL_TSADIr9   r=   r;   r:   r   r   r$   r,   r1   r8   propertyr@   rB   r2   __classcell__r   r   r   r   r      s6    

	>

r   N)charsetproberr   enumsr   r   r   r   r   r   <module>   s   d