
    -PhR                       d dl mZ 	 d dlZd dlZd dlZddlmZmZm	Z	 ddlm
Z
mZmZ ddl
mZmZ ddlmZmZ dd	l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mZm Z  ddl!m"Z" ddl#m$Z$ ej%        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-m.Z.  ej/        d          Z0 G d de'          Z1d*dZ2dZ3e4eeefZ5 G d de"          Z6 G d d           Z7 G d! d"ed#                   Z8 G d$ d#e          Z9 G d% d&e          Z:d+d)Z;dS ),    )annotationsN   )ExtensionModuleModuleReturnValue
ModuleInfo   )buildmesonlibmlog)CustomTargetCustomTargetIndex)
DependencyInternalDependency)InvalidArguments	noPosargsnoKwargstyped_kwargsFeatureDeprecatedContainerTypeInfo	KwargInfotyped_pos_args)_CustomTargetHolder)NoneType)FileMesonException)ExternalProgram)	OptionKey)	TypedDict)ModuleState)Environment)Interpreter)TYPE_kwargsTYPE_var_Tc                      e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   dS )GenerateDocKwargs3T.Union[str, File, CustomTarget, CustomTargetIndex]sitemapindexstrproject_versionT.Optional[str]html_extra_themeT.List[str]include_pathsfT.List[T.Union[Dependency, build.StaticLibrary, build.SharedLibrary, CustomTarget, CustomTargetIndex]]dependenciesz0T.List[T.Union[CustomTarget, CustomTargetIndex]]dependsgi_c_source_rootsextra_assetsextra_extension_pathsT.List['HotdocTarget']subprojectsboolinstallN)__name__
__module____qualname____annotations__     Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/modules/hotdoc.pyr&   r&   #   s         DDDDBBBB))))""""||||AAAA&&&&!!!!****++++r?   r&   valueT.Union[_T, T.List[_T]]return
T.List[_T]c                6    t          | t                    s| gS | S N)
isinstancelist)rA   s    r@   ensure_listrI   1   s     eT"" wLr?   z0.8.100c                      e Zd ZddZdS )HotdocExternalProgramcmdr.   rC   intc                v    t          j        |                                 |z   t           j                  j        S )N)stdout)
subprocessrunget_commandDEVNULL
returncode)selfrL   s     r@   
run_hotdocz HotdocExternalProgram.run_hotdoc=   s.    ~d..0036z?QRRR]]r?   N)rL   r.   rC   rM   )r:   r;   r<   rV   r>   r?   r@   rK   rK   <   s.        ^ ^ ^ ^ ^ ^r?   rK   c                      e Zd Zd0d	Zd1d2dZd3dZd4dZd5dZ	 	 d6dZd7dZ	d8dZ
d5d Zd9d$Zd5d%Zd5d&Zd:d'Zd5d(Zd;d+Zd<d,Zd5d-Zd=d/Zd
S )>HotdocTargetBuildernamer*   stater   hotdocrK   interpreterr!   c                b   || _         |                    dd          | _        || _        || _        || _        || _        t          j                    | _	        |j
                                        | _        |j
                                        | _        |j        | _        |j
                                        | _        dd|ddt$          j                            | j        | j        | j        dz             g| _        t-                      | _        t-                      | _        g | _        g | _        d S )Nbuild_by_defaultFconfz--project-namez--disable-incremental-buildz--output-doc)r[   popr^   kwargsrY   rZ   r\   r
   
OrderedSetr/   environmentget_build_dirbuilddirget_source_dir	sourcedirsubdirget_build_commandbuild_commandospathjoinrL   set_extra_extension_pathsr4   extra_depends_subprojects)rU   rY   rZ   r[   r\   rb   s         r@   __init__zHotdocTargetBuilder.__init__C   s    &

+=u E E	
&7?7J7L7L)7799*99;;l".@@BB&,.>Fc&0"',,t}dk[_[dgm[m2n2n&p '*ee#EEr?   Noptionargnamer,   value_processorT.Optional[T.Callable]rC   Nonec                    |s)|                     d                              dd          }| j                            |          }||r ||          }|                     ||           d S )N-_)stripreplacerb   ra   set_arg_value)rU   rt   ru   rv   rA   s        r@   process_known_argz%HotdocTargetBuilder.process_known_argY   st     	:ll3''//S99G((#OE**E65)))))r?   rA   r#   c                N   |d S t          |t                    r |r| j                            |           d S d S t          |t                    r|rg }|D ]<}t          |t
                    r|                    d          r
