Ë
    pPêj×‚  ã                  óÆ  — U d Z ddlm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 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mZ ddlmZm Z m!Z!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Z0de1d<   dddddddddddddddœZ2de1d<    G d„ de3«      Z4	 d8	 	 	 	 	 	 	 d9d„Z5d:d„Z6	 	 	 	 	 	 	 	 d;d „Z7e	 d<	 	 	 	 	 	 	 	 	 d=d"„«       Z8d>d?d#„Z9d@d$„Z:edAd%„«       Z;edBd&„«       Z;dCd'„Z;dDd(„Z< G d)„ d*e,«      Z= G d+„ d,«      Z> G d-„ d.«      Z?dEd/„Z@	 dF	 	 	 	 	 	 	 dGd0„ZA ed!¬1«       G d2„ d3«      «       ZB G d4„ d5«      ZC ed!¬1«       G d6„ d7«      «       ZDy)HzDUtilities for mypy.stubgen, mypy.stubgenc, and mypy.stubdoc modules.é    )ÚannotationsN)Úabstractmethod)Údefaultdict)ÚIterableÚIteratorÚMapping)Úcontextmanager)ÚFinalÚoverload)Ú
mypyc_attr)ÚModuleNotFoundReason)ÚInspectErrorÚModuleInspect)ÚPARAM_SPEC_KINDÚTYPE_VAR_TUPLE_KINDÚClassDefÚFuncDefÚTypeAliasStmt)ÚArgSigÚFunctionSig)ÚAnyTypeÚNoneTypeÚTypeÚTypeListÚTypeStrVisitorÚUnboundTypeÚ	UnionTypeÚ
UnpackType© ztuple[str, ...]ÚNOT_IMPORTABLE_MODULESúbuiltins.strzbuiltins.tuplezbuiltins.listzbuiltins.dictzbuiltins.setzbuiltins.frozensetzbuiltins.type)ztyping.Textztyping.Tupleztyping.Listztyping.Dictz
typing.Setztyping.FrozenSetztyping.Typeztyping_extensions.Textztyping_extensions.Tupleztyping_extensions.Listztyping_extensions.Dictztyping_extensions.Setztyping_extensions.FrozenSetztyping_extensions.Typer
   ÚTYPING_BUILTIN_REPLACEMENTSc                  ó   — e Zd Zdd„Zy)Ú
CantImportc                ó    — || _         || _        y ©N)ÚmoduleÚmessage)Úselfr'   r(   s      úR/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/stubutil.pyÚ__init__zCantImport.__init__:   s   € ØˆŒØˆ�ó    N)r'   Ústrr(   r-   ÚreturnÚNone©Ú__name__Ú
__module__Ú__qualname__r+   r   r,   r*   r$   r$   9   s   „ ôr,   r$   c              #  óÐ  K  — |D ]Š  }|t         v rt        |› d�«       Œ|rt        d|›d�«       	 | j                  |«      }|j                  –— |j                  r t        | |j                  |«      E d{  –—†  Œw|j                  E d{  –—†  ŒŒ y# t        $ rC |r3t	        j
                  «       }t        j                  j                  |«       t        |«       Y ŒÙw xY w7 Œk7 ŒX­w)a÷  Iterates through all packages and sub-packages in the given list.

    This uses runtime imports (in another process) to find both Python and C modules.
    For Python packages we simply pass the __path__ attribute to pkgutil.walk_packages() to
    get the content of the package (all subpackages and modules).  However, packages in C
    extensions do not have this attribute, so we have to roll out our own logic: recursively
    find all modules imported in the package that have matching names.
    z: Skipped (blacklisted)úTrying to import ú for runtime introspectionN)r    ÚprintÚget_package_propertiesr   Ú	tracebackÚ
