HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/charset_normalizer/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/charset_normalizer/__pycache__/md.cpython-311.pyc
�

�cRG�
��ddlmZddlmZddlmZmZddlmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZGd�d��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��Z Gd�de��Z!Gd�de��Z"Gd�de��Z#Gd�de��Z$ed���dee%dee%de&fd���Z'ed���	d'd"e%d#e(d$e&de(fd%���Z)d&S)(�)�	lru_cache)�	getLogger)�List�Optional�)�COMMON_SAFE_ASCII_CHARACTERS�TRACE�UNICODE_SECONDARY_RANGE_KEYWORD)�is_accentuated�is_ascii�is_case_variable�is_cjk�is_emoticon�	is_hangul�is_hiragana�is_katakana�is_latin�is_punctuation�is_separator�	is_symbol�is_thai�is_unprintable�
remove_accent�
unicode_rangec�V�eZdZdZdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�MessDetectorPluginzy
    Base abstract class used for mess detection plugins.
    All detectors MUST extend and implement given methods.
    �	character�returnc��t�)z@
        Determine if given character should be fed in.
        ��NotImplementedError��selfrs  �7/usr/lib/python3/dist-packages/charset_normalizer/md.py�eligiblezMessDetectorPlugin.eligible$�
��"�!�Nc��t�)z�
        The main routine to be executed upon character.
        Insert the logic in witch the text would be considered chaotic.
        r r"s  r$�feedzMessDetectorPlugin.feed*s
��
"�!r'c��t�)zB
        Permit to reset the plugin to the initial state.
        r �r#s r$�resetzMessDetectorPlugin.reset1r&r'c��t�)z�
        Compute the chaos ratio based on what your feed() has seen.
        Must NOT be lower than 0.; No restriction gt 0.
        r r+s r$�ratiozMessDetectorPlugin.ratio7s
