Ë
    äØjj   ã                   ól   — d dl mZmZmZmZmZ ddlmZ ddlm	Z	m
Z
mZ  G d„ de«      Z G d„ de«      Zy	)
é    )ÚDictÚListÚ
NamedTupleÚOptionalÚUnioné   )ÚCharSetProber)ÚCharacterCategoryÚProbingStateÚSequenceLikelihoodc                   ór   — e Zd ZU eed<   eed<   eeef   ed<   eeeeef   f   ed<   eed<   eed<   eed<   y)	ÚSingleByteCharSetModelÚcharset_nameÚlanguageÚchar_to_order_mapÚlanguage_modelÚtypical_positive_ratioÚkeep_ascii_lettersÚalphabetN)	Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   ÚintÚfloatÚbool© ó    úe/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sbcharsetprober.pyr   r   #   sD   … ØÓØƒMØ˜C ˜H‘~Ó%Ø˜˜d 3¨ 8™nÐ,Ñ-Ó-Ø!Ó!ØÓØ„Mr   r   c            	       ó¶   ‡ — e Zd ZdZdZdZdZ	 	 ddedede	e
   d	dfˆ fd
„Zdˆ fd„Zed	e	e   fd„«       Zed	e	e   fd„«       Zdeeef   d	efd„Zd	efd„Zˆ xZS )ÚSingleByteCharSetProberé@   i   gffffffî?gš™™™™™©?NÚmodelÚis_reversedÚname_proberÚreturnc                 óÀ   •— t         ‰| �  «        || _        || _        || _        d| _        g | _        d| _        d| _        d| _	        d| _
        | j                  «        y ©Néÿ   r   )ÚsuperÚ__init__Ú_modelÚ	_reversedÚ_name_proberÚ_last_orderÚ_seq_countersÚ_total_seqsÚ_total_charÚ_control_charÚ
_freq_charÚreset)Úselfr$   r%   r&   Ú	__class__s       €r    r,   z SingleByteCharSetProber.__init__3   s^   ø€ ô 	‰ÑÔØˆŒà$ˆŒà'ˆÔØˆÔØ(*ˆÔØˆÔØˆÔØˆÔØˆŒØ�
‰
�r   c                 ó¢   •— t         ‰| �  «        d| _        dgt        j                  «       z  | _        d| _        d| _        d| _        d| _	        y r)   )
r+   r6   r0   r   Úget_num_categoriesr1   r2   r3   r4   r5   )r7   r8   s    €r    r6   zSingleByteCharSetProber.resetG   sL   ø€ Ü‰‰ŒàˆÔØ˜SÔ#5×#HÑ#HÓ#JÑJˆÔØˆÔØˆÔØˆÔàˆ�r   c                 ór   — | j                   r| j                   j                  S | j                  j                  S ©N)r/   r   r-   ©r7   s    r    r   z$SingleByteCharSetProber.charset_nameR   s-   € à×ÒØ×$Ñ$×1Ñ1Ð1Ø�{‰{×'Ñ'Ð'r   c                 ór   — | j                   r| j                   j                  S | j                  j                  S r<   )r/   r   r-   r=   s    r    r   z SingleByteCharSetProber.languageX   s-   € à×ÒØ×$Ñ$×-Ñ-Ð-Ø�{‰{×#Ñ#Ð#r   Úbyte_strc                 óÊ  — | j                   j                  s| j                  |«      }n| j                  |«      }|s| j                  S | j                   j
                  }| j                   j                  }|D ]ë  }|j                  |t        j                  «      }|t        j                  k  r| xj                  dz  c_        || j                  k  r‹| xj                  dz  c_        | j                  | j                  k  r]| 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*                  kD  r©| j-                  «       }|| j.                  kD  r>| j0                  j3                  d||«       t&        j4                  | _        | j                  S || j8                  k  r=| j0                  j3                  d||| j8                  «       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ÚCONTROLr3   ÚSAMPLE_SIZEr5   r0   r2   r.   r1   r   r   Ú	DETECTINGÚSB_ENOUGH_REL_THRESHOLDÚget_confidenceÚPOSITIVE_SHORTCUT_THRESHOLDÚloggerÚdebugÚFOUND_ITÚ_stateÚNEGATIVE_SHORTCUT_THRESHOLDÚNOT_ME)	r7   r?   r   r   ÚcharÚorderÚlm_catr   Ú
confidences	            r    ÚfeedzSingleByteCharSetProber.feed^   s	  € à�{‰{×-Ò-Ø×6Ñ6°xÓ@‰Hà×+Ñ+¨HÓ5ˆHÙØ—:‘:ÐØ ŸK™K×9Ñ9ÐØŸ™×3Ñ3ˆØò 	%ˆDØ%×)Ñ)¨$Ô0A×0KÑ0KÓLˆEð Ô(×0Ñ0Ò0Ø× Ò  AÑ%Õ Ø�t×'Ñ'Ò'Ø—’ 1Ñ$•Ø×#Ñ# d×&6Ñ&6Ò6Ø×$Ò$¨Ñ)Õ$ØŸ>š>Ø!/°×0@Ñ0@Ñ!AÀ%Ñ!H™à!/°Ñ!6°t×7GÑ7GÑ!H˜Ø×&Ñ& vÓ.°!Ñ3Ó.Ø$ˆDÕð%	%ð( —{‘{×/Ñ/ˆØ�:‰:œ×/Ñ/Ò/Ø×Ñ $×">Ñ">Ò>Ø!×0Ñ0Ó2�
Ø × @Ñ @Ò@Ø—K‘K×%Ñ%Ø>ÀÈjôô #/×"7Ñ"7�D”Kð �z‰zÐð   $×"BÑ"BÒBØ—K‘K×%Ñ%ØRØ$Ø"Ø×8Ñ8ô	ô #/×"5Ñ"5�D”Kà�z‰zÐr   c                 ó„  — d}| j                   dkD  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{®Gáz„?r   g      Ð?g      ð?g®Gáz®ï?)
r2   r1   r   ÚPOSITIVEÚLIKELYr-   r   r3   r4   r5   )r7   Úrs     r    rJ   z&SingleByteCharSetProber.get_confidence�   sÇ   € ØˆØ×Ñ˜aÒð ×&Ñ&Ô'9×'BÑ'BÑCØ˜T×/Ñ/Ô0B×0IÑ0IÑJÑJñKð ×"Ñ"ñ	#ð
 —+‘+×4Ñ4ñ5ð ð �T×%Ñ%¨×(:Ñ(:Ñ:Ñ;¸d×>NÑ>NÑNˆAØ�D—O‘OÑ# d×&6Ñ&6Ñ6ˆAØ�CŠxØ�Øˆr   )FN)r'   N)r   r   r   rG   rI   rK   rP   r   r   r   r	   r,   r6   Úpropertyr   r   r   r   ÚbytesÚ	bytearrayr   rV   r   rJ   Ú__classcell__)r8   s   @r    r"   r"   -   s¿   ø„ Ø€KØ"ÐØ"&ÐØ"&Ðð
 "Ø/3ñ	à%ðð ðð ˜mÑ,ð	ð
 
õõ(	ð ð(˜h s™mò (ó ð(ð
 ð$˜( 3™-ò $ó ð$ð
0˜U 5¨)Ð#3Ñ4ð 0¸ó 0ðd ÷ r   r"   N)Útypingr   r   r   r   r   Úcharsetproberr	   Úenumsr
   r   r   r   r"   r   r   r    ú<module>rb      s0   ð÷: ;Õ :å (ß FÑ Fô˜Zô ôu˜mõ ur   