
    ~,hG                    2   % S r SSKJr  SSKrSSKJrJr  SSKJr  SSK	J
r
  SSKJr  SS	KJr  SS
KJr  \(       a  SSKJr  \R&                  " \5      r\\\\\/\4   r S\R2                  SS/4S\R4                  / 4S\R6                  / SQ4S\R8                  / SQ4S\R:                  / SQ4S\R<                  / SQ4S\R>                  / 4S\R@                  / SQ4S\RB                  / SQ4S\RD                  / 4S\RF                  / 4/r$S\%S'    " S S5      r&g)zBlock-level tokenizer.    )annotationsN)TYPE_CHECKINGCallable   )rules_block)Ruler)
StateBlock)Token)EnvType)
MarkdownIttable	paragraph	referencecodefence)r   r   
blockquotelistr   hrr   )r   r   r   
html_blockheadinglheadingz.list[tuple[str, RuleFuncBlockType, list[str]]]_rulesc                  J    \ rS rSrSrSS jrS	S jr          S
S jrSrg)ParserBlock.   zT
ParserBlock#ruler -> Ruler

[[Ruler]] instance. Keep configuration of block rules.
c                    [         [           " 5       U l        [         H$  u  pnU R                  R	                  XSU05        M&     g )Nalt)r   RuleFuncBlockTyperulerr   push)selfnameruler   s       :/usr/lib/python3/dist-packages/markdown_it/parser_block.py__init__ParserBlock.__init__5   s6    ,-/
%ODJJOOD5  &    c                >   U R                   R                  S5      nUnUR                  R                  R                  nSnXS:  a  UR                  U5      =Ul        nXS:  a  gUR                  U   UR                  :  a  gUR                  U:  a  X1l        gU H  nU" XUS5      (       d  M    O   U(       + Ul
        UR                  nUS-
  U:  a  UR                  US-
  5      (       a  SnXS:  a#  UR                  U5      (       a  SnUS-  nXQl        XS:  a  M  gg)z Generate tokens for input range. Fr   TN)r   getRulesmdoptions
maxNestingskipEmptyLineslinesCount	blkIndentleveltightisEmpty)	r!   state	startLineendLinerulesr/   r-   hasEmptyLinesr#   s	            r$   tokenizeParserBlock.tokenize:   s   

##B'XX%%00
n % 4 4T ::EJ||D!EOO3 {{j( %
 We44  ,+EK::D qG#dQh(?(? $~%--"5"5 $	!
I nr'   c                    U(       d  g[        XX45      nU R                  XUR                  UR                  5        UR                  $ )z<Process input string and push block tokens into `outTokens`.N)r	   r:   r/   lineMaxtokens)r!   srcr+   env	outTokensr5   s         r$   parseParserBlock.parseg   s6     3C3eZZ7||r'   )r   N)returnNone)r5   r	   r6   intr7   rF   rD   rE   )
r?   strr+   r   r@   r   rA   zlist[Token]rD   zlist[Token] | None)	__name__
__module____qualname____firstlineno____doc__r%   r:   rB   __static_attributes__ r'   r$   r   r   .   s?    6
+"Z&-4AL	r'   r   )'rL   
__future__r   loggingtypingr   r   r)   r   r   r   rules_block.state_blockr	   tokenr
   utilsr   markdown_itr   	getLoggerrH   LOGGERrF   boolr   r   r   r   r   r   
list_blockr   r   r   r   r   r   __annotations__r   rN   r'   r$   <module>r[      s1    "  *   /  &			8	$ j#sD94?@  k+{!;<[r"k!QR8
 
;>>KL[##%MN+'',;))+ST##%MN%%r*+'',#:6 *A Ar'   