��"�!r'�rN)�__name__�
__module__�__qualname__�__doc__�str�boolr%r)r,�property�floatr.�r'r$rrs���������
"�#�"�$�"�"�"�"�"�c�"�d�"�"�"�"�"�"�"�"��"�u�"�"�"��X�"�"�"r'rc�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
� TooManySymbolOrPunctuationPluginrNc�L�d|_d|_d|_d|_d|_dS)NrF)�_punctuation_count�
_symbol_count�_character_count�_last_printable_char�_frenzy_symbol_in_wordr+s r$�__init__z)TooManySymbolOrPunctuationPlugin.__init__As0��'(���"#���%&���37��!�,1��#�#�#r'rc�*�|���S�N��isprintabler"s  r$r%z)TooManySymbolOrPunctuationPlugin.eligibleI����$�$�&�&�&r'c�(�|xjdz
c_||jkro|tvrft|��r|xjdz
c_nF|���dur0t
|��r!t|��dur|xjdz
c_||_dS)NrF�)	r>r?rrr<�isdigitrrr=r"s  r$r)z%TooManySymbolOrPunctuationPlugin.feedLs�������"���
��2�2�2��!=�=�=��i�(�(�
(��'�'�1�,�'�'�'��!�!�#�#�u�,�,��i�(�(�-��	�*�*�e�3�3��"�"�a�'�"�"�$-��!�!�!r'c�0�d|_d|_d|_dS�Nr)r<r>r=r+s r$r,z&TooManySymbolOrPunctuationPlugin.reset^s ��"#��� !�������r'c�^�|jdkrdS|j|jz|jz}|dkr|ndS)Nr�g333333�?)r>r<r=)r#�ratio_of_punctuations  r$r.z&TooManySymbolOrPunctuationPlugin.ratiocsK��� �A�%�%��3�
�#�d�&8�8��!�'"��(<�s�'B�'B�#�#��Kr'r/�r0r1r2rAr4r5r%r)r,r6r7r.r8r'r$r:r:@s�������2�2�2�2�'�#�'�$�'�'�'�'�.�c�.�d�.�.�.�.�$����
�L�u�L�L�L��X�L�L�Lr'r:c�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�TooManyAccentuatedPluginrNc�"�d|_d|_dSrK�r>�_accentuated_countr+s r$rAz!TooManyAccentuatedPlugin.__init__ps��%&���'(����r'rc�*�|���SrC)�isalphar"s  r$r%z!TooManyAccentuatedPlugin.eligiblets��� � �"�"�"r'c�h�|xjdz
c_t|��r|xjdz
c_dSdS�Nr)r>rrTr"s  r$r)zTooManyAccentuatedPlugin.feedwsJ������"����)�$�$�	)��#�#�q�(�#�#�#�#�	)�	)r'c�"�d|_d|_dSrKrSr+s r$r,zTooManyAccentuatedPlugin.reset}s�� !���"#����r'c�d�|jdks|jdkrdS|j|jz}|dkr|ndS)Nr�rMgffffff�?rS)r#�ratio_of_accentuations  r$r.zTooManyAccentuatedPlugin.ratio�sI��� �A�%�%��)>��)B�)B��3�'+�'>��AV�'V��(=��(E�(E�$�$�3�Nr'r/rOr8r'r$rQrQos�������)�)�)�)�#�#�#�$�#�#�#�#�)�c�)�d�)�)�)�)�$�$�$�$��O�u�O�O�O��X�O�O�Or'rQc�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�UnprintablePluginrNc�"�d|_d|_dSrK)�_unprintable_countr>r+s r$rAzUnprintablePlugin.__init__�s��'(���%&����r'rc��dS�NTr8r"s  r$r%zUnprintablePlugin.eligible�����tr'c�d�t|��r|xjdz
c_|xjdz
c_dSrX)rr`r>r"s  r$r)zUnprintablePlugin.feed�s@���)�$�$�	)��#�#�q�(�#�#�����"����r'c��d|_dSrK)r`r+s r$r,zUnprintablePlugin.reset�s��"#����r'c�@�|jdkrdS|jdz|jzS)NrrMr[)r>r`r+s r$r.zUnprintablePlugin.ratio�s+��� �A�%�%��3��'�!�+�t�/D�D�Dr'r/rOr8r'r$r^r^�s�������'�'�'�'��#��$�����#�c�#�d�#�#�#�#�
$�$�$�$��E�u�E�E�E��X�E�E�Er'r^c�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�SuspiciousDuplicateAccentPluginrNc�0�d|_d|_d|_dSrK��_successive_countr>�_last_latin_characterr+s r$rAz(SuspiciousDuplicateAccentPlugin.__init__�s ��&'���%&���48��"�"�"r'rc�H�|���ot|��SrC)rVrr"s  r$r%z(SuspiciousDuplicateAccentPlugin.eligible�s!��� � �"�"�:�x�	�':�':�:r'c�l�|xjdz
c_|j��t|��r�t|j��rr|���r)|j���r|xjdz
c_t|��t|j��kr|xjdz
c_||_dSrX)r>rlr�isupperrkrr"s  r$r)z$SuspiciousDuplicateAccentPlugin.feed�s�������"����&�2��y�)�)�
3��t�9�:�:�
3�� � �"�"�
,�t�'A�'I�'I�'K�'K�
,��&�&�!�+�&�&��Y�'�'�=��9S�+T�+T�T�T��&�&�!�+�&�&�%.��"�"�"r'c�0�d|_d|_d|_dSrKrjr+s r$r,z%SuspiciousDuplicateAccentPlugin.reset�s ��!"��� !���%)��"�"�"r'c�@�|jdkrdS|jdz|jzS)NrrMrH)r>rkr+s r$r.z%SuspiciousDuplicateAccentPlugin.ratio�s+��� �A�%�%��3��&��*�d�.C�C�Cr'r/rOr8r'r$rhrh�s�������9�9�9�9�;�#�;�$�;�;�;�;�/�c�/�d�/�/�/�/�*�*�*�*�
�D�u�D�D�D��X�D�D�Dr'rhc�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�SuspiciousRangerNc�0�d|_d|_d|_dSrK)�"_suspicious_successive_range_countr>�_last_printable_seenr+s r$rAzSuspiciousRange.__init__�s ��78��/�%&���37��!�!�!r'rc�*�|���SrCrDr"s  r$r%zSuspiciousRange.eligible�rFr'c�D�|xjdz
c_|���st|��s	|tvr	d|_dS|j�	||_dSt|j��}t|��}t
||��r|xjdz
c_||_dSrX)r>�isspacerrrvr� is_suspiciously_successive_rangeru)r#r�unicode_range_a�unicode_range_bs    r$r)zSuspiciousRange.feed�s�������"���
�����	��i�(�(�	��8�8�8�(,�D�%��F��$�,�(1�D�%��F�)6�t�7P�)Q�)Q��)6�y�)A�)A��+�O�_�M�M�	9��3�3�q�8�3�3�$-��!�!�!r'c�0�d|_d|_d|_dSrK)r>rurvr+s r$r,zSuspiciousRange.reset�s �� !���23��/�$(��!�!�!r'c�T�|jdkrdS|jdz|jz}|dkrdS|S)NrrMrHg�������?)r>ru)r#�ratio_of_suspicious_range_usages  r$r.zSuspiciousRange.ratio�sH��� �A�%�%��3�
�3�a�7��!�2"�'�+�S�0�0��3�.�.r'r/rOr8r'r$rsrs�s�������8�8�8�8�
'�#�'�$�'�'�'�'�.�c�.�d�.�.�.�.�.)�)�)�)�
�/�u�/�/�/��X�/�/�/r'rsc�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�SuperWeirdWordPluginrNc��d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NrF�)	�_word_count�_bad_word_count�_foreign_long_count�_is_current_word_bad�_foreign_long_watchr>�_bad_character_count�_buffer�_buffer_accent_countr+s r$rAzSuperWeirdWordPlugin.__init__�sO�� !���$%���()�� �*/��!�).�� �%&���)*��!����)*��!�!�!r'rc��dSrbr8r"s  r$r%zSuperWeirdWordPlugin.eligible	rcr'c���|���r�|xj|z
c_t|��r|xjdz
c_|jdur|t|��dust|��r\t
|��durKt|��dur:t|��dur)t|��durt|��durd|_dS|jsdS|���st|��st|���r"|j�r|xjdz
c_t|j��}|xj|z
c_|dkre|j|zdkrd|_t|jd��r6|jd���r|xjdz
c_d|_|dkr|jr|xjdz
c_d|_|jr9|xjdz
c_|xjt|j��z
c_d|_d|_d|_d	|_dS|d
vr>|���dur*t/|��rd|_|xj|z
c_dSdSdSdS)NrFT�g�(\���?����r�r>�_�-�<�=�>�|�~)rVr�rr�r�rrrrrrryrrr��lenr>r�ror�r�r�rIr)r#r�
buffer_lengths   r$r)zSuperWeirdWordPlugin.feeds��������	��L�L�I�%�L�L��i�(�(�
/��)�)�Q�.�)�)��(�E�1�1��i�(�(�E�1�1�^�I�5N�5N�1��9�%�%��.�.��i�(�(�E�1�1��	�*�*�e�3�3��	�*�*�e�3�3��I�&�&�%�/�/�+/��(��F��|�	��F������"	&�#1�)�#<�#<�"	&�@L�Y�@W�@W�"	&��l�"	&�
����!���!$�T�\�!2�!2�M��!�!�]�2�!�!���!�!��,�}�<�t�C�C�04�D�-�"�$�,�r�"2�3�3�5���R�8H�8P�8P�8R�8R�5��,�,��1�,�,�04�D�-���"�"�t�'?�"��(�(�A�-�(�(�,0��)��(�
2��$�$��)�$�$��)�)�S���->�->�>�)�)�,1��)�',�D�$��D�L�()�D�%�%�%��@�@�@��!�!�#�#�u�,�,��)�$�$�-�)-�D�%��L�L�I�%�L�L�L�L�
A�@�,�,�,�,r'c�v�d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr�Fr)r�r�r�r�r�r>r�r�r+s r$r,zSuperWeirdWordPlugin.resetBsG�����$)��!�#(�� � ������ !���$%��!�#$�� � � r'c�P�|jdkr
|jdkrdS|j|jzS)N�
rrM)r�r�r�r>r+s r$r.zSuperWeirdWordPlugin.ratioLs3����r�!�!�d�&>�!�&C�&C��3��(�4�+@�@�@r'r/rOr8r'r$r�r��s�������+�+�+�+��#��$�����4&�c�4&�d�4&�4&�4&�4&�l%�%�%�%��A�u�A�A�A��X�A�A�Ar'r�c�^�eZdZdZd
d�Zdedefd�Zdeddfd�Zd
d�Z	e
defd	���ZdS)�CjkInvalidStopPluginu�
    GB(Chinese) based encoding often render the stop incorrectly when the content does not fit and
    can be easily detected. Searching for the overuse of '丅' and '丄'.
    rNc�"�d|_d|_dSrK��_wrong_stop_count�_cjk_character_countr+s r$rAzCjkInvalidStopPlugin.__init__Zs��&'���)*��!�!�!r'rc��dSrbr8r"s  r$r%zCjkInvalidStopPlugin.eligible^rcr'c�t�|dvr|xjdz