format_excÚsysÚstderrÚwriteÚreport_missingÚnameÚis_c_moduleÚwalk_packagesÚsubpackages)ÚinspectÚpackagesÚverboseÚpackage_nameÚpropÚtbs         r*   rA   rA   ?   sã   è ø€ ð !ò (ˆØÔ1Ñ1Ü�\�NÐ"9Ð:Ô;ØÙÜÐ% lÐ%5Ð5OÐPÔQð	Ø×1Ñ1°,Ó?ˆDð �i‰iŠØ×Òä$ W¨d×.>Ñ.>ÀÓH×HÑHà×'Ñ'×'Ñ'ñ'(øô ò 	ÙÜ×)Ñ)Ó+�Ü—
‘
× Ñ  Ô$Ü˜<Ô(Ùð	úð Iøà'úsG   ‚.C&±BÁ4C&Á6C"Á7C&ÂC$ÂC&ÂA	CÃC&ÃCÃC&Ã$C&c                ó4  — | j                  dd«      dz   t        j                  j                  | j                  dd«      d«      f}|D ]N  }|D ]G  }t        j                  j                  ||«      }t        j                  j	                  |«      sŒC|c c S  ŒP y )Nú.ú/z.pyz__init__.py)ÚreplaceÚosÚpathÚjoinÚisfile)r'   Úsys_pathÚrelative_candidatesÚbaseÚrelative_pathrN   s         r*   Úfind_module_path_using_sys_pathrU   `   sˆ   € à�‰�s˜CÓ  5Ñ(Ü
�‰�‰�V—^‘^ C¨Ó-¨}Ó=ðÐð ò ˆØ0ò 	ˆMÜ—7‘7—<‘<  mÓ4ˆDÜ�w‰w�~‰~˜dÕ#Ø”ñ	ðð
 r,   c                óR  — |t         v rt        |d«      ‚|rt        d|›d�«       	 | j                  |«      }|j                  ry|j                  |j                  fS # t        $ r@}t        |t        j                  «      }|€t        |t        |«      «      |‚|dfcY d}~S d}~ww xY w)zÚFind module and determine __all__ for a Python 3 module.

    Return None if the module is a C or pyc-only module.
    Return (module_path, __all__) if it is a Python module.
    Raise CantImport if import failed.
    Ú r5   r6   N)r    r$   r7   r8   r   rU   r;   rN   r-   r@   ÚfileÚall)rC   r'   rE   ÚmodÚerN   s         r*   Úfind_module_path_and_all_py3r\   m   sª   € ð Ô'Ñ'Ü˜ Ó$Ð$ñ ÜÐ! & Ð+EÐFÔGðØ×,Ñ,¨VÓ4ˆð ‡‚ØØ�8‰8�S—W‘WÐÐøô ò ä.¨v´s·x±xÓ@ˆØˆ<Ü˜V¤S¨£VÓ,°!Ð3Ø�TˆzÕûðús   §A Á	B&Á&5B!ÂB&Â!B&Tc              #  óÄ   K  — |rt        d| › �«       	 d–— |rt        d|› �«       yy# t        $ r*}|s|‚t        d| t        j                  ¬«       Y d}~yd}~ww xY w­w)zTIgnore or report errors during stub generation.

    Optionally report success.
    zProcessing NzCreated zStub generation failed for)rX   )r7   Ú	Exceptionr;   r<   )rZ   ÚtargetÚignore_errorsrE   r[   s        r*   Úgenerate_guardedra   ‰   sl   è ø€ ñ Ü�˜C˜5Ð!Ô"ð
'Ûñ Ü�H˜V˜HÐ%Õ&ð øô ò FÙØˆGô Ð.°¼#¿*¹*×EÒEûðFüs*   ‚A ”* ˜A ª	A³ AÁA ÁAÁA c                ó2   — |rd|z   }t        | › d|› �«       y )Nz with error: z: Failed to import, skipping)r7   )rZ   r(   r9   s      r*   r>   r>       s#   € ÙØ! GÑ+ˆÜ	ˆSˆEÐ-¨g¨YÐ
7Õ8r,   c                ó„   — |t         j                  u rd}n|t         j                  u rd}nd|› d�}t        d| › d|› �«      ‚)Nz(consider using --search-path)z5(module likely exists, but is not PEP 561 compatible)z(unknown reason 'z')zCan't find module 'z' )r   Ú	NOT_FOUNDÚFOUND_WITHOUT_TYPE_HINTSÚ
SystemExit)rZ   ÚreasonÚclarifications      r*   Úfail_missingri   ¦   sQ   € ØÔ%×/Ñ/Ñ/Ø8‰Ø	Ô'×@Ñ@Ñ	@ØO‰à+¨F¨8°2Ð6ˆÜ
Ð*¨3¨%¨r°-°ÐAÓ
BÐBr,   c                 ó   — y r&   r   ©Úsources    r*   Úremove_misplaced_type_commentsrm   °   s   € Ø<?r,   c                 ó   — y r&   r   rk   s    r*   rm   rm   ´   s   € Ø8;r,   c                óÈ  — t        | t        «      r| j                  d«      }n| }t        j                  dd|t        j
                  ¬«      }t        j                  dd|t        j
                  ¬«      }t        j                  dd|t        j
                  ¬«      }t        j                  d	d|t        j
                  ¬«      }t        | t        «      r|j                  d«      S |S )
zØRemove comments from source that could be understood as misplaced type comments.

    Normal comments may look like misplaced type comments, and since they cause blocking
    parse errors, we want to avoid them.
    Úlatin1z ^[ \t]*# +type: +["\'a-zA-Z_].*$rW   )Úflagsz""" *\n[ \t\n]*# +type: +\(.*$z"""
z''' *\n[ \t\n]*# +type: +\(.*$z'''
z%^[ \t]*# +type: +\([^()]+(\)[ \t]*)?$)Ú
isinstanceÚbytesÚdecodeÚreÚsubÚ	MULTILINEÚencode)rl   Útexts     r*   rm   rm   ¸   s©   € ô �&œ%Ô à�}‰}˜XÓ&‰àˆô �6‰6Ð5°r¸4ÄrÇ|Á|ÔT€Dô �6‰6Ð3°W¸dÌ"Ï,É,ÔW€DÜ�6‰6Ð3°W¸dÌ"Ï,É,ÔW€Dô �6‰6Ð:¸BÀÌBÏLÉLÔY€Dä�&œ%Ô Ø�{‰{˜8Ó$Ð$àˆr,   c                óŒ  — | syt         j                  j                  t         j                  j                  | d   «      «      }| dd  D ]u  }	 t         j                  j                  t         j                  j                  |«      «      }|t         j                  z   j                  |t         j                  z   «      r|}ŒvŒs |xs dS )NrJ   r   é   )rM   rN   ÚdirnameÚnormpathÚsepÚ
startswith)ÚpathsÚcurrN   s      r*   Úcommon_dir_prefixr‚   Ö   s�   € ÙØÜ
�'‰'�/‰/œ"Ÿ'™'×*Ñ*¨5°©8Ó4Ó
5€CØ�a�b�	ò ˆØÜ—7‘7—?‘?¤2§7¡7×#3Ñ#3°DÓ#9Ó:ˆDØ”b—f‘f‘×(Ñ(¨´·±©Ô7Ø�Øð	 ðð Š:�#Ðr,   c                  óx   ‡ — e Zd ZdZ	 	 d
	 	 	 	 	 	 	 dˆ fd„Zdˆ fd„Zdd„Zdd„Zdd„Zdd„Z	dˆ fd„Z
dd	„Zˆ xZS )ÚAnnotationPrinteraù  Visitor used to print existing annotations in a file.

    The main difference from TypeStrVisitor is a better treatment of
    unbound types.

    Notes:
    * This visitor doesn't add imports necessary for annotations, this is done separately
      by ImportTracker.
    * It can print all kinds of types, but the generated strings may not be valid (notably
      callable types) since it prints the same string that reveal_type() does.
    * For Instance types it prints the fully qualified names.
    c                ó’   •— t         ‰| �  t        j                  j	                  «       ¬«       || _        || _        |xs dg| _        y )N)ÚoptionsÚbuiltins)Úsuperr+   Úmypyr†   ÚOptionsÚstubgenÚknown_modulesÚlocal_modules)r)   r‹   rŒ   r�   Ú	__class__s       €r*   r+   zAnnotationPrinter.__init__ó   s@   ø€ ô 	‰Ñ¤§¡×!5Ñ!5Ó!7ÐÔ8ØˆŒØ*ˆÔØ*Ò:¨z¨lˆÕr,   c                óp   •— t         ‰| �  |«      }| j                  j                  j	                  |«       |S r&   )rˆ   Ú	visit_anyr‹   Úimport_trackerÚrequire_name)r)   ÚtÚsrŽ   s      €r*   r�   zAnnotationPrinter.visit_anyþ   s/   ø€ Ü‰GÑ˜aÓ ˆØ�‰×#Ñ#×0Ñ0°Ô3Øˆr,   c                ó2  — |j                   }| j                  j                  |«      }|dk(  r8dj                  |j                  D �cg c]  }|j                  | «      ‘Œ c}«      S |dk(  rTt        |j                  «      dk(  r!|j                  d   j                  | «      › d�S | j                  j                  d«      S |t        v r$| j                  j                  t        |   d¬	«      }| j                  �®d
|v rª| j                  t        | j                  d¬«      z   D ]9  }|j                  |d
z   «      sŒ|| j                  v r|t        |«      dz   d  }|} n |d |j                  d
«       }|| j                  vrU| j                  j                  j                  |d¬	«       n-|dk(  rd}n%| j                  j                  j!                  |«       |j                  r$|d| j#                  |j                  «      › d�z  }|S |j$                  r|dz  }|S c c}w )Nztyping.Unionú | ztyping.Optionalr{   r   z | Nonez_typeshed.IncompleteT©ÚrequirerJ   )Úreverser   r/   ú[ú]z[()])r?   r‹   Úresolve_namerO   ÚargsÚacceptÚlenÚadd_namer"   rŒ   r�   Úsortedr   Úrindexr‘   Ú
add_importr’   Úargs_strÚempty_tuple_index)r)   r“   r”   ÚfullnameÚitemÚmodule_nameÚ
arg_modules          r*   Úvisit_unbound_typez$AnnotationPrinter.visit_unbound_type  sö  € Ø�F‰FˆØ—<‘<×,Ñ,¨QÓ/ˆØ�~Ò%Ø—:‘:¸Q¿V¹VÖD°T˜tŸ{™{¨4Õ0ÒDÓEÐEØÐ(Ò(Ü�1—6‘6‹{˜aÒØŸ&™& ™)×*Ñ*¨4Ó0Ð1°Ð9Ð9Ø—<‘<×(Ñ(Ð)?Ó@Ð@ØÔ2Ñ2Ø—‘×%Ñ%Ô&AÀ(Ñ&KÐUYÐ%ÓZˆAØ×ÑÐ)¨c°Q©hð  $×1Ñ1´F¸4×;MÑ;MÐW[Ô4\Ñ\ò 0�Ø—<‘< ¨cÑ 1Õ2Ø" d×&8Ñ&8Ñ8Øœc +Ó.°Ñ2Ð4Ð5˜Ø!,�JÙð0ð ˜ §¡¨#£Ð/�
Ø ×!3Ñ!3Ñ3Ø—‘×+Ñ+×6Ñ6°zÈ4Ð6ÕPØ�*Š_ð ‰Aà�L‰L×'Ñ'×4Ñ4°QÔ7Ø�6Š6Ø�1�T—]‘] 1§6¡6Ó*Ð+¨1Ð-Ñ-ˆAð ˆð × Ò Ø�‰KˆAØˆùò= Es   ÁHc                 ó   — y)Nr/   r   ©r)   r“   s     r*   Úvisit_none_typez!AnnotationPrinter.visit_none_type'  s   € Ør,   c                ó@   — d| j                  |j                  «      › d�S )Nrš   r›   )Úlist_strÚitemsr¬   s     r*   Úvisit_type_listz!AnnotationPrinter.visit_type_list*  s   € Ø�4—=‘= §¡Ó)Ð*¨!Ð,Ð,r,   c                ó|   — dj                  |j                  D �cg c]  }|j                  | «      ‘Œ c}«      S c c}w )Nr–   )rO   r°   rž   )r)   r“   r§   s      r*   Úvisit_union_typez"AnnotationPrinter.visit_union_type-  s,   € Ø�z‰z¸¿¹ÖA°˜4Ÿ;™; tÕ,ÒAÓBÐBùÒAs   š9c                ó�   •— | j                   j                  dk\  rd|j                  j                  | «      › �S t        ‰| �  |«      S )N)é   é   Ú*)r†   Úpython_versionÚtyperž   rˆ   Úvisit_unpack_type)r)   r“   rŽ   s     €r*   rº   z#AnnotationPrinter.visit_unpack_type0  s@   ø€ Ø�<‰<×&Ñ&¨'Ò1Ø�q—v‘v—}‘} TÓ*Ð+Ð,Ð,Ü‰wÑ(¨Ó+Ð+r,   c                óê   — ddg}g }|D ]X  }|j                  | «      }t        |t        «      r$|j                  |v r|j	                  d|› d�«       ŒH|j	                  |«       ŒZ dj                  |«      S )z¹Convert an array of arguments to strings and join the results with commas.

        The main difference from list_str is the preservation of quotes for string
        arguments
        zbuiltins.bytesr!   ú'ú, )rž   rr   r   Úoriginal_str_fallbackÚappendrO   )r)   r�   ÚtypesÚresÚargÚarg_strs         r*   r¤   zAnnotationPrinter.args_str5  sw   € ð " >Ð2ˆØˆØò 	$ˆCØ—j‘j Ó&ˆGÜ˜#œ{Ô+°×0IÑ0IÈUÑ0RØ—
‘
˜Q˜w˜i q˜>Õ*à—
‘
˜7Õ#ð	$ð �y‰y˜‹~Ðr,   ©NN)r‹   ÚBaseStubGeneratorrŒ   úlist[str] | Noner�   rÆ   r.   r/   )r“   r   r.   r-   )r“   r   r.   r-   )r“   r   r.   r-   )r“   r   r.   r-   )r“   r   r.   r-   )r“   r   r.   r-   )r�   zIterable[Type]r.   r-   )r1   r2   r3   Ú__doc__r+   r�   rª   r­   r±   r³   rº   r¤   Ú__classcell__)rŽ   s   @r*   r„   r„   ã   s`   ø„ ñð$ +/Ø*.ð		;à"ð	;ð (ð	;ð (ð		;ð
 
õ	;õó
"óHó-óCõ,÷
r,   r„   c                  ó2   — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zy)Ú	ClassInfoNc                óJ   — || _         || _        || _        || _        || _        y r&   )r?   Úself_varÚ	docstringÚclsÚparent)r)   r?   rÌ   rÍ   rÎ   rÏ   s         r*   r+   zClassInfo.__init__G  s'   € ð ˆŒ	Ø ˆŒØ"ˆŒØˆŒØˆ�r,   )NNN)r?   r-   rÌ   r-   rÍ   ú
str | NonerÎ   ztype | NonerÏ   úClassInfo | Noner.   r/   r0   r   r,   r*   rÊ   rÊ   F  sL   „ ð
 !%ØØ#'ðàðð ðð ð	ð
 ðð !ðð 
