7Re $c@sOddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZddlmZdZdZd Zd ZGd d d ZGd ddeZGdddeZGdddeZGdddeZGdddeZGdddeZ dS(i(uEUCTWCharToFreqOrderuEUCTW_TABLE_SIZEu EUCTW_TYPICAL_DISTRIBUTION_RATIO(uEUCKRCharToFreqOrderuEUCKR_TABLE_SIZEu EUCKR_TYPICAL_DISTRIBUTION_RATIO(uGB2312CharToFreqOrderuGB2312_TABLE_SIZEu!GB2312_TYPICAL_DISTRIBUTION_RATIO(uBig5CharToFreqOrderuBIG5_TABLE_SIZEuBIG5_TYPICAL_DISTRIBUTION_RATIO(uJISCharToFreqOrderuJIS_TABLE_SIZEuJIS_TYPICAL_DISTRIBUTION_RATIO(uwrap_ordigGz?g{Gz?icBs\|EeZdZddZddZddZddZd d Zd d Zd S(uCharDistributionAnalysiscCs)d|_d|_d|_|jdS(N(uNoneu_mCharToFreqOrderu _mTableSizeu_mTypicalDistributionRatioureset(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__/s   u!CharDistributionAnalysis.__init__cCsd|_d|_d|_dS(ureset analyser, clear any stateiNF(uFalseu_mDoneu _mTotalCharsu _mFreqChars(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyureset;s  uCharDistributionAnalysis.resetcCs}|dkr|j|}nd}|dkry|jd7_||jkryd|j|krv|jd7_qvqyndS(u"feed a character with known lengthiiiiNi(u get_orderu _mTotalCharsu _mTableSizeu_mCharToFreqOrderu _mFreqChars(uselfuaBufuaCharLenuorder((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyufeedDs  uCharDistributionAnalysis.feedcCsi|jdks|jtkr"tS|j|jkre|j|j|j|j}|tkre|SntS(u(return confidence based on existing datai(u _mTotalCharsu _mFreqCharsuMINIMUM_DATA_THRESHOLDuSURE_NOu_mTypicalDistributionRatiouSURE_YES(uselfur((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuget_confidenceRs  u'CharDistributionAnalysis.get_confidencecCs |jtkS(N(u _mTotalCharsuENOUGH_DATA_THRESHOLD(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyugot_enough_databsu(CharDistributionAnalysis.got_enough_datacCsdS(Nii((uselfuaBuf((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_ordergsu"CharDistributionAnalysis.get_orderN( u__name__u __module__u __qualname__u__init__uresetufeeduget_confidenceugot_enough_datau get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuCharDistributionAnalysis.s    uCharDistributionAnalysiscBs,|EeZdZddZddZdS(uEUCTWDistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uEUCTWCharToFreqOrderu_mCharToFreqOrderuEUCTW_TABLE_SIZEu _mTableSizeu EUCTW_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__ps   u"EUCTWDistributionAnalysis.__init__cCsBt|d}|dkr:d|dt|ddSdSdS(Niii^iii(uwrap_ord(uselfuaBufu first_char((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_ordervs u#EUCTWDistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuEUCTWDistributionAnalysisos uEUCTWDistributionAnalysiscBs,|EeZdZddZddZdS(uEUCKRDistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uEUCKRCharToFreqOrderu_mCharToFreqOrderuEUCKR_TABLE_SIZEu _mTableSizeu EUCKR_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__s   u"EUCKRDistributionAnalysis.__init__cCsBt|d}|dkr:d|dt|ddSdSdS(Niii^iii(uwrap_ord(uselfuaBufu first_char((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_orders u#EUCKRDistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuEUCKRDistributionAnalysiss uEUCKRDistributionAnalysiscBs,|EeZdZddZddZdS(uGB2312DistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uGB2312CharToFreqOrderu_mCharToFreqOrderuGB2312_TABLE_SIZEu _mTableSizeu!GB2312_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__s   u#GB2312DistributionAnalysis.__init__cCsUt|dt|d}}|dkrM|dkrMd|d|dSdSdS(Niiiii^i(uwrap_ord(uselfuaBufu first_charu second_char((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_orders!u$GB2312DistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuGB2312DistributionAnalysiss uGB2312DistributionAnalysiscBs,|EeZdZddZddZdS(uBig5DistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uBig5CharToFreqOrderu_mCharToFreqOrderuBIG5_TABLE_SIZEu _mTableSizeuBIG5_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__s   u!Big5DistributionAnalysis.__init__cCspt|dt|d}}|dkrh|dkrQd|d|ddSd|d|dSndSdS( Niiiiii?i@i(uwrap_ord(uselfuaBufu first_charu second_char((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_orders !  u"Big5DistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuBig5DistributionAnalysiss uBig5DistributionAnalysiscBs,|EeZdZddZddZdS(uSJISDistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uJISCharToFreqOrderu_mCharToFreqOrderuJIS_TABLE_SIZEu _mTableSizeuJIS_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__s   u!SJISDistributionAnalysis.__init__cCst|dt|d}}|dkrJ|dkrJd|d}n1|dkrw|dkrwd|dd}nd S||d }|d krd }n|S( Niiiiiiiii@iii(uwrap_ord(uselfuaBufu first_charu second_charuorder((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_orders!  u"SJISDistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuSJISDistributionAnalysiss uSJISDistributionAnalysiscBs,|EeZdZddZddZdS(uEUCJPDistributionAnalysiscCs,tj|t|_t|_t|_dS(N(uCharDistributionAnalysisu__init__uJISCharToFreqOrderu_mCharToFreqOrderuJIS_TABLE_SIZEu _mTableSizeuJIS_TYPICAL_DISTRIBUTION_RATIOu_mTypicalDistributionRatio(uself((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu__init__s   u"EUCJPDistributionAnalysis.__init__cCsBt|d}|dkr:d|dt|ddSdSdS(Niii^iii(uwrap_ord(uselfuaBufuchar((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyu get_orders u#EUCJPDistributionAnalysis.get_orderN(u__name__u __module__u __qualname__u__init__u get_order(u __locals__((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyuEUCJPDistributionAnalysiss uEUCJPDistributionAnalysisN(!u euctwfrequEUCTWCharToFreqOrderuEUCTW_TABLE_SIZEu EUCTW_TYPICAL_DISTRIBUTION_RATIOu euckrfrequEUCKRCharToFreqOrderuEUCKR_TABLE_SIZEu EUCKR_TYPICAL_DISTRIBUTION_RATIOu gb2312frequGB2312CharToFreqOrderuGB2312_TABLE_SIZEu!GB2312_TYPICAL_DISTRIBUTION_RATIOubig5frequBig5CharToFreqOrderuBIG5_TABLE_SIZEuBIG5_TYPICAL_DISTRIBUTION_RATIOujisfrequJISCharToFreqOrderuJIS_TABLE_SIZEuJIS_TYPICAL_DISTRIBUTION_RATIOucompatuwrap_orduENOUGH_DATA_THRESHOLDuSURE_YESuSURE_NOuMINIMUM_DATA_THRESHOLDuCharDistributionAnalysisuEUCTWDistributionAnalysisuEUCKRDistributionAnalysisuGB2312DistributionAnalysisuBig5DistributionAnalysisuSJISDistributionAnalysisuEUCJPDistributionAnalysis(((uO/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/chardet/chardistribution.pyus A