|d|z  gz  }6||gz  }=|r | j                            |g|z              d S | j                            |           d S d S t          |t
                    r"| j                            | d| g           d S | j                            ||g           d S )Nrz   z %s=)rG   r8   rL   appendrH   r*   
startswithextend)rU   rt   rA   escaped_valuees        r@   r~   z!HotdocTargetBuilder.set_arg_valuec   si   =FeT"" 	1 ('''''( (t$$ 	1 3
 !# - -A!!S)) -all3.?.? -%%!)4%!, 3HOOVH}$<=====HOOM222223 3& %%% 1F!4!4U!4!4 56666600000r?   argc                R   t          |t                    r|D ]}|                     ||           d S t          t          t
          t          j        t          t          t          j
        f}t          ||          s.t          d                    ||d |D                                 d S )Nz'Argument "{}={}" should be of type: {}.c                    g | ]	}|j         
S r>   )r:   ).0ts     r@   
<listcomp>z<HotdocTargetBuilder.check_extra_arg_type.<locals>.<listcomp>   s    ===AQZ===r?   )rG   rH   check_extra_arg_typer*   r8   r   r	   IncludeDirsr   r   BuildTargetr   format)rU   r   rA   vvalid_typess        r@   r   z(HotdocTargetBuilder.check_extra_arg_type   s    eT"" 	 2 2))#q1111FD$(9<IZ\a\mn%-- 	@"#L#S#SU=====$? $? @ @ @	@ 	@r?   c                    | j                                         D ]J\  }}d|                    dd          z   }|                     ||           |                     ||           Kd S )Nz--r{   rz   )rb   itemsr}   r   r~   )rU   r   rA   rt   s       r@   process_extra_argsz&HotdocTargetBuilder.process_extra_args   st    +++-- 	. 	.JCCKKS111F%%c5111vu----	. 	.r?   Fc                   t          |t                    s|g}	 | j                            |          x}}|r ||          }|D ]6}	t          ||	          r$|rt          |t                    s|g|fc S ||fc S 7t	          | d| d|           # t
          $ r |rt	          | d          |||fcY S Y nw xY wdS )Nz field value z is not valid, valid types are z mandatory field not foundNN)rG   rH   rb   ra   r   KeyError)
rU   typesru   defaultrv   	mandatory
force_listuvaluerA   r   s
             r@   	get_valuezHotdocTargetBuilder.get_value   sJ   %&& 	GE	(![__W555FU /'.. ) )eQ'' )! /*UD*A*A / %w... &=((() !G "= "=% "= "=5:"= "= > > > 	( 	( 	( M$%K%K%KLLL"'''' #"		( zs   AB 5B ;B $B<;B<paths T.Union[T.List[str], T.Set[str]]c                    |D ]B}|| j         v r| j                             |           | j                            d|g           Cd S )Nz--extra-extension-path)rp   addrL   r   )rU   r   rm   s      r@   add_extension_pathsz'HotdocTargetBuilder.add_extension_paths   s`     	> 	>Dt222'++D111HOO5t<====	> 	>r?   stringc                j    |                     d| j                                       d| j                  S )Nz@SOURCE_ROOT@z@BUILD_ROOT@)r}   rh   rf   )rU   r   s     r@   replace_dirs_in_stringz*HotdocTargetBuilder.replace_dirs_in_string   s,    ~~ot~>>FF~W[Wdeeer?   c                   | j                             dg          dk    rd S | j                            d          }|                    t
          j                            | j        | j	        j
                  t
          j                            | j        | j	        j
                  g           | xj        dg|z   z  c_        d S )Nz--has-extension=gi-extensionr   r3   z--gi-c-source-roots)r[   rV   rb   ra   r   rl   rm   rn   rh   rZ   root_subdirrf   rL   rU   rA   s     r@   process_gi_c_source_rootsz-HotdocTargetBuilder.process_gi_c_source_roots   s    ;!!#A"BCCqHHF 344GLL)?@@GLL
(>??
 	 	 	
 	*+e33r?   depsr0   r.   c                    t                      }t          j        t          |                    D ]}t	          |t
                    rȉ j                            |j                  }|	                     fd|D                        |	                     
                    |j                             |	                     
                    |j                             |	                     
                    |j                             t	          |t                    r)|	                    |                                           t	          |t           j        t           j        f          rZ j                            |           |                                D ])}|	                    |                                           *t	          |t.                    r 
                    |                                            j                            |j                    
                    |j                    j                            t<          j                              j!        |j"        j#                              xj$        d |j%        D             z  c_$         &                    |j'                   t	          |tP          t           j)        f          r j                            |           t	          |tT                    r j                            |j+                   d |D             S )Nc                :    g | ]}                     |          S r>   )r   )r   xrU   s     r@   r   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>   s7     2 2 2#$  $::1== 2 2 2r?   c                    g | ]}d |z   S )z--extra-assets=r>   )r   ps     r@   r   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>   s    MMMq.2MMMr?   c                8    g | ]}|                     d           S )z-I)r|   )r   fs     r@   r   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>   s"    ...!...r?   ),ro   r
   listifyrI   rG   r   rZ   get_include_argsinclude_directoriesupdateprocess_dependencies	librariessourcesext_depsr   get_compile_argsr	   StaticLibrarySharedLibraryrq   r   get_include_dirsget_incdirsHotdocTargetget_target_dependenciesrr   r   r7   r/   r   rl   rm   rn   rf   hotdoc_confri   rL   r4   r   r5   r   r   r   target)rU   r   cflagsdepinc_argsincds   `     r@   r   z(HotdocTargetBuilder.process_dependencies   s   #K$5$566 	6 	6C#122 6:66s7NOO 2 2 2 2(02 2 2 3 3 3d77FFGGGd77DDEEEd77EEFFFFC,, 6c22445555C%"5u7J!KLL 6"))#...0022 6 6DMM$"2"2"4"455556C.. 6))#*E*E*G*GHHH!((999))#/:::"&&rw||DM3?CY'Z'Z[[[MMC<LMMMM(()BCCCCC,0A!BCC 6"))#....C!233 6"))#*555..v....r?   c                    | j                             d          | _        | j        D ]}| j                            d|g           d S )Nr4   z--extra-assets)rb   ra   _extra_assetsrL   r   )rU   assets_paths     r@   process_extra_assetsz(HotdocTargetBuilder.process_extra_assets   sQ    ![__^<<- 	= 	=KHOO-{;<<<<	= 	=r?   c                    | j                             d          }|                     |           | j                            |           d S Nr7   )rb   ra   r   rr   r   r   s     r@   process_subprojectsz'HotdocTargetBuilder.process_subprojects   sF    ..!!%(((  '''''r?   c           	     ,   g }t          j        | j        d          D ]}t          |t                    rP|                    | j        j                                        | j        j        	                                          }nwt          |t          j                  r|                                D ]}|                    t          j                            | j        |                                |                     |                    t          j                            | j        |                                |                     1t          |t          j        t*          f          r:| j                            |           | j        j                            |          }nSt          |t4                    r>| j                            |j                   | j        j                            |          }|                    |           |S )NT)flatten)r
   r   rL   rG   r   absolute_pathrZ   rd   rg   re   r	   r   r   r   rl   rm   rn   rh   
get_curdirrf   r   r   rq   r\   backendget_target_filename_absr   r   )rU   rL   r   inc_dirs       r@   flatten_config_commandz*HotdocTargetBuilder.flatten_config_command   s   #DHd;;; 	 	C#t$$ L''
(>(M(M(O(O(,
(>(L(L(N(NP PC!233 L"00 W WGJJrw||DNCNN<L<LgVVWWWJJrw||DM3>>;K;KWUUVVVVC%"3\!BCC L"))#...&.FFsKKC!233 L"))#*555&.FFsKKJJsOOOO
r?   c                   t           j                            t           j                  }t           j                            | j        | j                  }t          j        dt          j	        | j
                             t          j        |           | j                            |                                           dk    rt          d          t          j        |           d S )Nz%Generating Hotdoc configuration for: r   zhotdoc failed to configure)rl   rm   abspathcurdirrn   rh   ri   r   logboldrY   chdirr[   rV   r   r   )rU   cwdncwds      r@   generate_hotdoc_configz*HotdocTargetBuilder.generate_hotdoc_config  s    goobi((w||DNDK888$)DI:N:NOOO
;!!$"="="?"?@@AEE !=>>>
r?   r'   .T.Union[File, CustomTarget, CustomTargetIndex]c                    t          |t                    r1g }|D ]*}|                    |                     |                     +|S t          |t                    r t          j        | j        | j        |          S |S rF   )	rG   rH   r   ensure_filer*   r   from_source_filerh   ri   )rU   rA   resvals       r@   r   zHotdocTargetBuilder.ensure_file  s    eT"" 	C 2 2

4++C001111JeS!! 	M(eLLLr?   c                   t           j                            |          r|}n+t           j                            | j        | j        |          }t           j                            |          st          d| d          t           j                            |t           j                            | j	        | j                            S )N"z" is not a directory.)
rl   rm   isabsrn   rh   ri   isdirr   relpathrf   )rU   rA   _dirs      r@   
ensure_dirzHotdocTargetBuilder.ensure_dir  s    7== 	DDD7<<UCCDw}}T"" 	D"#Bt#B#B#BCCCwtRW\\$-%M%MNNNr?   c                H    dD ]}|| j         v rt          d| d          d S )N)	conf_filez
Argument "z" is forbidden.)rb   r   )rU   r   s     r@   check_forbidden_argsz(HotdocTargetBuilder.check_forbidden_args'  sK      	J 	JCdk!!&'HC'H'H'HIII "	J 	Jr?   7T.Tuple[HotdocTarget, mesonlib.ExecutableSerialisation]c                J                                                            d j                                        d                                d j                                        d j                    j                             fd j                            d          D                                             dd	 j        
            	                                  
                                                       j                            d                                                        j                             j                            d                      j                            d          }                                   j        dz   }|dz   }t"          j                             j         j        |          }t-          |dd          5 }|                    d           d d d            n# 1 swxY w Y    xj        d|gz  c_         j                            t"          j                             j         j                              j                            t"          j                             j         j                             t"          j                             j         j         j        dz             } xj        d|gz  c_         j        D ]} j                            d|g            j        j        j        j                            tA          d j        j!                            r j        "                    d            #                                  j$        ddgz    j%        &                                z   dd|gz   dt"          j                             j         j                  gz   }tO          | j         j        j!         j        j        tQ          j)         j        |           j*         j+         j,        | j        |gg t"          j        -                    |           j.                  }	d }
