� !A?h=9 � �� � d dl Z e j d� � j Z e j d� � j Z e j d� � Z e j d� � Z e j d� � Z[ G d� d� � ZdS ) � Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c �l � e Zd Z d� Zd� Zd� Zd� ZdZd� Zdd�Z dd �Z d � Zd� Zd� Z d � Zd� Zd� Zd� ZdS )� ParserBasec �@ � | j t u rt d� � �d S )Nz)_markupbase.ParserBase must be subclassed)� __class__r �RuntimeError��selfs �8/opt/alt/python-internal/lib64/python3.11/_markupbase.py�__init__zParserBase.__init__ s, � ��>�Z�'�'��;�=� =� =� (�'� c �" � d| _ d| _ d S )N� r ��lineno�offsetr s r �resetzParserBase.reset s � ��������r c � � | j | j fS �Nr r s r �getposzParserBase.getpos$ s � �4��{�D�K�'�'r c �� � ||k r|S | j }|� d||� � }|r4| j |z | _ |� d||� � }||dz z | _ n| j |z |z | _ |S )N� r )�rawdata�countr �rindexr )r �i�jr �nlines�poss r � updateposzParserBase.updatepos, s � ���6�6��H��,�����t�Q��*�*��� ,��+��.�D�K��.�.��q�!�,�,�C��S��U�)�D�K�K��+��/�!�+�D�K��r � c � � | j }|dz }|||dz � dk r|dz S |||dz � dv rdS t |� � }|||dz � dk r| � |� � S || dk r| � |� � S | � ||� � \ }}|dk r|S |d k rd | _ ||k �r|| }|dk rC||dz |� }|d k r| � |� � n| � |� � |dz S |dv r)t ||� � }|sdS |� � � }n�|dv r| � ||� � \ } }nr|| j v r|dz }nc|dk rE|d k r| � |dz |� � }n=|d v rt d|z � � �t d� � �t d|| z � � �|dk r|S ||k ��dS )N� r �>)�-r �����z--�[r �doctyper z"'�4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ> �link�attlist�element�linktypez&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r �len� parse_comment�parse_marked_section� _scan_name�_decl_otherchars�handle_decl�unknown_decl�_declstringlit_match�end�_parse_doctype_subset�AssertionError) r r r r �n�decltype�c�data�m�names r �parse_declarationzParserBase.parse_declaration<