ôr,   rÊ   c                  óD   — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zedd„«       Zy)ÚFunctionContextNc                óX   — || _         || _        || _        || _        || _        d | _        y r&   )r¨   r?   rÍ   Úis_abstractÚ
class_infoÚ	_fullname)r)   r¨   r?   rÍ   rÕ   rÖ   s         r*   r+   zFunctionContext.__init__W  s0   € ð 'ˆÔØˆŒ	Ø"ˆŒØ&ˆÔØ$ˆŒØ%)ˆ�r,   c                ó�  — | j                   €¯| j                  rƒg }| j                  }|�*|j                  |j                  «       |j                  }|�Œ*dj                  t        |«      «      }| j                  › d|› d| j                  › �| _         | j                   S | j                  › d| j                  › �| _         | j                   S )NrJ   )r×   rÖ   r¿   r?   rÏ   rO   Úreversedr¨   )r)   ÚparentsrÖ   Ú	namespaces       r*   r¦   zFunctionContext.fullnamef  s·   € à�>‰>Ð!Ø�ŠØ�Ø/3¯©�
Ø Ð,Ø—N‘N :§?¡?Ô3Ø!+×!2Ñ!2�Jð !Ñ,ð  ŸH™H¤X¨gÓ%6Ó7�	Ø$(×$4Ñ$4Ð#5°Q°y°kÀÀ4Ç9Á9À+Ð!N�”ð �~‰~Ðð %)×$4Ñ$4Ð#5°Q°t·y±y°kÐ!B�”Ø�~‰~Ðr,   )NFN)r¨   r-   r?   r-   rÍ   rÐ   rÕ   ÚboolrÖ   rÑ   r.   r/   ©r.   r-   )r1   r2   r3   r+   Úpropertyr¦   r   r,   r*   rÓ   rÓ   V  s`   „ ð
 !%Ø!Ø'+ð*àð*ð ð*ð ð	*ð
 ð*ð %ð*ð 
ó*ð òó ñr,   rÓ   c                ó†   — | j                  d«      r0| j                  d«      r| dd } | dv r| S | dv ry| dv ry| d	v ry
| dv ryy)z,Infer return types for known special methodsÚ__é   éþÿÿÿ)ÚfloatrÜ   rs   ÚintÚcomplexr-   )ÚeqÚneÚltÚleÚgtÚgeÚcontainsrÜ   )rŸ   Úlength_hintÚindexÚhashÚsizeofÚtruncÚfloorÚceilrä   )ÚformatÚreprr-   )ÚinitÚsetitemÚdelÚdelitemr/   N)r   Úendswith©r?   s    r*   Úinfer_method_ret_typerü   v  se   € à‡��tÔ §¡¨tÔ!4Ø�A�bˆzˆØÐFÑFØˆKàÐEÑEØØÐ`Ñ`ØØÐ'Ñ'ØØÐ:Ñ:ØØr,   c                óL  — d}| j                  d«      ry| j                  d«      rh|rt        |«      dk\  r|d   dk(  r|dd }| dd } | dk(  rA|€g d	¢}t        |«      d
k(  r-g d¢}t        ||«      D ��cg c]  \  }}t	        ||¬«      ‘Œ }}}|�t	        |¬«      g|z   S yc c}}w )z.Infer argument types for known special methodsNrà   r{   r   r)   rá   râ   Úexit)r¹   Úvaluer9   rµ   )ztype[BaseException] | NonezBaseException | Noneztypes.TracebackType | None)r?   r¹   rû   )r   rú   rŸ   Úzipr   )r?   rÌ   Ú	arg_namesr�   Ú	arg_typesÚarg_nameÚarg_types          r*   Úinfer_method_arg_typesr  ˆ  sÈ   € ð !%€DØ‡��tÔ §¡¨tÔ!4Ùœ˜Y›¨1Ò,°¸1±ÀÒ1GØ! ! "˜ˆIà�A�bˆzˆØ�6Š>ØÐ Ú:�	Ü�9‹~ Ò"ò�	ô /2°)¸YÓ.G÷á*˜ (ô  ¨xÖ8ð�ñ ð ÐÜ˜HÔ%Ð&¨Ñ-Ð-Øùós   Á3B )Úallow_interpreted_subclassesc                  óT   — e Zd ZdZ	 	 	 	 	 	 dd„Ze	 	 	 	 	 	 dd„«       Zedd„«       Zy)	ÚSignatureGeneratorzLAbstract base class for extracting a list of FunctionSigs for each function.c                ó”   — |rE|D ]@  }|j                   sŒ|j                   d   j                  |k(  sŒ-d|j                   d   _        ŒB |S )z-Remove type annotation from self/cls argumentr   N)r�   r?   r¹   )r)   ÚinferredrÌ   Ú	signatures       r*   Úremove_self_typez#SignatureGenerator.remove_self_type¨  sL   € ñ Ø%ò 6�	Ø—>“>Ø —~‘~ aÑ(×-Ñ-°Ó9Ø15˜	Ÿ™ qÑ)Õ.ð6ð ˆr,   c                 ó   — y)zìReturn a list of signatures for the given function.

        If no signature can be found, return None. If all of the registered SignatureGenerators
        for the stub generator return None, then the default_sig will be used.
        Nr   )r)   Údefault_sigÚctxs      r*   Úget_function_sigz#SignatureGenerator.get_function_sig³  s   € ð 	r,   c                 ó   — y)z%Return the type of the given propertyNr   )r)   Údefault_typer  s      r*   Úget_property_typez$SignatureGenerator.get_property_type¾  s   € ð 	r,   N)r
  úlist[FunctionSig] | NonerÌ   r-   r.   r  )r  r   r  rÓ   r.   r  )r  rÐ   r  rÓ   r.   rÐ   )r1   r2   r3   rÇ   r  r   r  r  r   r,   r*   r  r  ¤  sb   „ áVð	Ø0ð	Ø<?ð	à	!ó	ð ðØ&ðØ-<ðà	!òó ðð òó ñr,   r  c                  óT   — e Zd ZdZd	d„Z	 d
	 	 	 	 	 	 	 dd„Zddd„Zdd„Zdd„Zdd„Z	y)ÚImportTrackerz0Record necessary imports during stub generation.c                ój   — i | _         i | _        i | _        t        «       | _        t        «       | _        y r&   )Ú
