
    zi{                    &   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZ ddlmZ ddlm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 ddlmZ ddlm Z   ej!        e"          Z# G d de          Z$ G d de          Z%ddZ&dS )zThe math domain.    )annotations)TYPE_CHECKINGAny)nodes)ElementNodemake_idsystem_message)Domain)__)XRefRole)logging)make_refnode)Iterable)pending_xref)Sphinx)Builder)BuildEnvironmentc                      e Zd ZddZdS )MathReferenceRoledocumentnodes.documentenvr   noder   is_refboolreturn'tuple[list[Node], list[system_message]]c                    d|d<   |gg fS )Nmath	refdomain )selfr   r   r   r   s        ^/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/domains/math.pyresult_nodeszMathReferenceRole.result_nodes   s    "[vrz    N)
r   r   r   r   r   r   r   r   r   r   )__name__
__module____qualname__r%   r"   r&   r$   r   r      s(             r&   r   c                      e Zd ZU dZdZdZi i dZded<   ddiZe	j
        d	iZd
 e            iZed4d            Zd5d6dZd7dZd8dZd9dZd:d!Zd;d,Zd<d.Zd=d0Zd5d>d3ZdS )?
MathDomainzMathematics domain.r    mathematics)objectshas_equationsdict[str, Any]initial_dataeqzequation not found: %(target)s)displaymathNnumrefr   dict[str, tuple[str, int]]c                8    | j                             di           S )Nr-   )data
setdefaultr#   s    r$   	equationszMathDomain.equations6   s    y##Ir222r&   Ndocnamestrlabelidlocationr   Nonec                    || j         v rA| j         |         d         }t                              t          d          ||fz  |           || j                            d          dz   f| j         |<   d S )Nr   z4duplicate label of equation %s, other instance in %sr=   eqno   )r9   loggerwarningr   r   new_serialno)r#   r:   r<   r=   others        r$   note_equationzMathDomain.note_equation:   s    dn$$N7+A.ENN2TUU#U+,6>  @ @ @ $+DH,A,A&,I,IA,M"Nwr&   
int | Nonec                >    || j         v r| j         |         d         S d S )NrB   )r9   )r#   r<   s     r$   get_equation_number_forz"MathDomain.get_equation_number_forB   s&    dn$$>'*1--4r&   r   r   r   r   c                n    dd}t          |                    |                    | j        d         |<   d S )Nr   r   r   r   c                N    t          | t          j        t          j        f          S N)
isinstancer   r    
math_block)r   s    r$   	math_nodez)MathDomain.process_doc.<locals>.math_nodeJ   s    dUZ1A$BCCCr&   r.   )r   r   r   r   )anyfindallr6   )r#   r   r:   r   rP   s        r$   process_doczMathDomain.process_docH   sI    	D 	D 	D 	D /2(2B2B92M2M.N.N	/"7+++r&   c                    t          | j                                                  D ]\  }\  }}||k    r| j        |= | j        d                             |d            d S )Nr.   )listr9   itemsr6   pop)r#   r:   equation_iddoc_eqnos        r$   	clear_doczMathDomain.clear_docO   sg    )-dn.B.B.D.D)E)E 	0 	0%K#ug~~N;/	/"&&w55555r&   docnamesIterable[str]	otherdatac                    |d                                          D ]\  }\  }}||v r||f| j        |<   |D ]}|d         |         | j        d         |<   d S )Nr-   r.   )rV   r9   r6   )r#   r\   r^   r<   rY   rA   r:   s          r$   merge_domaindatazMathDomain.merge_domaindataV   s    $-i$8$>$>$@$@ 	6 	6 G[c4h+.+w' 	V 	VG2;O2LW2UDIo&w//	V 	Vr&   fromdocnamebuilderr   typtargetr   r   contnoder   Element | Nonec                   |dv sJ | j                             |          }|rT|\  }	}
t          d|z            }|j        j        rh|j        j        r\|	|j        v rP|j        |	         d                             |d          }d                    t          t          |                    }nd}nt          |
          }	 |j        j
        pd}t          j        |                    |                    }no# t          $ rb}t                              t#          d	          ||
           t          j        d|
