a XC?h9 ã @ sV d Z ddlZe d¡jZe d¡jZe d¡Ze d¡Ze d¡Z[G dd „ d ƒZ dS ) zÎShared support for scanning document type declarations in HTML and XHTML. This module is used as a foundation for the html.parser module. It has no documented public API and should not be used directly. é Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c @ s e Zd ZdZdd„ Zdd„ Zdd„ Zdd „ Zd d„ ZdZ d d„ Z d#dd„Zd$dd„Zdd„ Z dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"S )%Ú ParserBaseziParser base class which provides some common support methods used by the SGML/HTML and XHTML parsers.c C s | j tu rtdƒ‚d S )Nz)_markupbase.ParserBase must be subclassed)Ú __class__r ÚRuntimeError©Úself© r ú0/opt/alt/python39/lib64/python3.9/_markupbase.pyÚ__init__ s ÿzParserBase.__init__c C s t dƒ‚d S )Nz.subclasses of ParserBase must override error())ÚNotImplementedError)r Úmessager r r Úerror s ÿzParserBase.errorc C s d| _ d| _d S )Né r ©ÚlinenoÚoffsetr r r r Úreset$ s zParserBase.resetc C s | j | jfS )z&Return current line number and offset.r r r r r Úgetpos( s zParserBase.getposc C sb ||kr|S | j }| d||¡}|rN| j| | _| d||¡}||d | _n| j| | | _|S )NÚ r )ÚrawdataÚcountr Úrindexr )r ÚiÚjr ZnlinesÚposr r r Ú updatepos0 s zParserBase.updateposÚ c C sÞ | j }|d }|||… dks&J