�
�cRG �
� � d dl mZ d dlmZ d dlmZmZ ddlmZm Z m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ G d� d� � Z G d � d
e� � 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$ 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 � e Zd ZdZdedefd�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��selfr s �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" |