module_forÚdirect_importsÚreverse_aliasÚsetÚrequired_namesÚ	reexports©r)   s    r*   r+   zImportTracker.__init__Ç  s2   € ð  24ˆŒØ.0ˆÔØ-/ˆÔô ),«ˆÔô $'£5ˆ�r,   c                ó  — |D ]ˆ  \  }}|r|| j                   |<   || j                  |<   n+|| j                   |<   | j                  j                  |d «       |r| j                  |xs |«       | j                  j                  |xs |d «       ŒŠ y r&   )r  r  Úpopr’   r  )r)   r'   Únamesr˜   r?   Úaliass         r*   Úadd_import_fromzImportTracker.add_import_fromá  s�   € ð !ò 	9‰KˆD�%Ùà)/�—‘ Ñ&Ø,0�×"Ñ" 5Ò)ð )/�—‘ Ñ%Ø×"Ñ"×&Ñ& t¨TÔ2ÙØ×!Ñ! %¢-¨4Ô0Ø×Ñ×#Ñ# E¢M¨T°4Õ8ñ	9r,   Nc                ót  — |rCd|vsJ ‚d | j                   |<   || j                  |<   |r| j                  j                  |«       y y |}|r| j                  j                  |«       |rRd | j                   |<   || j                  |<   | j                  j                  |d «       |j                  d«      d   }|rŒQy y )NrJ   r   )r  r  r  Úaddr  r   Ú
rpartition)r)   r'   r"  r˜   r?   s        r*   r£   zImportTracker.add_importñ  sº   € Ùà˜eÑ#Ð#Ð#Ø%)ˆD�O‰O˜EÑ"Ø(.ˆD×Ñ˜uÑ%ÙØ×#Ñ#×'Ñ'¨Õ.ð ð ˆDÙØ×#Ñ#×'Ñ'¨Ô-áØ(,�—‘ Ñ%Ø,2�×#Ñ# DÑ)Ø×"Ñ"×&Ñ& t¨TÔ2Ø—‘ sÓ+¨AÑ.�ô	 r,   c                ó®   — || j                   vr,d|v r(|j                  dd«      d   }|| j                   vrd|v rŒ(| j                  j                  |«       y )NrJ   r{   r   )r  Úrsplitr  r%  ©r)   r?   s     r*   r’   zImportTracker.require_name  sU   € Ø˜$×-Ñ-Ñ-°#¸±+Ø—;‘;˜s AÓ& qÑ)ˆDð ˜$×-Ñ-Ñ-°#¸²+à×Ñ×Ñ Õ%r,   c                ó\   — | j                  |«       | j                  j                  |«       y)zÎMark a given non qualified name as needed in __all__.

        This means that in case it comes from a module, it should be
        imported with an alias even if the alias is the same as the name.
        N)r’   r  r%  r)  s     r*   ÚreexportzImportTracker.reexport
  s$   € ð 	×Ñ˜$ÔØ�‰×Ñ˜4Õ r,   c                óÔ  ‡ — g }t        t        «      }t        ‰ j                  ˆ fd„¬«      D ]ç  }|‰ j                  vrŒ‰ j                  |   }|�M|‰ j
                  v r‰ j
                  |   › d|› �}n|‰ j                  v r|› d|› �}||   j                  |«       Œp|‰ j
                  v r(‰ j
                  |   }|j                  d|› d|› d�«       Œ¦|‰ j                  v rd|vsJ ‚|j                  d|› d|› d�«       ŒÓ|j                  d|› d�«       Œé t        |j                  «       «      D ]5  \  }}|j                  d|› dd	j                  t        |«      «      › d�«       Œ7 |S )
