# Path: mistletoe/core_tokens.py
# def find_core_tokens(string, root):
# def find_link_image(string, offset, delimiters, matches, root=None):
# def process_emphasis(string, stack_bottom, delimiters, matches):
# def match_link_image(string, offset, delimiter, root=None):
# def match_link_dest(string, offset):
# def match_link_title(string, offset):
# def match_link_label(string, offset, root=None):
# def is_link_label(text, root):
# def normalize_label(text):
# def next_closer(curr_pos, delimiters):
# def matching_opener(curr_pos, delimiters, bottom):
# def is_opener(start, end, string):
# def is_closer(start, end, string):
# def is_left_delimiter(start, end, string):
# def is_right_delimiter(start, end, string):
# def preceded_by(start, string, charset):
# def succeeded_by(end, string, charset):
# def is_control_char(char):
# def follows(string, index, char):
# def shift_whitespace(string, index):
# def deactivate_delimiters(delimiters, index, delimiter_type):
#     def __init__(self, start, end, string):
#     def remove(self, n, left=True):
#     def closed_by(self, other):
#     def __repr__(self):
#     def __init__(self, start, end, *fields):
#     def start(self, n=0):
#     def end(self, n=0):
#     def group(self, n=0):
#     def __repr__(self):
# class Delimiter:
# class MatchObj:


import re
import mistletoe.span_tokenizer as tokenizer
from mistletoe import core_tokens
    global _token_types
    _token_types = [globals()[cls_name] for cls_name in __all__]


class SpanToken:
    parse_inner = True
    parse_group = 1
    precedence = 5

    def __init__(self, match):
        if not self.parse_inner:
            self.content = match.group(self.parse_group)

    def __contains__(self, text):
        if hasattr(self, 'children'):
            return any(text in child for child in self.children)
        return text in self.content

    @classmethod
    def find(cls, string):
        return cls.pattern.finditer(string)


class CoreTokens(SpanToken):
    precedence = 3
    def __new__(self, match):
        return globals()[match.type](match)

    @classmethod
    def find(cls, string):

# Path: mistletoe/core_tokens.py
# def find_core_tokens(string, root):
# def find_link_image(string, offset, delimiters, matches, root=None):
# def process_emphasis(string, stack_bottom, delimiters, matches):
# def match_link_image(string, offset, delimiter, root=None):
# def match_link_dest(string, offset):
# def match_link_title(string, offset):
# def match_link_label(string, offset, root=None):
# def is_link_label(text, root):
# def normalize_label(text):
# def next_closer(curr_pos, delimiters):
# def matching_opener(curr_pos, delimiters, bottom):
# def is_opener(start, end, string):
# def is_closer(start, end, string):
# def is_left_delimiter(start, end, string):
# def is_right_delimiter(start, end, string):
# def preceded_by(start, string, charset):
# def succeeded_by(end, string, charset):
# def is_control_char(char):
# def follows(string, index, char):
# def shift_whitespace(string, index):
# def deactivate_delimiters(delimiters, index, delimiter_type):
#     def __init__(self, start, end, string):
#     def remove(self, n, left=True):
#     def closed_by(self, other):
#     def __repr__(self):
#     def __init__(self, start, end, *fields):
#     def start(self, n=0):
#     def end(self, n=0):
#     def group(self, n=0):
#     def __repr__(self):
# class Delimiter:
# class MatchObj:


# Path: mistletoe/span_token.py
import re
import mistletoe.span_tokenizer as tokenizer
from mistletoe import core_tokens

    global _token_types
    _token_types = [globals()[cls_name] for cls_name in __all__]


class SpanToken:
    parse_inner = True
    parse_group = 1
    precedence = 5

    def __init__(self, match):
        if not self.parse_inner:
            self.content = match.group(self.parse_group)

    def __contains__(self, text):
        if hasattr(self, 'children'):
            return any(text in child for child in self.children)
        return text in self.content

    @classmethod
    def find(cls, string):
        return cls.pattern.finditer(string)


class CoreTokens(SpanToken):
    precedence = 3
    def __new__(self, match):
        return globals()[match.type](match)

    @classmethod
    def find(cls, string):

        return core_tokens.find_core_tokens(string, _root_node)