|rt"          j                             j        /                    d            j        /                    d!                    } j        0                    d"d#          }tc          |td                    s"tg          j4        d$d% j        j!                   d#}|rAt"          j                            |d&          }t"          j                            |d&          }nGt"          j                            |d'          }t"          j                            |d( j        d'          } j        j5        6                     j$        ddd)|d*|d+ j        dt"          j                             j         j                  g
z    j%        &                                z   dd|gz             }
d(|
_7        |	|
fS ),Nz--index)rv   z--project-versionz	--sitemapz--html-extra-themec              3  B   K   | ]}                     |          V  d S rF   )r   )r   r   rU   s     r@   	<genexpr>z3HotdocTargetBuilder.make_targets.<locals>.<genexpr>2  s/      !_!_$//!"4"4!_!_!_!_!_!_r?   r/   z--c-include-directoriesr1   )ru   rv   r5   r2   r9   r`   z.jsonwzutf-8)encodingz{}z--conf-filez.depsz--deps-file-destz--include-pathwerror)
subprojectz--fatal-warningsz
--internalr[   rQ   z
--builddir)ri   r   rd   r   r5   r4   r7   commandrq   outputsr   depfiler^   prefixdatadirdevhelp_activateFz6hotdoc.generate_doc() devhelp_activate must be booleanz1.1.0devhelphtmldocz	--installz--docdirz--name)8r   r   r   r   r/   r   rb   ra   r   r   r   r   r   rq   r   r   rY   rl   rm   rn   rf   ri   openwriterL   r   rh   rZ   rd   coredataoptstoreget_value_forr   r   r   r   rk   r[   rR   r   r   from_built_filerp   r   rr   basenamer^   
get_optiongetrG   r8   r   
single_user   get_executable_serialisationtag)rU   r9   fullnamehotdoc_config_namehotdoc_config_pathr   r   rm   
target_cmdr   install_scriptr   r   install_from
install_tos   `              r@   make_targetsz HotdocTargetBuilder.make_targets,  s   !!###y$:JKKK2333{D<LMMM3T_UUU!!!_!_!_!_dkooo>^>^!_!_!____8.bfb{|||&&(((!!###  1H!I!IJJJ  """!!$+//)"<"<===+//),,!!!9v%%/W\\M4;(:< <$cG<<< 	GGDMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]$677rw||DM4;GGHHHrw||DNDKHHIII',,t}dk49w;NOO'11& 	6 	6DHOO-t45555:!*3AA)HaeakavBwBwBwxx 	0HOO.///##%%%'<*BBK##%%&).?Q(RS27<<t{CCDE
 h%)[)-)>*.**@*.*>"&+/A+C +C484O+/+=*.*;&0,0,>'/j&(&(g&6&6w&?&?/3/DF F F   	'gll4:#8#8#B#BDJDYDYZcDdDdeeGkoo&8%@@Ggt,,  !,-egnptpz  qF  G  G  G M!w||Hi@@W\\'9==

!w||Hf==W\\'5$)VLL
!Z/LLTM_h\J$)bgll4=$+FFcH NH ''))N* '9:N; < <N "'N''s   /HHH)rY   r*   rZ   r   r[   rK   r\   r!   r   )rt   r*   ru   r,   rv   rw   rC   rx   )rt   r*   rA   r#   rC   rx   )r   r*   rA   r#   rC   rx   )rC   rx   )NNFF)r   r   rC   rx   )r   r*   rC   r*   )r   r0   rC   r.   )rC   r.   )rA   r'   rC   r   )rA   r*   rC   r*   )rC   r   )r:   r;   r<   rs   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r>   r?   r@   rX   rX   A   s          ,* * * * *1 1 1 1B	@ 	@ 	@ 	@. . . . GK.3   2> > > >f f f f
4 
4 
4 
4/ / / />= = = =( ( ( (   .   
 
 
 
	O 	O 	O 	OJ J J J
R( R( R( R( R( R(r?   rX   c                  H     e Zd Zd fdZeedd                        Z xZS )HotdocTargetHolderr   r   interpr!   c                    t                                          ||           | j                            d| j        i           d S )Nconfig_path)superrs   methodsr   config_path_method)rU   r   r  	__class__s      r@   rs   zHotdocTargetHolder.__init__  sA    (((]D,CDEEEEEr?   argsT.Anyrb   rC   r*   c                    | j         j                            | j        j        j        | j        j        j                  }|S rF   )held_objectr   r   r\   rd   
source_dir	build_dir)rU   r  rb   r_   s       r@   r  z%HotdocTargetHolder.config_path_method  s=     +99$:J:V:a:>:J:V:`b br?   )r   r   r  r!   )r  r  rb   r  rC   r*   )r:   r;   r<   rs   r   r   r  __classcell__r  s   @r@   r  r    sm        F F F F F F    X Y    r?   r  r   c                  (     e Zd Zd fdZddZ xZS )r   rY   r*   ri   r   r   r   r5   
T.Set[str]r4   r.   r7   r6   rd   r    rb   r  c	                     t                      j        ||||fi |	ddi || _        || _        || _        || _        d S )Nabsolute_pathsT)r  rs   r   r5   r4   r7   )rU   rY   ri   r   r   r5   r4   r7   rd   rb   r  s             r@   rs   zHotdocTarget.__init__  s\     	vz;^^&^^Y]^^^^&%:"(&r?   rC   dictc                B    | j                                         }g |d<   |S r   )__dict__copy)rU   r   s     r@   __getstate__zHotdocTarget.__getstate__  s$    m  ""M
r?   )rY   r*   ri   r*   r   r*   r   r   r5   r'  r4   r.   r7   r6   rd   r    rb   r  )rC   r*  )r:   r;   r<   rs   r.  r$  r%  s   @r@   r   r     sQ        ' ' ' ' ' '       r?   c                      e Zd Z edd          Zd+ fdZe eded          d,d                        Z	 ede           e
d eded           eded           eded           edeef           ed eee          dg            ed eeeej        ej        eef          dg            ed eeeef          dg d           ed eee          dg            ed  eee          dg            ed! eee          dg            ed" eee          dg            ed#ed$%          d&          d-d*                        Z xZS ).HotDocModuler[   z0.48.0r\   r!   c                   t                                          |           t          d          | _        | j                                        st          d          | j                            |          }t          j        |dt                     st          dt           d          | j
                            | j        | j        d           d S )Nr[   zhotdoc executable not foundz>=zhotdoc z required but not found.))has_extensionsgenerate_doc)r  rs   rK   r[   foundr   get_versionr
   version_compareMIN_HOTDOC_VERSIONr  r   r2  r3  )rU   r\   versionr  s      r@   rs   zHotDocModule.__init__  s    %%%+H55{  "" 	@ !>???+))+66'1J6H1J1JKK 	Z !X+=!X!X!XYYY"1 -
 
 	 	 	 	 	r?   zhotdoc.has_extensionsr   )varargsmin_varargsrZ   r   r  T.Tuple[T.List[str]]rb   r"   rC   r8   c                ^    | j                             d |d         D                       dk    S )Nc                    g | ]}d | S )z--has-extension=r>   )r   	extensions     r@   r   z/HotDocModule.has_extensions.<locals>.<listcomp>  s!    &_&_&_)'E)'E'E&_&_&_r?   r   )r[   rV   )rU   rZ   r  rb   s       r@   r2  zHotDocModule.has_extensions  s6     {%%&_&_W[\]W^&_&_&_``deeer?   zhotdoc.generate_docr(   T)requiredr)   r+   r-   r/   )r   r   r1   r2   0.64.1)r   r   sincer3   r4   r5   r7   r9   F)r   )allow_unknownT.Tuple[str]r&   r   c                P   |d         }t          d |d         D                       r"t          j        dd|j        d|j                   t          ||| j        | j        |          }|                                \  }}|g}|r|	                    |           t          ||          S )Nr   c              3  N   K   | ] }t          |t          t          f          V  !d S rF   )rG   r   r   )r   r   s     r@   r   z,HotDocModule.generate_doc.<locals>.<genexpr>  s2      ``Az!l,=>??``````r?   r1   z<hotdoc.generate_doc dependencies argument with custom_targetr@  zuse `depends`)anyr   r
  r   current_noderX   r[   r\   r  r   r   )	rU   rZ   r  rb   project_namebuilderr   r  targetss	            r@   r3  zHotDocModule.generate_doc  s    > Aw``P^I_````` 	j()g)153C_V[Vhj j j%lE4;HXZ`aa!(!5!5!7!7TZS[ 	+NN>*** 111r?   )r\   r!   )rZ   r   r  r;  rb   r"   rC   r8   )rZ   r   r  rC  rb   r&   rC   r   )r:   r;   r<   r   INFOrs   r   r   r*   r2  r   r   
