
    Ofc                     n    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ  G d de          Zd	S )
   )MultiByteCharSetProber)CodingStateMachine)SJISDistributionAnalysis)SJISContextAnalysis)SJIS_SM_MODEL)ProbingStateMachineStatec                   `     e Zd Z fdZ fdZed             Zed             Zd Zd Z	 xZ
S )
SJISProberc                     t          t          |                                            t          t                    | _        t                      | _        t                      | _	        | 
                                 d S N)superr   __init__r   r   	coding_smr   distribution_analyzerr   context_analyzerresetself	__class__s    2lib/python3.11/site-packages/chardet/sjisprober.pyr   zSJISProber.__init__%   s[    j$((***+M::%=%?%?" 3 5 5

    c                     t          t          |                                            | j                                         d S r   )r   r   r   r   r   s    r   r   zSJISProber.reset,   s:    j$%%'''##%%%%%r   c                     | j         j        S r   )r   charset_namer   s    r   r   zSJISProber.charset_name0   s    $11r   c                     dS )NJapanese r   s    r   languagezSJISProber.language4   s    zr   c                    t          t          |                    D ]u}| j                            ||                   }|t          j        k    r;| j                            d| j        | j	        |           t          j        | _         n	|t          j        k    rt          j        | _         n|t          j        k    r| j                                        }|dk    r]|d         | j        d<   | j                            | j        d|z
  d          |           | j                            | j        |           | j                            ||dz   |z
  |dz   |z
           |           | j                            ||dz
  |dz            |           w|d         | j        d<   | j        t          j        k    rG| j                                        r.|                                 | j        k    rt          j        | _        | j        S )Nz!%s %s prober hit error at byte %s    r         )rangelenr   
next_stater	   ERRORloggerdebugr   r    r   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlen
_last_charr   feedr   state	DETECTINGgot_enough_dataget_confidenceSHORTCUT_THRESHOLD)r   byte_stricoding_statechar_lens        r   r3   zSJISProber.feed8   s   s8}}%% 	> 	>A>44Xa[AAL|11 >!!"E"&"3T]AG G G*1!44 >*3!33 >>==??6 	>)1!DOA&)..tq8|}}/M/79 9 9.33DOXNNNN)..xA8HQ:BJC 9C 0DEMO O O.33HQU1q5[4I4<> > > &b\:// 	4%5577 4##%%(??4*3zr   c                     | j                                         }| j                                        }t          ||          S r   )r   r7   r   max)r   context_confdistrib_confs      r   r7   zSJISProber.get_confidenceY   s:    ,;;==1@@BB<...r   )__name__
__module____qualname__r   r   propertyr   r    r3   r7   __classcell__)r   s   @r   r   r   $   s            & & & & & 2 2 X2   X  B/ / / / / / /r   r   N)mbcharsetproberr   codingstatemachiner   chardistributionr   jpcntxr   mbcssmr   enumsr   r	   r   r   r   r   <module>rL      s   8 4 3 3 3 3 3 2 2 2 2 2 2 6 6 6 6 6 6 ' ' ' ' ' ' ! ! ! ! ! ! - - - - - - - -8/ 8/ 8/ 8/ 8/' 8/ 8/ 8/ 8/ 8/r   