z            }t          j        d|
z            }Y d }~nd }~ww xY wt%          |||	||          S d S )N)r1   r3   zequation-%sr2   r"   . z
({number}))numberzInvalid math_eqref_format: %rr@   z(%d))r9   getr	   configmath_numfignumfigtoc_fignumbersjoinmapr;   math_eqref_formatr   TextformatKeyErrorrC   rD   r   r   )r#   r   ra   rb   rc   rd   r   re   resultr:   rj   node_idnumbersrA   eqref_formattitleexcs                    r$   resolve_xrefzMathDomain.resolve_xref^   s    &&&&&##F++ 	$OGVmf455Gz% ##**; #c000!09-HLLWVXYYG88CW$5$566DDDD6{{4"z;K|
<#6#6d#6#C#CDD 4 4 4r"ABBC(,  . . .
6F?33
6F?33	4
  gwNNN4s   ?6C6 6
E" AEE"list[tuple[str, Element]]c           	     J    |                      |||d|||          }|g S d|fgS )Nr1   )r|   )r#   r   ra   rb   rd   r   re   refnodes           r$   resolve_any_xrefzMathDomain.resolve_any_xref|   s;     ##CgtVTS[\\?I7O$$r&   -Iterable[tuple[str, str, str, str, str, int]]c                    g S rM   r"   r8   s    r$   get_objectszMathDomain.get_objects   s    	r&   
str | Noner   c                    |r!| j         d                             |d          S t          | j         d                                                   S )Nr.   F)r6   rk   rQ   values)r#   r:   s     r$   r.   zMathDomain.has_equations   sH     	<9_-11'5AAAty188::;;;r&   )r   r4   rM   )r:   r;   r<   r;   r=   r   r   r>   )r<   r;   r   rH   )r   r   r:   r;   r   r   r   r>   )r:   r;   r   r>   )r\   r]   r^   r/   r   r>   )r   r   ra   r;   rb   r   rc   r;   rd   r;   r   r   re   r   r   rf   )r   r   ra   r;   rb   r   rd   r;   r   r   re   r   r   r}   )r   r   )r:   r   r   r   )r'   r(   r)   __doc__namelabelr0   __annotations__dangling_warningsr   rO   enumerable_nodesr   rolespropertyr9   rG   rJ   rS   r[   r`   r|   r   r   r.   r"   r&   r$   r+   r+   #   st        DE $ $L    
 	. 	/ 	##%%E 3 3 3 X3O O O O O   O O O O6 6 6 6V V V V   <% % % %   < < < < < < <r&   r+   appr   r   r/   c                    |                      t                     |                     dt          d                     dddddS )Nr1   T)warn_danglingbuiltin   )versionenv_versionparallel_read_safeparallel_write_safe)
add_domainr+   add_roler   )r   s    r$   setupr      sQ    NN:LL(t<<<=== "#	  r&   N)r   r   r   r/   )'r   
__future__r   typingr   r   docutilsr   docutils.nodesr   r   r	   r
   sphinx.domainsr   sphinx.localer   sphinx.rolesr   sphinx.utilr   sphinx.util.nodesr   collections.abcr   sphinx.addnodesr   sphinx.applicationr   sphinx.buildersr   sphinx.environmentr   	getLoggerr'   rC   r   r+   r   r"   r&   r$   <module>r      s     " " " " " " % % % % % % % %       A A A A A A A A A A A A ! ! ! ! ! !       ! ! ! ! ! !       * * * * * * 4((((((,,,,,,))))))''''''333333 
	8	$	$       i< i< i< i< i< i< i< i<X	 	 	 	 	 	r&   