
    7 f                        d 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  G d de          ZddZddZdS )z@Add external links to module code in Python object descriptions.    )annotations)TYPE_CHECKINGAny)nodesN)addnodes)SphinxError)_)Node)Sphinxc                      e Zd ZdZdS )LinkcodeErrorzlinkcode errorN)__name__
__module____qualname__category     I/var/www/equiseq/venv/lib/python3.11/site-packages/sphinx/ext/linkcode.pyr   r      s        HHHr   r   appr   doctreer
   returnNonec           
     ,   | j         j        }t          |j        dd           }t	          |j        j                  sd}t          |          |J ddgdgdgddgd}t          |                    t          j
                            D ]}|                    d          }t                      }|D ]}	t          |	t          j                  si }
|                    |g           D ] }|	                    |          }|sd	}||
|<   !|
sY |||
          }|sh||v s|so|                    |           t!          j        d	t%          d
          dg          }t          j        d          }|t!          j        d	d	|d|          z  }|	|z  }	
d S )Nlinkcode_resolvez3Function `linkcode_resolve` is not given in conf.pymodulefullnamenamesobject)pyccppjsdomain z[source]zviewcode-link)classeshtml)exprF)internalrefuri)builderenvgetattrconfigcallabler   r   listfindallr   descgetset
isinstancedesc_signatureaddr   inliner	   only	reference)r   r   r+   resolve_targetmsgdomain_keysobjnoder#   urissignodeinfokeyvalueurir7   onlynodes                   r   doctree_readrE      s   
+/CSZ);TBBNCJ/00 !CC   %%% $Yy$	 K 6677    X&& 	  	 Ggx'>??  D"vr22 " "C(( E!S		  !...C d{{#{HHSMMM\"a
mmo=NOOOF}&111HBsSSSSHxGG9	    r   dict[str, Any]c                    |                      dt                     |                     dd d           t          j        ddS )Nzdoctree-readr   r$   T)versionparallel_read_safe)connectrE   add_config_valuesphinx__display_version__)r   s    r   setuprN   J   s@    KK---+T26661NNNr   )r   r   r   r
   r   r   )r   r   r   rF   )__doc__
__future__r   typingr   r   docutilsr   rL   r   sphinx.errorsr   sphinx.localer	   docutils.nodesr
   sphinx.applicationr   r   rE   rN   r   r   r   <module>rW      s   F F " " " " " " % % % % % % % %              % % % % % %       *######))))))         K      /  /  /  / dO O O O O Or   