§ <ˆj0' ã ód — d dl mZmZ ddlmZmZmZ ddlmZm Z m Z ddlmZm Z mZ ddlmZmZmZ ddlmZmZmZ ddlmZ G d „ d ¦ « Z G d„ de¦ « Z G d „ de¦ « Z G d„ de¦ « Z G d„ de¦ « Z G d„ de¦ « Z G d„ de¦ « Z G d„ de¦ « Z dS )é )ÚTupleÚUnioné )ÚBIG5_CHAR_TO_FREQ_ORDERÚBIG5_TABLE_SIZEÚBIG5_TYPICAL_DISTRIBUTION_RATIO)ÚEUCKR_CHAR_TO_FREQ_ORDERÚEUCKR_TABLE_SIZEÚ EUCKR_TYPICAL_DISTRIBUTION_RATIO)ÚEUCTW_CHAR_TO_FREQ_ORDERÚEUCTW_TABLE_SIZEÚ EUCTW_TYPICAL_DISTRIBUTION_RATIO)ÚGB2312_CHAR_TO_FREQ_ORDERÚGB2312_TABLE_SIZEÚ!GB2312_TYPICAL_DISTRIBUTION_RATIO)ÚJIS_CHAR_TO_FREQ_ORDERÚJIS_TABLE_SIZEÚJIS_TYPICAL_DISTRIBUTION_RATIO)ÚJOHAB_TO_EUCKR_ORDER_TABLEc óŠ — e Zd ZdZdZdZdZdd„Zdd„Zd e e ef d eddfd„Z defd„Zdefd „Zde e ef defd„ZdS )ÚCharDistributionAnalysisi g®Gáz®ï?g{®Gáz„?é ÚreturnNc óš — t ¦ « | _ d| _ d| _ d| _ d| _ d| _ | ¦ « d S )Nr g F)ÚtupleÚ_char_to_freq_orderÚ_table_sizeÚtypical_distribution_ratioÚ_doneÚ_total_charsÚ_freq_charsÚreset©Úselfs úO/opt/cloudlinux/venv/lib64/python3.11/site-packages/chardet/chardistribution.pyÚ__init__z!CharDistributionAnalysis.__init__@ sJ € õ 5:±G´GˆÔ ؈Ôð +.ˆÔ'؈Œ ØˆÔØˆÔØ� Š ‰Œˆˆˆó c ó0 — d| _ d| _ d| _ dS )zreset analyser, clear any stateFr N)r r r! r# s r% r" zCharDistributionAnalysis.resetO s! € 𠈌 ؈ÔàˆÔÐÐr' ÚcharÚchar_lenc óÒ — |dk r| |¦ « }nd}|dk r>| xj dz c_ || j k r%d| j | k r| xj dz c_ dS dS dS dS )z"feed a character with known lengthé éÿÿÿÿr r i N)Ú get_orderr r r r! )r$ r) r* Úorders r% ÚfeedzCharDistributionAnalysis.feedX s� € à�qŠ=ˆ=à—N’N 4Ñ(Ô(ˆEˆEàˆEØ�AŠ:ˆ:ØÐÔ Ñ"ÐÔà�tÔ'Ò'Ð'ؘÔ1°%Ô8Ò8Ð8ØÐ$Ô$¨Ñ)Ð$Ô$Ð$Ð$ð ˆ:ð (Ð'Ø8Ð8r' c óÌ — | j dk s| j | j k r| j S | j | j k r,| j | j | j z | j z z }|| j k r|S | j S )z(return confidence based on existing datar )r r! ÚMINIMUM_DATA_THRESHOLDÚSURE_NOr ÚSURE_YES)r$ Úrs r% Úget_confidencez'CharDistributionAnalysis.get_confidencef s| € ð Ô Ò!Ð! TÔ%5¸Ô9TÒ%TÐ%TØ”<ÐàÔ Ô 0Ò0Ð0ØÔ ØÔ" TÔ%5Ñ5¸Ô9XÑXñˆAð �4”=Ò Ð Ø�ð Œ}Ðr' c ó" — | j | j k S ©N)r ÚENOUGH_DATA_THRESHOLDr# s r% Úgot_enough_dataz(CharDistributionAnalysis.got_enough_dataw s € ð Ô 4Ô#=Ò=Ð=r' Ú_c ó — dS )Nr- © )r$ r; s r% r. z"CharDistributionAnalysis.get_order| s € ð ˆrr' ©r N)Ú__name__Ú __module__Ú__qualname__r9 r4 r3 r2 r&