
    O&i_                        d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 ddlmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlZddl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' ddl(m)Z)m*Z*m+Z+m,Z, ddlm-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6 ddl7m8Z8m9Z9 ddl:m;Z; ddl<m=Z=  e4j>        e?          Z@ G d d          ZA G d de          ZBdeddfdZCdIdeDdeDdeDfd ZE G d! d"          ZF G d# d$          ZGd%ed&e#deeD         fd'ZH	 	 dJd(eDd%ed)ed*eFd+eDd,eIded-eId.ed/eeD         d0eeD         deDfd1ZJ	 	 	 	 dKd6eeD         d7eeD         d8eDd9eeD         d,eIded:eId;eDddfd<ZKd=eeD         deeB         fd>ZL	 dLd(eDd?eeD         deeB         fd@ZM	 dJdAeeD         dBeeD         d?eeD         deeB         fdCZNdejO        fdDZPejQ        dEd         fdFeeD         ddfdGZRe?dHk    r eR             dS dS )Max  Generates reST source files for autosummary.

Usable as a library or script to generate automatic RST source files for
items referred to in autosummary:: directives.

Each generated RST file contains a single auto*:: directive which
extracts the docstring of the referred item.

Example Makefile rule::

   generate:
           sphinx-autogen -o source/generated source/*.rst
    N)NullTranslations)path)	AnyDictList
NamedTupleOptionalSequenceSetTupleType)TemplateNotFound)SandboxedEnvironment)__display_version__package_dir)Sphinx)Builder)Config)
Documenter)import_module)ImportExceptionGroupget_documenterimport_by_nameimport_ivar_by_name)__)ModuleAnalyzerPycodeError)SphinxComponentRegistry)loggingrstsplit_full_qualified_name)getallsafe_getattr)	ensuredir)SphinxTemplateLoaderc                   2    e Zd ZdZdeddfdZdeddfdZdS )DummyApplicationz3Dummy Application class for sphinx-autogen command.
translatorreturnNc                    t                      | _        t                      | _        g | _        d| _        || _        d| _        d| _        d| _	        | j        
                    di dd            | j        
                    di dd            | j        
                    dddt                     | j                                         d S )	N/r   Fautosummary_contextTautosummary_filename_mapautosummary_ignore_module_allenv)r   configr   registry
messagelogsrcdirr(   	verbosity
_warncountwarningiserroraddboolinit_values)selfr(   s     l/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/ext/autosummary/generate.py__init__zDummyApplication.__init__5   s    hh/11%'$#-r4>>>2BdCCC7udKKK!!!!!    argsc                     d S N )r:   r>   s     r;   emit_firstresultz!DummyApplication.emit_firstresultD   s    r=   )__name__
__module____qualname____doc__r   r<   r   rB   rA   r=   r;   r'   r'   2   s_        =="#3 " " " " "c d      r=   r'   c                   8    e Zd ZU eed<   eed<   eed<   eed<   dS )AutosummaryEntrynamer   template	recursiveN)rC   rD   rE   str__annotations__r8   rA   r=   r;   rH   rH   H   s4         
III
IIIMMMOOOOOr=   rH   appr)   c                     ddl m}m}m}m}m}m}m}m}m	}	m
}
m} |||||||	|
|||g}|D ]"}| j                            |j        |           #d S )Nr   )AttributeDocumenterClassDocumenterDataDocumenterDecoratorDocumenterExceptionDocumenterFunctionDocumenterMethodDocumenterModuleDocumenterNewTypeAttributeDocumenterNewTypeDataDocumenterPropertyDocumenter)sphinx.ext.autodocrP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r1   add_documenterobjtype)rN   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   documenters
documenters                 r;   setup_documentersr`   O   s    8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 	/+>,.H24GI[+K
 " D D
##J$6
CCCCD Dr=   =titlelinec                 X    d| v rt          d          | dz   |t          |           z  z   S )N
zCan only underline single lines)
ValueErrorlen)rb   rc   s     r;   
_underlinerh   ^   s4    u}}:;;;4<$U+++r=   c                   6    e Zd ZdZdeddfdZdededefdZdS )	AutosummaryRendererzA helper class for rendering.rN   r)   Nc                    t          |t                    rt          d          t          j                            t          ddd          g}t          |j        |j	        j
        |          }t          |          | _        t          j        | j        j        d<   t          j        | j        j        d<   t           | j        j        d<   |j        r;| j                            d	           | j                            |j                   d S d S )
Nz%Expected a Sphinx application object!extautosummary	templates)loaderescapee	underlinezjinja2.ext.i18n)
isinstancer   rf   osr   joinr   r%   r3   r0   templates_pathr   r/   r    rp   filtersrh   r(   add_extensioninstall_gettext_translations)r:   rN   system_templates_pathro   s       r;   r<   zAutosummaryRenderer.__init__g   s    c7## 	FDEEE!#k5-Q\!]!] ^%cj#*2K&;= = (v666%(Z" #
(2%> 	BH""#4555H11#.AAAAA	B 	Br=   template_namecontextc                    	 | j                             |          }nY# t          $ rL 	 | j                             d|z            }n*# t          $ r | j                             d          }Y nw xY wY nw xY w|                    |          S )zRender a template file.zautosummary/%s.rstzautosummary/base.rst)r/   get_templater   render)r:   r{   r|   rJ   s       r;   r   zAutosummaryRenderer.renderx   s    	Ix,,];;HH 	I 	I 	II8001E1UVV# I I I8001GHHI		I w'''s2    
A3AA3$A-*A3,A--A32A3)	rC   rD   rE   rF   r   r<   rL   r   r   rA   r=   r;   rj   rj   d   sk        ''BF Bt B B B B"(C ($ (3 ( ( ( ( ( (r=   rj   c                   j    e Zd ZdededdfdZdededefdZdeded	edefd
Zdede	e         fdZ
dS )ModuleScannerrN   objr)   Nc                 "    || _         || _        d S r@   )rN   object)r:   rN   r   s      r;   r<   zModuleScanner.__init__   s    r=   rI   valuec                 B    t          | j        || j                  j        S r@   )r   rN   r   r]   )r:   rI   r   s      r;   get_object_typezModuleScanner.get_object_type   s    dht{;;CCr=   r]   c                     	 | j                             d|||di           S # t          $ r6}t                              t          d          ||d           Y d }~dS d }~ww xY wNzautodoc-skip-memberFz\autosummary: failed to determine %r to be documented, the following exception was raised:
%srm   )type)rN   rB   	Exceptionloggerwarningr   )r:   rI   r   r]   excs        r;   
is_skippedzModuleScanner.is_skipped   s    	8,,-BG-15%E E E 	 	 	NN2 H I I=  : : : 55555		s   ! 
A!+AA!imported_membersc                    g }	 t          j        | j        j                  }|                                }n# t
          $ r i }Y nw xY wt          | j        | j        j                  D ]"}	 t          | j        |          }n# t          $ r d }Y nw xY w|                     ||          }|                     |||          rZ	 d|f|v rd}n:t          j        |          rd}n#t          |d          | j        j        k    rd}nd}n# t          $ r d}Y nw xY w| j        j        j         }	|r|                    |           |du r|                    |           dt#          | j                  v r|	r|                    |           $|S )N FTrD   __all__)r   
for_moduler   rC   find_attr_docsr   
members_ofrN   r0   r#   AttributeErrorr   r   inspectismoduler.   appenddir)
r:   r   membersanalyzer	attr_docsrI   r   r]   importedrespect_module_alls
             r;   scanzModuleScanner.scan   s   	%01EFFH //11II 	 	 	III	 t{DHO<< 	% 	%D$T[$77!    **477GtUG44 
!:**$HH%e,, %#HH!%66$+:NNN#HH$H! ! ! ! ! &*X_%R!R %t$$$$U""t$$$$c$+....3E.t$$$s4   27 AA,BBBADDD)rC   rD   rE   r   r<   rL   r   r8   r   r   r   rA   r=   r;   r   r      s        C c d    DC D D D D D Ds 3      )T )d3i ) ) ) ) ) )r=   r   r   confc                 j    |j         rt          |           S t          |           pt          |           S )zGet the members of ``obj``, possibly ignoring the ``__all__`` module attribute

    Follows the ``conf.autosummary_ignore_module_all`` setting.)r.   r   r"   )r   r   s     r;   r   r      s1    
 ) '3xxc{{&c#hh&r=   rI   parentrJ   r{   r   rK   r|   modnamequalnamec                    
 t          ||          dt          dt          dt          dt          ffddt          dt          t          t          f         f
fddt          dt          t          t          f         ffddt          dt          t          t          f         ffdg d	fdt          d
t
          t                   dt          t                   dt          dt          t          t                   t          t                   f         f
fd}dt          dt          t          t                   t          t                   f         f fd}dt          dt          t          t                   t          t                   f         f fd}i }|                    |           j	        dk    rt          |          }|                    |          |d<    ||dh|          \  |d<   |d<    ||dh|          \  |d<   |d<    ||dh|          \  |d<   |d<    ||d                   \  |d<   |d<   t          |d          }|r|r ||          \  |d<   |d <   nj	        dk    rt          |          |d<   t          t          |                    t          |j                                                  z
  |d!<    ||d"hd#g          \  |d$<   |d%<    ||d&d'h          \  |d<   |d<   |	
t#                     \  }	
j	        d(v r
                    d)d*          d+         |d<   j	        d,v r
}n
                    d)d*          d-         } |d.<   |	|d<   
|d/<   ||d<   j	        |d<   t'                     d0z  |d1<   |r|                    ||          S |                    j	        |          S )2Nr   rI   r]   r)   c                     	                      d||| di           S # t          $ r6}t                              t	          d          ||d           Y d }~dS d }~ww xY wr   )rB   r   r   r   r   )r   rI   r]   r   rN   s       r;   skip_memberz1generate_autosummary_content.<locals>.skip_member   s    	''(=w(+UB8 8 8 	 	 	NN2 H I I=  : : : 55555		s    
A+AAc                     t           j        j                            | gt                    }d |                                D             S )Nc                 $    i | ]\  }}||j         S rA   )r   ).0rI   members      r;   
<dictcomp>zKgenerate_autosummary_content.<locals>.get_class_members.<locals>.<dictcomp>   s     HHHffmHHHr=   )sphinxrl   autodocget_class_membersr#   items)r   r   r   s     r;   r   z7generate_autosummary_content.<locals>.get_class_members   s=    *$66sXJUUHHHHHHr=   c                     i }t          | j                  D ]&}	 t          | |          ||<   # t          $ r Y #w xY w|S r@   )r   r0   r#   r   )r   r   rI   rN   s      r;   get_module_membersz8generate_autosummary_content.<locals>.get_module_members   sb    sCJ// 	 	D ,S$ 7 7!   s   0
==c                 `    j         dk    r |           S j         dk    r |           S i S )Nmoduleclass)r]   )r   docr   r   s    r;   get_all_membersz5generate_autosummary_content.<locals>.get_all_members   sD    ;(""%%c***[G##$$S)))	r=   Ttypesinclude_publicr   c                    g }g } |           }|                                 D ]\  }}t          ||           }	|	j        |v r|st          |dd           | j        k    r |||	j                  }
|
du rR|
du r+|                    |           |                    |           |                    |           ||v s|                    d          s|                    |           ||fS )NrD   TF_)r   r   r]   getattrrC   r   
startswith)r   r   r   r   r   publicall_membersrI   r   r_   skippedrN   r   r   s              r;   get_membersz1generate_autosummary_content.<locals>.get_members   s   %oc**&,,.. 	0 	0KD%'UC88J!U** 0wulDAAS\QQ)k%z7IJJG$ E))T***d++++T***>119M9M1"MM$///u}r=   r   c                 *   g g }}	 t          j                  }|                                }|D ]N\  }}|dk    rC|| v r?|                    |           |                    d          s|                    |           On# t
          $ r Y nw xY w||fS )z'Find module attributes with docstrings.r   r   )r   r   r   r   r   r   )r   attrsr   r   r   	namespace	attr_namerI   s          r;   get_module_attrsz6generate_autosummary_content.<locals>.get_module_attrs  s    Bv		%066H //11I(1 1 1$	9??yG';';LL+++$//44 1i000	1
  	 	 	D	u}s   A9B 
BBc                 
   g }t          j        | j                  D ]W\  }}}dz   |z   }	 t          |          }|rt	          |d          r1n# t
          $ r Y nw xY w|                    |           Xd |D             }||fS )N.__sphinx_mock__c                 n    g | ]2}|                     d           d                             d          0|3S )r   r   )splitr   )r   xs     r;   
<listcomp>zEgenerate_autosummary_content.<locals>.get_modules.<locals>.<listcomp>-  s:    KKK!''#,,r*:*E*Ec*J*JK!KKKr=   )pkgutiliter_modules__path__r   hasattrImportErrorr   )	r   r   r   r   _ispkgfullnamer   r   rI   s	           r;   get_modulesz1generate_autosummary_content.<locals>.get_modules!  s    ")"6s|"D"D 		# 		#AwczG+H&x00 gf.?@@     LL""""KKUKKKu}s   !A
AAr   function)r   	functionsall_functionsr   classesall_classes	exception
exceptionsall_exceptions
attributesall_attributesr   modulesall_modulesinherited_membersmethodr<   methodsall_methods	attributeproperty)r   r   r   r      r   )r   r   r   objnamera   rr   )r   r   rL   r8   r   r   r   r   updater]   r   r   r   r   set__dict__keysr!   rsplitrg   r   )rI   r   r   rJ   r{   r   rN   rK   r|   r   r   r   r   r   nsscanner	ispackage	shortnamer   r   r   r   r   s   `     `   `       @@@@@r;   generate_autosummary_contentr      s    c6
*
*C C # $      Is ItCH~ I I I I I I S#X      S T#s(^         LN%)  SX tCy ".3DItCy4H.I       2# %S	490D*E       tCy$s)';!<       BIIg
{hS))%5669Kj\4DEEE 	-;O, KgY1ABBB 	)9r-( Kk]5EFFF 	/<"-. R	]++ 	/<"-.C,,	 	@ 	@/:{3/?/?,ByM2m,			C9CMMC 1 1 3 3444 	 KhZ*66 	)9r-( Kk:677 	/<"-. (*5d;;
{999ooc1--a07
{j  		OOC++B/	BzNBxLByMBvJKByM$ii#oB{O 0}b111s{B///r=   .rstFTutf-8sources
output_dirsuffix	base_path	overwriteencodingc                    t          |           }t          |          dk    r|d d         dgz   |dd          z   }t                              t	          d          d                    |          z             |r*t                              t	          d          |z             fd| D             } t          |          }	t          |           }
g }|r|j        j	        }ni }t          t          |
          t          	          D ]}|j        |p#t          j                            |j                  }t          |           	 t!          |j                  \  }}}}|                    |d
z   d          }n# t&          $ r}	 t)          |j                  \  }}}}|                    |d
z   d          }n# t*          $ r}|j        r|j        |j        gz   }n|j        |gz   }t1          d |D                       }t                              t	          d          |j        d                    |                     Y d }~Y d }~Cd }~ww xY wY d }~nd }~ww xY wi }|r|                    |j        j                   t9          ||||	|j        |||j        |||          }t          j                            ||                    ||          |z             }t          j                             |          rtC          ||          5 }|"                                }d d d            n# 1 swxY w Y   ||k    r9|rTtC          |d|          5 }|#                    |           d d d            n# 1 swxY w Y   |$                    |           tC          |d|          5 }|#                    |           d d d            n# 1 swxY w Y   |$                    |           |rtK          ||||||           d S d S )N   
   z...iz,[autosummary] generating autosummary for: %sz, z[autosummary] writing to %sc                 P    g | ]"}t           j                            |          #S rA   )rt   r   ru   )r   filenamer   s     r;   r   z-generate_autosummary_docs.<locals>.<listcomp>q  s)    MMM27<<	844MMMr=   )keyr   r   c                 B    h | ]}d t          |          j        d|S z* z: r   rC   r   rq   s     r;   	<setcomp>z,generate_autosummary_docs.<locals>.<setcomp>  s0    VVVaaT!WW-=-=-=qqAVVVr=   z5[autosummary] failed to import %s.
Possible hints:
%sre   )r   w)r   r   r   r   rN   r   )&sortedrg   r   infor   ru   rj   find_autosummary_in_filesr0   r-   r   rL   r   rt   abspathr$   r   rI   replacer   r   r   	__cause__r   listr   r   r,   r   rJ   rK   getisfileopenreadwriter   generate_autosummary_docs)r   r   r   r   r   rN   r   r   showed_sourcesrJ   r   	new_filesfilename_mapentryr   rI   r   r   r   r   r   exc2r   errorsr|   contentr  fold_contents      `                         r;   r  r  c  s     G__N
>R',w69MM
KKABB		.))* + + +  DB455
BCCCMMMMWMMM"3''H &g..E I
 z: E

,,, 2' 2': 8RW__UZ88$	)7
)C)C&D#vw||GcM266HH# 	 	 	-@-L-L*c67<<#r:: 	 	 	> 969nGW6WJJ!$4&!8JVV:VVVWWr"[\\$z499V+<+<> > >	 		  #% 	;NN3:9:::.tS&(EN/?eoW^/6B B 7<<l&6&6tT&B&BV&KLL7>>(## 	'h222 'affhh' ' ' ' ' ' ' ' ' ' ' ' ' ' ' +%% +(C(;;; %qGGG$$$% % % % % % % % % % % % % % %  ***hh777 !1   ! ! ! ! ! ! ! ! ! ! ! ! ! ! !X&&&&  7!)
)/93C,5	7 	7 	7 	7 	7 	77 7ss   2E>>
I	2F<;I<
IA=IIIIIL00L4	7L4	M99M=	 M=	-OO	O		filenamesc                     g }| D ]v}t          |dd          5 }|                                                                }|                    t	          ||                     ddd           n# 1 swxY w Y   w|S )z^Find out what items are documented in source/*.rst.

    See `find_autosummary_in_lines`.
    r   ignore)r   r  r  N)r  r  
splitlinesextendfind_autosummary_in_lines)r!  
documentedr  r  liness        r;   r  r    s    
 *,J S S(WX>>> 	S!FFHH''))E7QQQRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S s   AA00A4	7A4	r  c           	         	 t          |           \  }}}}t          j        |                                          }t	          || |          S # t
          $ r Y nyt          $ rP}t          d |j        D                       }t          d| dd
                    |                     Y d}~n%d}~wt          $ r t          d| z             Y nw xY wg S )znFind out what items are documented in the given object's docstring.

    See `find_autosummary_in_lines`.
    )r   r  c                 B    h | ]}d t          |          j        d|S r  r  r  s     r;   r	  z0find_autosummary_in_docstring.<locals>.<setcomp>  s0    RRRaaT!WW%5%5%5qq9RRRr=   zFailed to import z.
Possible hints:
re   Nz_Failed to import '%s'; the module executes module level statement and it might call sys.exit().)r   pydocgetdocr%  r'  r   r   r  r   printru   
SystemExit)	rI   r  	real_namer   r   r   r)  r   r  s	            r;   find_autosummary_in_docstringr1    s'   @*8*>*>'	3S!!,,..(thOOOO    W W WRR3>RRRSSTTT499VCTCTCTUVVVVVVVV @ @ @ 8:>? 	@ 	@ 	@ 	@ 	@@ Is%   AA 
C	C#AB..CCr)  r   c           	      b   t          j        d          }t          j        d          }t          j        d          }t          j        d          }t          j        d          }t          j        d          }t          j        d          }	g }
d}d	}d	}|}d}d
}| D ]}|r|                    |          }|rd} |                    |          }|rU|                    d          }|r=t          j                            t          j                            |          |          }|	                    |          }|r(|                    d                                          }|                                	                    d          r|                    |          }|r|                    d                                          }|	                    d          r
|dd	         }|r|	                    |dz             s|d|}|

                    t          ||||                     |                                r|	                    |dz             rd}|                    |          }|rd}|                    d          }d}d	}d	}|                    |          }|rM|                    d                                          }|
                    t          ||                     b|                    |          }|r|                    d          }|
S )a  Find out what items appear in autosummary:: directives in the
    given lines.

    Returns a list of (name, toctree, template) where *name* is a name
    of an object and *toctree* the :toctree: path of the corresponding
    autosummary directive (relative to the root of the file name), and
    *template* the value of the :template: option. *toctree* and
    *template* ``None`` if the directive does not have the
    corresponding options set.
    z^(\s*)\.\.\s+autosummary::\s*z.^\s*\.\.\s+automodule::\s*([A-Za-z0-9_.]+)\s*$z4^\s*\.\.\s+(current)?module::\s*([a-zA-Z0-9_.]+)\s*$z%^\s+(~?[_a-zA-Z][a-zA-Z0-9_.]*)\s*.*?z^\s+:recursive:\s*$z^\s+:toctree:\s*(.*?)\s*$z^\s+:template:\s*(.*?)\s*$FNr   Tr   :~r    r$     )recompilematchgrouprt   r   ru   dirnamestripr   r   rH   searchr&  r1  )r)  r   r  autosummary_reautomodule_re	module_reautosummary_item_rerecursive_arg_retoctree_arg_retemplate_arg_rer(  rK   toctreerJ   current_modulein_autosummarybase_indentrc   mrI   s                       r;   r'  r'    sS    Z @AANJ9; ;M
?A AI*%MNNz"899Z <==Nj!>??O)+JI!GHNNK ; ; $	# &&t,,A  	$$T**A ''!** 4 gll27??8+D+D+24 4G%%d++A 771::++--zz||&&s++ #))$//A wwqzz''))??3'' $8D! <~';<<<&4nndd;D!!"24(I"V"VWWW::<< 4??;3D#E#E "N  && 	!N''!**KIGH  && 	WWQZZ--//N;3 3 3 4 4 4OOD!! 	WWQZZN	 r=   c            
         t          j        dt          d          t          d                    } |                     ddddt          z  	           |                     d
dt          d                     |                     ddddt          d                     |                     dddddt          d                     |                     ddddd t          d                     |                     ddd d!d"t          d#                     |                     d$d%d d&d"t          d'                     | S )(Nz#%(prog)s [OPTIONS] <SOURCE_FILE>...z:For more information, visit <https://www.sphinx-doc.org/>.a  
Generate ReStructuredText using autosummary directives.

sphinx-autogen is a frontend to sphinx.ext.autosummary.generate. It generates
the reStructuredText files from the autosummary directives contained in the
given input files.

The format of the autosummary directive is documented in the
``sphinx.ext.autosummary`` Python module and can be read using::

  pydoc sphinx.ext.autosummary
)usageepilogdescriptionz	--versionversionshow_versionz%%(prog)s %s)actiondestrN  source_file+z&source files to generate rST files for)nargshelpz-oz--output-dirstorer   z directory to place all output in)rP  rQ  rU  z-sz--suffixr   r    z/default suffix for files (default: %(default)s))rP  rQ  defaultrU  z-tz--templatesrn   z0custom template directory (default: %(default)s)z-iz--imported-members
store_truer   Fz0document imported members (default: %(default)s)z-az--respect-module-allr   zPdocument exactly the members in module __all__ attribute. (default: %(default)s))argparseArgumentParserr   add_argumentr   )parsers    r;   
get_parserr]  B  s   $3NOO     F  IN .1D D  F F F S HII  K K K nW) BCC  E E E jx % !/ 0 0  1 1 1 mG+ $ !/ 0 0  1 1 1 2</ !/ 0 0  1 1 1 4\15 !9 : :  ; ; ;
 Mr=   r   argvc                    t           j                            t          j        d           t           j                            t
          j                            t          d          d           t           j        	                    g d           \  }}t          |          }t          j        |t          j        t          j                   t!          |           t#                                          |           }|j        r6|j        j                            t          j        |j                             |j         |j        _        t5          |j        |j        d|j        z   |j        |           d S )Nr   localer   r   )r   rN   )r   r`  	setlocaleLC_ALLinit_consolert   r   ru   r   initr'   r   setupsysstdoutstderrr`   r]  
parse_argsrn   r0   rv   r   r  r   r.   r  rR  r   r   r   )r^  r(   r   rN   r>   s        r;   mainrj  p  s&   
MFM2...
Mrw||KBBHMMMM&&r400MJ
:
&
&CM#sz3:...c<<""4((D~ G
!((dn)E)EFFF373J/JCJ,d.!DK//3/D"%' ' ' ' ' 'r=   __main__)ra   )NN)Nr   NFNTr   r@   )SrF   rY  r   r`  rt   r   r,  r7  rf  gettextr   r   typingr   r   r   r   r	   r
   r   r   r   jinja2r   jinja2.sandboxr   sphinx.localer   r   r   sphinx.applicationr   sphinx.buildersr   sphinx.configr   r[   r   sphinx.ext.autodoc.importerr   sphinx.ext.autosummaryr   r   r   r   r   sphinx.pycoder   r   sphinx.registryr   sphinx.utilr   r    r!   sphinx.util.inspectr"   r#   sphinx.util.osutilr$   sphinx.util.templater%   	getLoggerrC   r   r'   rH   r`   rL   rh   rj   r   r   r8   r   r  r  r1  r'  rZ  r]  r^  rj  rA   r=   r;   <module>r}     s       				   				 



 $ $ $ $ $ $       T T T T T T T T T T T T T T T T T T T T T T # # # # # # / / / / / /     3 3 3 3 3 3 3 3 % % % % % % # # # # # #             ) ) ) ) ) ) 5 5 5 5 5 59 9 9 9 9 9 9 9 9 9 9 9       5 5 5 5 5 5 5 5 3 3 3 3 3 3 ? ? ? ? ? ? ? ? ? ? 4 4 4 4 4 4 4 4 ( ( ( ( ( ( 5 5 5 5 5 5		8	$	$       ,    z   D3 D4 D D D D, ,c , ,s , , , , (  (  (  (  (  (  (  (L; ; ; ; ; ; ; ;|'C 'v '(3- ' ' ' ' ;?;?M0 M0s M0 M0c M0+>M0ORM037M0>AM0 -1M0 <@M0 +33-	M0
 ,4C=M0
 EHM0 M0 M0 M0` OSOSIMFMW7 W7tCy W7hsm W7&)W7?G}W704W7CFW7 *.W7 ADW7 SWW7 W7 W7 W7x
c 
t<L7M 
 
 
 
 *. 
!#	
   . OS] ]9]&sm]>Fsm]	
] ] ] ]@+H+ + + + +\ 8ABB< ' 'tCy 'D ' ' ' '( zDFFFFF r=   