a  The list of required import lines (as strings with python code).

        In order for a module be included in this output, an identifier must be both
        'required' via require_name() and 'imported' via add_import_from()
        or add_import()
        c                óJ   •— | ‰j                   v r‰j                   |    | fS | dfS )NrW   )r  )Únr)   s    €r*   ú<lambda>z,ImportTracker.import_lines.<locals>.<lambda>#  s/   ø€ ¸¸T×=OÑ=OÑ8O˜4×-Ñ-¨aÑ0°!Ð4€ ÐVWÐY[ÐU\€ r,   )Úkeyz as zimport ú
rJ   zfrom z import r½   )
r   Úlistr¡   r  r  r  r  r¿   r°   rO   )r)   ÚresultÚ
module_mapr?   Úmrl   r'   r!  s   `       r*   Úimport_lineszImportTracker.import_lines  sŠ  ø€ ð ˆô
 /:¼$Ó.?ˆ
äØ×ÑÛ\ô
ò 	6ˆDð
 ˜4Ÿ?™?Ñ*Øà—‘ Ñ%ˆAØˆ}ð ˜4×-Ñ-Ñ-Ø"×0Ñ0°Ñ6Ð7°t¸D¸6ÐB‘DØ˜TŸ^™^Ñ+Ø"˜V 4¨ vÐ.�DØ˜1‘×$Ñ$ TÕ*ð ˜4×-Ñ-Ñ-Ø!×/Ñ/°Ñ5�FØ—M‘M G¨F¨8°4¸°v¸RÐ"@ÕAØ˜TŸ^™^Ñ+Ø d™?Ð*˜?Ø—M‘M G¨D¨6°°d°V¸2Ð">Õ?à—M‘M G¨D¨6°Ð"4Õ5ð7	6ô< $ J×$4Ñ$4Ó$6Ó7ò 	P‰MˆF�EØ�M‰M˜E & ¨°$·)±)¼FÀ5»MÓ2JÐ1KÈ2ÐNÕOð	Pàˆr,   ©r.   r/   ©F)r'   r-   r!  zlist[tuple[str, str | None]]r˜   rÜ   r.   r/   ©NF)r'   r-   r"  rÐ   r˜   rÜ   r.   r/   ©r?   r-   r.   r/   )r.   ú	list[str])
r1   r2   r3   rÇ   r+   r#  r£   r’   r+  r6  r   r,   r*   r  r  Ä  sJ   „ Ù:ó)ð6 QVð9Øð9Ø">ð9ØIMð9à	ó9ô /ó(&ó
!ô.r,   r  c                  ón  — e Zd ZU h d£Zded<   dZded<   h d£Zded<   	 	 	 	 d!	 	 	 	 	 	 	 	 	 d"d	„Zd#d
„Zd$d„Z	d%d&d„Z
d'd„Zd(d„Zd(d„Zd(d„Zd)d„Zd*d„Zd+d„Zd+d„Zd,d„Zd-d„Zd.d„Zd+d„Z	 	 	 	 	 	 	 	 d/d„Z	 	 	 	 	 	 	 	 d0d„Z	 	 	 d1	 	 	 	 	 	 	 	 	 d2d„Zd3d„Z	 	 d4	 	 	 	 	 	 	 d5d„Zd-d„Zd6d7d„Zd8d „Zy)9rÅ   >   Ú__all__Ú__str__Ú__uri__Ú__file__r1   Ú__path__Ú__repr__Ú__spec__Ú	__about__Ú	__email__Ú	__slots__Ú	__title__Ú
__author__Ú
__cached__Ú
__loader__Ú__license__Ú__package__Ú__summary__Ú__builtins__Ú__getstate__Ú__setstate__Ú__copyright__r
   ÚIGNORED_DUNDERS)ÚtypingÚtyping_extensionsÚTYPING_MODULE_NAMES>   úpyasn1_modules.rfc2437.univúpyasn1_modules.rfc2459.charúpyasn1_modules.rfc2459.univÚEXTRA_EXPORTEDNc                ó  — || _         || _        || _        || _        g | _        g | _        d| _        g | _        t        «       | _	        t        «       | _        | j                  «       | _        d| _        dgg d¢dgddgdœ| _        y )NrW   Ú