file_typesr   r   rH   r   r	   r   r   r   r   r   r8   r3  r$  r%  s   @r@   r0  r0    s       :h))D      ^+SaHHHf f f IH Xf ^)3//\	)Z$777	':555	#S4888	$sHo66	/#4#4T3#?#?WYZZZ	dZ1DeFY%13D%F G G	
 	
 	
 		d\3D$EFF	
 	
 	
 		%'8'8s'C'CT[]^^^	."3"3D#">">VXYYY	)+<+<T3+G+GQU_abbb	-!2!24!F!FPT^`aaa	)T51117  :2 2 2;  0/<2 2 2 2 2r?   r0  r\   r!   c                n    t          |           }|j                            t          t                     |S rF   )r0  r\   append_holder_mapr   r  )r\   mods     r@   
initializerP    s-    
{
#
#CO%%l4FGGGJr?   )rA   rB   rC   rD   )r\   r!   rC   r0  )<
__future__r   rl   rP   typingT r   r   r   r	   r
   r   r   r   r1   r   r   interpreterbaser   r   r   r   r   r   r   r   interpreter.interpreterobjectsr   interpreter.type_checkingr   r   r   programsr   optionsr   TYPE_CHECKINGtyping_extensionsr   r   rd   r    r\   r!   r"   r#   TypeVarr$   r&   rI   r7  r*   rL  rK   rX   r  r   r0  rP  r>   r?   r@   <module>r]     sO   # " " " " " U             < < < < < < < < < < $ $ $ $ $ $ $ $ $ $ 3 3 3 3 3 3 3 3 9 9 9 9 9 9 9 9                    A @ @ @ @ @ 0 0 0 0 0 0 + + + + + + + + & & & & & &      ? ++++++))))))))))))77777777	4B    I        4'89
^ ^ ^ ^ ^O ^ ^ ^
}( }( }( }( }( }( }( }(@

 
 
 
 
,^< 
 
 
    <   $@2 @2 @2 @2 @2? @2 @2 @2F     r?   