c_dSt|��r|xjdz
c_dSdS)N>�丄�丅r)r�rr�r"s  r$r)zCjkInvalidStopPlugin.feedasZ����&�&��"�"�a�'�"�"��F��)���	+��%�%��*�%�%�%�%�	+�	+r'c�"�d|_d|_dSrKr�r+s r$r,zCjkInvalidStopPlugin.reseths��!"���$%��!�!�!r'c�:�|jdkrdS|j|jzS)N�rM)r�r�r+s r$r.zCjkInvalidStopPlugin.ratiols&���$�r�)�)��3��%��(A�A�Ar'r/)
r0r1r2r3rAr4r5r%r)r,r6r7r.r8r'r$r�r�Ts���������
+�+�+�+��#��$�����+�c�+�d�+�+�+�+�&�&�&�&��B�u�B�B�B��X�B�B�Br'r�c�Z�eZdZd	d�Zdedefd�Zdeddfd�Zd	d�Ze	de
fd���ZdS)
�ArchaicUpperLowerPluginrNc�h�d|_d|_d|_d|_d|_d|_d|_dS)NFrT)�_buf�_character_count_since_last_sep�_successive_upper_lower_count�#_successive_upper_lower_count_finalr>�_last_alpha_seen�_current_ascii_onlyr+s r$rAz ArchaicUpperLowerPlugin.__init__ts?����	�45��,�23��*�89��0�%&���/3���)-�� � � r'rc��dSrbr8r"s  r$r%z ArchaicUpperLowerPlugin.eligible�rcr'c��|���ot|��}|du}|r|jdkrt|jdkr4|���dur|jdur|xj|jz
c_d|_d|_d|_d|_|xj	dz
c_	d|_dS|jdurt|��durd|_|j��|���r|j���s-|���rB|j���r)|jdur|xjdz
c_d|_nd|_nd|_|xj	dz
c_	|xjdz
c_||_dS)NFr�@rTrH)
rVr
r�rIr�r�r�r�r�r>rro�islower)r#r�is_concerned�	chunk_seps    r$r)zArchaicUpperLowerPlugin.feed�s��� �(�(�*�*�J�/?�	�/J�/J�� �E�)�	��	��=��A�A��4��:�:��%�%�'�'�5�0�0��,��5�5��8�8��6��8�8�23�D�.�34�D�0�$(�D�!��D�I��!�!�Q�&�!�!�'+�D�$��F��#�t�+�+���0C�0C�u�0L�0L�',�D�$�� �,��!�!�#�#�	
"��(=�(E�(E�(G�(G�	
"��!�!�#�#�	
"�(,�(=�(E�(E�(G�(G�	
"��9��$�$��6�6�!�;�6�6� %�D�I�I� $�D�I�I�!��	�����"����,�,��1�,�,� )����r'c�h�d|_d|_d|_d|_d|_d|_d|_dS)NrFT)r>r�r�r�r�r�r�r+s r$r,zArchaicUpperLowerPlugin.reset�s?�� !���/0��,�-.��*�34��0� $�����	�#'�� � � r'c�:�|jdkrdS|j|jzS)NrrM)r>r�r+s r$r.zArchaicUpperLowerPlugin.ratio�s&��� �A�%�%��3��7�$�:O�O�Or'r/rOr8r'r$r�r�ss�������.�.�.�.��#��$�����(*�c�(*�d�(*�(*�(*�(*�T(�(�(�(��P�u�P�P�P��X�P�P�Pr'r��)�maxsizer{r|rc��|�|�dS||krdSd|vrd|vrdSd|vsd|vrdSd|vsd|vr
d|vsd|vrdS|�d��|�d��}}|D]}|tvr�||vrdS�|dv|dv}}|s|r
d	|vsd	|vrdS|r|rdSd
|vsd
|vrd	|vsd	|vrdS|dks|dkrdSd	|vsd	|vs|dvr|dvrd
|vsd
|vrdSd|vsd|vrdSdS)za
    Determine if two Unicode range seen next to each other can be considered as suspicious.
    NTF�Latin�	Emoticons�	Combining� )�Hiragana�Katakana�CJK�HangulzBasic Latin)r�r��Punctuation�Forms)�splitr
)r{r|�keywords_range_a�keywords_range_b�el�range_a_jp_chars�range_b_jp_charss       r$rzrz�s����/�"9��t��/�)�)��u��/�!�!�g��&@�&@��u��o�%�%���)G�)G��u�	�?�"�"�g��&@�&@���&�&�+��*H�*H��u�)8�)>�)>��*�*����S�!�!�'������
�0�0�0��
�!�!�!��5�5�"�
	�
�	
�
	�3�3�
'��	��,��
�� � �E�_�$<�$<��u���,���u��?�"�"�h�/�&A�&A��O�#�#�u��'?�'?��5��m�+�+��-�/O�/O��5�	�� � �E�_�$<�$<��3�3�3��7�7�7��O�+�+�}��/O�/O��5��o�%�%��O�)C�)C��5��4r'i皙�����?F�decoded_sequence�maximum_threshold�debugc	�Z�d�t���D��}t|��dz}d}|dkrd}n|dkrd}nd}t|d	zt	|����D]m\}}|D],}	|	�|��r|	�|���-|d
kr	||zd
ks	||dz
kr!td�|D����}||krn�n|r�td��}
|
�	td
|�d|�d|����t|��dkrL|
�	td|dd�����|
�	td|dd�����|D],}|
�	t|j�d|j�����-t|d��S)zw
    Compute a mess ratio given a decoded bytes sequence. The maximum threshold does stop the computation earlier.
    c�"�g|]}|����
Sr8r8)�.0�md_classs  r$�
<listcomp>zmess_ratio.<locals>.<listcomp>s+��+�+�+����
�
�+�+�+r'rrMi� r�r���
rc3�$K�|]}|jV��dSrC)r.)r��dts  r$�	<genexpr>zmess_ratio.<locals>.<genexpr>%s$����!?�!?�r�"�(�!?�!?�!?�!?�!?�!?r'�charset_normalizerzIMess-detector extended-analysis start. intermediary_mean_mess_ratio_calc=z mean_mess_ratio=z maximum_threshold=r�zStarting with: Nz
Ending with: i�z: �)r�__subclasses__r��zip�ranger%r)�sumr�logr	�	__class__r.�round)r�r�r��	detectors�length�mean_mess_ratio�!intermediary_mean_mess_ratio_calcr�index�detector�loggerr�s            r$�
mess_ratior�s1��+�+�#5�#D�#D�#F�#F�+�+�+�I��&�'�'�!�+�F� �O�
��|�|�13�)�)�	�4���,.�)�)�,/�)�� 0�4� 7��v���G�G����	�5�!�	)�	)�H�� � ��+�+�
)��
�
�i�(�(�(��
�A�I�I�%�"C�C�q�H�H�
�f�q�j�
 �
 �!�!?�!?�Y�!?�!?�!?�?�?�O��"3�3�3�����=��/�0�0���
�
��
5�1R�
5�
5�et�
5�
5�!2�
5�
5�	
�	
�	
��� � �2�%�%��J�J�u�G�0@��"��0E�G�G�H�H�H��J�J�u�G�.>�s�u�u�.E�G�G�H�H�H��	=�	=�B��J�J�u���;�;���;�;�<�<�<�<���!�$�$�$r'N)r�F)*�	functoolsr�loggingr�typingrr�constantrr	r
�utilsrrr
rrrrrrrrrrrrrrr:rQr^rhrsr�r�r�r4r5rzr7r�r8r'r$�<module>r�s���������������!�!�!�!�!�!�!�!�����������
������������������������������������("�"�"�"�"�"�"�"�D,L�,L�,L�,L�,L�'9�,L�,L�,L�^O�O�O�O�O�1�O�O�O�4E�E�E�E�E�*�E�E�E�0"D�"D�"D�"D�"D�&8�"D�"D�"D�J1/�1/�1/�1/�1/�(�1/�1/�1/�hWA�WA�WA�WA�WA�-�WA�WA�WA�tB�B�B�B�B�-�B�B�B�>IP�IP�IP�IP�IP�0�IP�IP�IP�X��4����C��c�]�C�5=�c�]�C�	�C�C�C���C�L��4����IN�4%�4%��4%�.3�4%�BF�4%�
�4%�4%�4%���4%�4%�4%r'