Incomplete)ÚAnyÚTypeVarÚ
NamedTupleÚ	TypedDictÚ	GeneratorÚ	ParamSpecÚTypeVarTuple)Ú	_typeshedrS  zcollections.abcrT  )Ú_all_Ú_include_privateÚ_include_docstringsÚexport_lessÚ_import_linesÚ_outputÚ_indentÚ_toplevel_namesr  r‘   r  Údefined_namesÚget_sig_generatorsÚsig_generatorsr¨   Úknown_imports)r)   rd  Úinclude_privaterg  Úinclude_docstringss        r*   r+   zBaseStubGenerator.__init__g  s�   € ð ˆŒ
Ø /ˆÔØ#5ˆÔ à&ˆÔØ(*ˆÔØ"$ˆŒàˆŒØ*,ˆÔÜ+›oˆÔä'*£uˆÔØ"×5Ñ5Ó7ˆÔà "ˆÔð '˜ÚCØ +˜}Ø"-¨~Ð!>ñ	
ˆÕr,   c                ó   — g S r&   r   r  s    r*   rm  z$BaseStubGenerator.get_sig_generatorsˆ  s   € Øˆ	r,   c                óZ  — d|vr^| j                   j                  j                  |«      }| j                   j                  j                  ||«      }|€L|| j                  vr>d}n;|j                  dd«      \  }}| j                   j                  j                  ||«      }|€|}|S |› d|› �}|S )z:Return the full name resolving imports and import aliases.rJ   r‡   r{   )r‘   r  Úgetr  rl  Úsplit)r)   r?   Úreal_moduleÚ
real_shortÚname_moduleÚresolved_names         r*   rœ   zBaseStubGenerator.resolve_name‹  s¹   € à�d‰?Ø×-Ñ-×8Ñ8×<Ñ<¸TÓBˆKØ×,Ñ,×:Ñ:×>Ñ>¸tÀTÓJˆJØÐ" z¸×9KÑ9KÑ'KØ(‘à&*§j¡j°°aÓ&8Ñ#ˆK˜Ø×-Ñ-×;Ñ;×?Ñ?ÀÈ[ÓYˆKØ&1Ð&9˜
ˆØÐð CNÀÈaÐPZÈ|Ð?\ˆØÐr,   c                óö   — |j                  dd«      \  }}|| j                  v rd|z   nd}|| j                  v rd|z   }|| j                  v rŒ|dk7  s|r!| j                  j                  |||fg|¬«       |xs |S )zˆAdd a name to be imported and return the name reference.

        The import will be internal to the stub (i.e don't reexport).
        rJ   r{   Ú_Nr‡   r—   )r(  rl  r‘   r#  )r)   r¦   r˜   r'   r?   r"  s         r*   r    zBaseStubGenerator.add_name˜  s�   € ð
  —‘ s¨AÓ.‰ˆ�Ø" d×&8Ñ&8Ñ8��d’
¸dˆØ�t×)Ñ)Ñ)Ø˜%‘KˆEð �t×)Ñ)Ò)à�ZÒ¡5Ø×Ñ×/Ñ/°¸$À¸¸ÐQXÐ/ÔYØŠ}˜Ðr,   c                óX   — || j                   vr| j                   j                  |«       yy)zDAdd a line of text to the import section, unless it's already there.N)rh  r¿   )r)   Úlines     r*   Úadd_import_linez!BaseStubGenerator.add_import_line¥  s)   € à�t×)Ñ)Ñ)Ø×Ñ×%Ñ% dÕ+ð *r,   c                ó¶   — d}| j                   r|dj                  | j                   «      z  }|dj                  | j                  j                  «       «      z  }|S )z*Return the import statements for the stub.rW   )rh  rO   r‘   r6  )r)   Úimportss     r*   Úget_importszBaseStubGenerator.get_importsª  sP   € àˆØ×ÒØ�r—w‘w˜t×1Ñ1Ó2Ñ2ˆGØ�2—7‘7˜4×.Ñ.×;Ñ;Ó=Ó>Ñ>ˆØˆr,   c                ó   — g }| j                  «       x}r|j                  |«       | j                  «       x}r|j                  |«       | j                  r*|j                  dj	                  | j                  «      «       dj	                  |«      S )zReturn the text for the stub.rW   r1  )r�  r¿   Úget_dunder_allri  rO   )r)   Úpiecesr€  Ú
dunder_alls       r*   ÚoutputzBaseStubGenerator.output²  sv   € àˆØ×&Ñ&Ó(Ð(ˆ7Ð(Ø�M‰M˜'Ô"Ø×,Ñ,Ó.Ð.ˆ:Ð.Ø�M‰M˜*Ô%Ø�<Š<Ø�M‰M˜"Ÿ'™' $§,¡,Ó/Ô0Ø�y‰y˜Ó Ð r,   c                ó<   — | j                   rd| j                   ›d�S y)z%Return the __all__ list for the stub.z
__all__ = r1  rW   )rd  r  s    r*   rƒ  z BaseStubGenerator.get_dunder_all½  s!   € à�:Š:ð
   §
¡
˜~¨RÐ0Ð0Ør,   c                ó:   — | j                   j                  |«       y)zAdd text to generated stub.N)ri  r¿   )r)   Ústrings     r*   r%  zBaseStubGenerator.addÇ  s   € à�‰×Ñ˜FÕ#r,   c                ó    — | j                   dk(  S )z*Are we processing the top level of a file?rW   ©rj  r  s    r*   Úis_top_levelzBaseStubGenerator.is_top_levelË  s   € à�|‰|˜rÑ!Ð!r,   c                ó.   — | xj                   dz  c_         y)zAdd one level of indentation.z    Nr‹  r  s    r*   ÚindentzBaseStubGenerator.indentÏ  s   € à�Š˜ÑŽr,   c                ó,   — | j                   dd | _         y)z Remove one level of indentation.Néüÿÿÿr‹  r  s    r*   ÚdedentzBaseStubGenerator.dedentÓ  s   € à—|‘| C RÐ(ˆ�r,   c                ó\   — | j                  «       r| j                  j                  |«       yy)zbMark a name as defined.

        This only does anything if at the top level of a module.
        N)rŒ  rk  r¿   r)  s     r*   Úrecord_namezBaseStubGenerator.record_name×  s)   € ð
 ×ÑÔØ× Ñ ×'Ñ'¨Õ-ð r,   c                óB   — | j                  «       xr || j                  v S )z'Has this name been recorded previously?)rŒ  rk  r)  s     r*   Úis_recorded_namez"BaseStubGenerator.is_recorded_nameß  s!   € à× Ñ Ó"ÒC t¨t×/CÑ/CÐ'CÐCr,   c                óô   — || _         | j                  xs dD ]  }| j                  j                  |«       Œ | j                  j                  «       D ]$  \  }}|D ]  }| j                  |› d|› �d¬«       Œ Œ& y )Nr   rJ   Fr—   )rl  rd  r‘   r+  ro  r°   r    )r)   rl  r?   Úpkgr€  r“   s         r*   Úset_defined_namesz#BaseStubGenerator.set_defined_namesã  s…   € Ø*ˆÔà—J‘JÒ$ "ò 	/ˆDØ×Ñ×(Ñ(¨Õ.ð	/ð !×.Ñ.×4Ñ4Ó6ò 	;‰LˆC�Øò ;�ð —‘   Q q c˜l°E�Õ:ñ;ñ	;r,   c                ó  — | j                   xs g D �cg c]  }|| j                  vsŒ|‘Œ }}|rT| j                  r| j                  d«       | j                  d«       t	        |«      D ]  }| j                  d|› d�«       Œ y y c c}w )Nr1  z'# Names in __all__ with no definition:
z#   )rd  rk  ri  r%  r¡   )r)   r?   Úundefined_namess      r*   Úcheck_undefined_namesz'BaseStubGenerator.check_undefined_namesï  s€   € Ø,0¯J©JÒ,<¸"Öa DÀÈD×L`ÑL`Ò@`š4ÐaˆÐaÙØ�|Š|Ø—‘˜”Ø�H‰HÐ?Ô@Ü˜Ó/ò *�Ø—‘˜4 ˜v R˜Õ)ñ*ð	 ùò bs
   “B§Bc                óF   — |D ]  }|j                  ||«      }|sŒ|c S  |gS r&   )r  )r)   Údefault_signaturern  Úfunc_ctxÚsig_genr
  s         r*   Úget_signaturesz BaseStubGenerator.get_signaturesø  s9   € ð &ò 	 ˆGØ×/Ñ/Ð0AÀ8ÓLˆHÚØ’ð	 ð
 "Ð"Ð"r,   c                óD   — |D ]  }|j                  ||«      }|sŒ|c S  |S r&   )r  )r)   r  rn  rž  rŸ  r
  s         r*   r  z#BaseStubGenerator.get_property_type  s5   € ð &ò 	 ˆGØ×0Ñ0°¸xÓHˆHÚØ’ð	 ð
 Ðr,   c           	     óÜ   — g }|€g }|D ]`  }|D ]!  }|j                  | j                  › |› �«       Œ# |j                  |j                  | j                  ||| j                  ¬«      «       Œb |S )N)rŽ  Úis_asyncrÍ   rq  )r¿   rj  Ú
format_sigrf  )r)   ÚsigsÚis_coroutineÚ
decoratorsrÍ   Úlinesr  Údecos           r*   Úformat_func_defz!BaseStubGenerator.format_func_def  s‰   € ð ˆØÐØˆJàò 	ˆIà"ò 6�Ø—‘ §¡˜~¨d¨VÐ4Õ5ð6ð �L‰LØ×$Ñ$ØŸ<™<Ø)Ø'Ø'+×'?Ñ'?ð	 %ó õð	ð ˆr,   c                óH  ‡— |j                   syt        | «      Šg }|j                   D ]â  }|j                  t        k(  rd}n|j                  t        k(  rd}nd}|j
                  rd|j
                  j                  ‰«      › �}n7|j                  r)ddj                  ˆfd„|j                  D «       «      › d�}nd}|j                  rd	|j                  j                  ‰«      › �}nd}|j                  |› |j                  › |› |› �«       Œä d
dj                  |«      z   dz   S )NrW   z**r·   z: z: (r½   c              3  ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr&   )rž   )Ú.0ÚvÚps     €r*   ú	<genexpr>z5BaseStubGenerator.format_type_args.<locals>.<genexpr>;  s   øè ø€ Ò1WÀ!°!·(±(¸1·+Ñ1Wùs   ƒú)z = rš   r›   )Ú	type_argsr„   Úkindr   r   Úupper_boundrž   ÚvaluesrO   Údefaultr¿   r?   )r)   ÚoÚtype_args_listÚtype_argÚprefixÚbound_or_valuesr¶  r¯  s          @r*   Úformat_type_argsz"BaseStubGenerator.format_type_args,  s  ø€ Ø�{Š{ØÜ˜dÓ#ˆØ$&ˆØŸ™ò 	XˆHØ�}‰}¤Ò/Ø‘Ø—‘Ô"5Ò5Ø‘à�Ø×#Ò#Ø$& x×';Ñ';×'BÑ'BÀ1Ó'EÐ&FÐ"G‘Ø—’Ø$'¨¯	©	Ó1WÀxÇÁÔ1WÓ(WÐ'XÐXYÐ"Z‘à"$�Ø×ÒØ × 0Ñ 0× 7Ñ 7¸Ó :Ð;Ð<‘à�Ø×!Ñ! V H¨X¯]©]¨O¸OÐ;LÈWÈIÐ"VÕWð#	Xð$ �T—Y‘Y˜~Ó.Ñ.°Ñ4Ð4r,   c                ó>   — t        | ||«      }|j                  |«      S r&   )r„   rž   )r)   r“   rŒ   r�   Úprinters        r*   Úprint_annotationz"BaseStubGenerator.print_annotationE  s!   € ô $ D¨-¸ÓGˆØ�x‰x˜Ó Ð r,   c                ó€   — | j                  |«      ry| j                  r | j                  «       xr || j                  vS yr9  )Úis_private_namerd  rŒ  r)  s     r*   Úis_not_in_allzBaseStubGenerator.is_not_in_allN  s:   € Ø×Ñ Ô%ØØ�:Š:Ø×$Ñ$Ó&ÒA¨4°t·z±zÐ+AÐAØr,   c                ó  — d|v ry| j                   ry|| j                  v ry|dk(  ry|j                  d«      sy| j                  r|| j                  v ry|j                  d«      r|j	                  d«      r|| j
                  v S y)Nz__mypy-TFr{  rà   )re  rY  r   rd  rú   rR  )r)   r?   r¦   s      r*   rÁ  z!BaseStubGenerator.is_private_nameU  sƒ   € Ø˜ÑØØ× Ò ØØ�t×*Ñ*Ñ*ØØ�3Š;ØØ�‰˜sÔ#ØØ�:Š:˜$ $§*¡*Ñ,ØØ�?‰?˜4Ô  T§]¡]°4Ô%8Ø˜4×/Ñ/Ð/Ð/Ør,   c                ó|  — |s+| j                   r| j                   dz   |z   | j                  v ry|ry| j                  ry| j                   sy| j                  ||dz   |z   «      }|ry|j	                  d«      d   }| j                   j	                  dd«      d   }||d|z   fvry| j
                  r|| j
                  v S y)NrJ   TFr   r{   r{  )r¨   rY  rg  rÁ  ru  rd  )r)   r?   Úfull_moduleÚname_is_aliasÚ
is_privateÚ	top_levelÚself_top_levels          r*   Úshould_reexportz!BaseStubGenerator.should_reexportf  sÓ   € áØ× Ò Ø×!Ñ! CÑ'¨$Ñ.°4×3FÑ3FÑFð ÙØØ×ÒØØ×ÒØØ×)Ñ)¨$°¸cÑ0AÀDÑ0HÓIˆ
ÙØØ×%Ñ% cÓ*¨1Ñ-ˆ	Ø×)Ñ)×/Ñ/°°QÓ7¸Ñ:ˆØ˜^¨S°>Ñ-AÐBÑBð Ø�:Š:Ø˜4Ÿ:™:Ð%Ð%Ør,   )NFFF)
rd  rÆ   rp  rÜ   rg  rÜ   rq  rÜ   r.   r/   )r.   úlist[SignatureGenerator])r?   r-   r.   r-   )T)r¦   r-   r˜   rÜ   r.   r-   )r}  r-   r.   r/   rÝ   )r‰  r-   r.   r/   )r.   rÜ   r7  r:  )r?   r-   r.   rÜ   )rl  zset[str]r.   r/   )r�  r   rn  rË  rž  rÓ   r.   úlist[FunctionSig])r  rÐ   rn  rË  rž  rÓ   r.   rÐ   )FNN)
r¥  rÌ  r¦  rÜ   r§  rÆ   rÍ   rÐ   r.   r;  )r·  z"TypeAliasStmt | FuncDef | ClassDefr.   r-   rÄ   )r“   r   rŒ   rÆ   r�   rÆ   r.   r-   r&   )r?   r-   r¦   rÐ   r.   rÜ   )r?   r-   rÅ  r-   rÆ  rÜ   r.   rÜ   )r1   r2   r3   rR  Ú__annotations__rU  rY  r+   rm  rœ   r    r~  r�  r†  rƒ  r%  rŒ  rŽ  r‘  r“  r•  r˜  r›  r   r  rª  r¼  r¿  rÂ  rÁ  rÊ  r   r,   r*   rÅ   rÅ   D  s™  … ò€O�Uó ð0 "AÐ˜Ó@ò€N�Eó ð #'Ø %Ø!Ø#(ð
àð
ð ð
ð ð	
ð
 !ð
ð 
ó
óBóôó,ó
ó	!óó$ó"óó)ó.óDó
;ó*ð#à&ð#ð 1ð#ð "ð	#ð
 
ó#ðà ðð 1ðð "ð	ð
 
óð  #Ø'+Ø $ðàðð ðð %ð	ð
 ðð 
óó45ð8 +/Ø*.ð	!àð!ð (ð!ð (ð	!ð
 
ó!óôô"r,   rÅ   r8  )rC   r   rD   r;  rE   rÜ   r.   zIterator[str])r'   r-   rQ   r;  r.   rÐ   )rC   r   r'   r-   rE   rÜ   r.   z*tuple[str | None, list[str] | None] | None)TF)
rZ   r-   r_   r-   r`   rÜ   rE   rÜ   r.   zIterator[None])rW   rW   )rZ   r-   r(   rÐ   r9   r-   r.   r/   )rZ   r-   rg   r   r.   r/   )rl   rs   r.   rs   )rl   r-   r.   r-   )rl   ústr | bytesr.   rÎ  )r€   r;  r.   r-   )r?   r-   r.   rÐ   )r)   N)r?   r-   rÌ   r-   r  rÆ   r.   zlist[ArgSig] | None)ErÇ   Ú
__future__r   Úos.pathrM   ru   r;   r9   Úabcr   Úcollectionsr   Úcollections.abcr   r   r   Ú
contextlibr	   rS  r
   r   Úmypy_extensionsr   Úmypy.optionsr‰   Úmypy.modulefinderr   Úmypy.moduleinspectr   r   Ú
