
    -Ph	                        d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
Z
ddlmZ ddlmZ dd	lmZ erdd
lmZ ddlmZ ddlmZ  ej        e          ZddZddZddZdS )z7Allow reference sections by :ref: role using its title.    )annotations)NoneType)TYPE_CHECKINGcast)nodesN)__)logging)clean_astext)Node)Sphinx)ExtensionMetadatanoder   returnintc                f    d}| }|j         | j        k    r|j         }|dz  }|j         | j        k    |S )Nr      )parentdocument)r   icur_nodes      [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/ext/autosectionlabel.pyget_node_depthr      sC    	AH
/T]
*
*?	Q /T]
*
* H    appr   r   Nonec           	     H   | j         j        j        }|                    t          j                  D ]o}| j        j        rt          |          | j        j        k    r-|d         d         }| j         j	        }t          d|d                   }t          |d|                                          }| j        j        rt	          j        |dz   |z             }nt	          j        |          }t          |          }	t                               t%          d          |||d|           ||j        v rVt                               t%          d	          || j                             |j        |         d                   |d|           ||f|j        |<   |||	f|j        |<   qd S )
Nidsr   znodes.title	rawsource:z!section "%s" gets labeled as "%s"autosectionlabel)locationtypesubtypez(duplicate label %s, other instance in %s)envdomainsstandard_domainfindallr   sectionconfigautosectionlabel_maxdepthr   docnamer   getattrastext autosectionlabel_prefix_documentfully_normalize_namer
   loggerdebugr   labelswarningdoc2path
anonlabels)
r   r   domainr   labelidr+   titleref_namenamesectnames
             r   register_sections_as_labelr<   !   s   W_,F  // #9 #9J0	t$$
(LLLu+a.'/]DG,,5+u||~~>>:6 	8-gmh.FGGDD-h77D&&233# 	 	
 	
 	
 6=  NN=>>  t!4Q!788'     #*7"2$%w8dG#9 #9r   r   c           	        |                      dddt          t          h                     |                      dd dt          t          t          h                     |                     dt                     t          j        dddS )	Nr.   Fr$   )typesr*   zdoctree-readT)versionparallel_read_safeparallel_write_safe)	add_config_value	frozensetboolr   r   connectr<   sphinx__display_version__)r   s    r   setuprH   I   s    *E5	4&@Q@Q     #T5	3/8R8R     KK :;;; -"#  r   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )__doc__
__future__r   r>   r   typingr   r   docutilsr   rF   sphinx.localer   sphinx.utilr	   sphinx.util.nodesr
   docutils.nodesr   sphinx.applicationr   sphinx.util.typingr   	getLogger__name__r0   r   r<   rH    r   r   <module>rV      s/   = = " " " " " "       & & & & & & & &                    * * * * * * 5######))))))444444		8	$	$   %9 %9 %9 %9P     r   