grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a çÂ=bnã@sXddlmZddlmZddlmZmZmZddlm Z m Z m Z m Z Gdd„deƒZ dS)é)Ú CharSetProber)ÚCodingStateMachine)ÚLanguageFilterÚ ProbingStateÚ MachineState)Ú HZ_SM_MODELÚISO2022CN_SM_MODELÚISO2022JP_SM_MODELÚISO2022KR_SM_MODELcsVeZdZdZd‡fdd„ Z‡fdd„Zedd„ƒZed d „ƒZd d „Z d d„Z ‡Z S)ÚEscCharSetProberz¼ This CharSetProber uses a "code scheme" approach for detecting encodings, whereby easily recognizable escape or shift sequences are relied on to identify these encodings. Ncs tt|ƒj|d�g|_|jtj@rD|j tt ƒ¡|j tt ƒ¡|jtj @r`|j tt ƒ¡|jtj @r||j ttƒ¡d|_d|_d|_d|_| ¡dS)N)Ú lang_filter)Úsuperr Ú__init__Ú coding_smr rZCHINESE_SIMPLIFIEDÚappendrrrZJAPANESEr ZKOREANr Úactive_sm_countÚ_detected_charsetÚ_detected_languageÚ_stateÚreset)Úselfr ©Ú __class__©ú5/usr/lib/python3.9/site-packages/chardet/escprober.pyr*s   zEscCharSetProber.__init__csJtt|ƒ ¡|jD]}|sqd|_| ¡qt|jƒ|_d|_d|_dS)NT) r r rrÚactiveÚlenrrr)rrrrrr:s   zEscCharSetProber.resetcCs|jS©N©r©rrrrÚ charset_nameEszEscCharSetProber.charset_namecCs|jSr)rrrrrÚlanguageIszEscCharSetProber.languagecCs|jr dSdSdS)Ng®Gáz®ï?grrrrrÚget_confidenceMszEscCharSetProber.get_confidencecCs¤|D]˜}|jD]Œ}|r|jsq| |¡}|tjkrhd|_|jd8_|jdkrštj|_|j Sq|tj krtj |_|  ¡|_ |j|_|j Sqq|j S)NFré)rrZ next_staterZERRORrrZNOT_MErÚstateZITS_MEZFOUND_ITZget_coding_state_machinerr!r)rZbyte_strÚcrZ coding_staterrrÚfeedSs"       zEscCharSetProber.feed)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrÚpropertyr r!r"r&Ú __classcell__rrrrr #s   r N)Z charsetproberrZcodingstatemachinerZenumsrrrZescsmrrr r r rrrrÚs