mypy.nodesr   r   r   r   r   Úmypy.stubdocr   r   Ú
mypy.typesr   r   r   r   r   r   r   r   r    rÍ  r"   r^   r$   rA   rU   r\   ra   r>   ri   rm   r‚   r„   rÊ   rÓ   rü   r  r  r  rÅ   r   r,   r*   ú<module>rÜ     s  ðÚ Jå "ã Û 	Û 
Û Ý Ý #ß 7Ñ 7Ý %ß "å &ã Ý 2ß :ß ]Õ ]ß ,÷	÷ 	ó 	ð +-Ð ˜Ó ,ð
 "Ø$Ø"Ø"Ø Ø,Ø"à,Ø/Ø-Ø-Ø+Ø#7Ø-ñ!&Ð ˜Uó ô(�ô ð BGð(Øð(Ø&/ð(Ø:>ð(àó(óB
ðØðØ$'ðØ26ðà/óð8 àGLð'Ø	ð'Øð'Ø*.ð'Ø@Dð'àò'ó ð'ô,9óCð 
Ú ?ó 
Ø ?ð 
Ú ;ó 
Ø ;óó<
ô`˜ô `÷Fñ ÷ ñ ó@ð& FJðØ
ðØðØ2Bðàóñ8 ¨Ô.÷ð ó /ð÷>}ñ }ñ@ ¨Ô.÷zð zó /ñzr,   