§
    �Ÿj¤›  ã                   óÈ  — U d Z ddgZddlmZ ddlm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ZddlZddlZddlZddlZddlmZmZmZmZmZmZ ej        d	k    rdd
lmZ n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# 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/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< dZ=ee>eee>e>f                  f         Z?ee@d<   ee>e>f         ZAee@d<   e G d„ d ¦  «        ¦   «         ZBd!„ ZCejD        jE        j         ZFeGjH        j         ZId"„ ejJ        ejK        ejD        eLfD ¦   «         ZM eNeO¦  «        ZP eNe>jQ        ¦  «        ZRe.ZSe"jT        ZUg d#¢ZVd$„ ZWd%„ ZXd&ee>df         fd'„ZYd4d&ee>df         fd)„ZZd*„ Z[e6d+„ ¦   «         Z\e6d,„ ¦   «         Z]e6d5d.„¦   «         Z^d/„ Z_d&e>fd0„Z`d1„ Za G d2„ de4¦  «        Zbd&e>fd3„ZcdS )6zøTools for inspecting Python objects.

Uses syntax highlighting for presenting the various information elements.

Similar in spirit to the inspect module, but all calls take a name argument to
reference the name under which an object is being read.
Ú	InspectorÚInspectColorsé    )Ú	dataclass)Ú	signature)ÚdedentN)ÚAnyÚOptionalÚDictÚUnionÚListÚTuple)é   é
   )Ú	TypeAlias)Úpage)Úpretty)Úskip_doctest)Ú
PyColorize)Úopenpy)Úsafe_hasattr)Úcompress_user)Úindent)Úlist_namespace)Útypestr2type)Ú
TermColorsÚColorSchemeÚColorSchemeTable)Úcast_unicode)Ú	Colorable)Úundoc)Ú	highlight)ÚPythonLexer)ÚHtmlFormatterÚ__custom_documentations__ÚUnformattedBundleÚBundlec                   ó^   — e Zd ZU eed<   eed<   eed<   ee         ed<   eed<   eed<   d„ ZdS )	ÚOInfoÚismagicÚisaliasÚfoundÚ	namespaceÚparentÚobjc                 ó"   — t          | |¦  «        S )z†Get a field from the object for backward compatibility with before 8.12

        see https://github.com/h5py/h5py/issues/2253
        )Úgetattr)ÚselfÚfields     úb/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/IPython/core/oinspect.pyÚgetz	OInfo.getH   s   € õ �t˜UÑ#Ô#Ð#ó    N)	Ú__name__Ú
__module__Ú__qualname__ÚboolÚ__annotations__r	   Ústrr   r4   © r5   r3   r(   r(   ?   sb   € € € € € € à€M€M�MØ€M€M�MØ€K€K�KØ˜Œ}ÐÐÑØ€K€K�KØ	€H€H�Hð$ð $ð $ð $ð $r5   r(   c                 óX   — t          | t          ¦   «         t          d¬¦  «        ¦  «        S )NT)Ú	noclasses)r!   r"   r#   )Úcodes    r3   Úpylightr@   Y   s#   € Ý�T�;™=œ=­-À$Ð*GÑ*GÔ*GÑHÔHÐHr5   c                 ó6   — h | ]}t          j        |¦  «        ’ŒS r<   )ÚinspectÚgetdoc)Ú.0Úts     r3   ú	<setcomp>rF   _   s/   € ð ð ð Ø…G„N�1ÑÔðð ð r5   )Ú	type_nameÚ
base_classÚstring_formr,   ÚlengthÚfileÚ
definitionÚ	docstringÚsourceÚinit_definitionÚclass_docstringÚinit_docstringÚcall_defÚcall_docstringr)   r*   Úisclassr+   Únamec                  óR   — d„ t           D ¦   «         }|                     | ¦  «         |S )z1Make an object info dict with all fields present.c                 ó   — i | ]}|d “ŒS ©Nr<   )rD   Úks     r3   ú
<dictcomp>zobject_info.<locals>.<dictcomp>~   s   € Ð,Ð,Ð,˜1��$Ð,Ð,Ð,r5   )Úinfo_fieldsÚupdate)ÚkwÚinfodicts     r3   Úobject_infor_   |   s,   € à,Ð,¥Ð,Ñ,Ô,€HØ‡O‚O�BÑÔÐØ€Or5   c                 ó.  — t          | ¦  «        }|€dS |                     d¦  «        rdS t          j                             |¦  «        sdS t          j        |d¦  «        5 }t          j        |j	        ¦  «        \  }}ddd¦  «         n# 1 swxY w Y   |S )znGet encoding for python source file defining obj

    Returns None if obj is not defined in a sourcefile.
    N©z.soz.dllz.pydÚrb)
Ú	find_fileÚendswithÚosÚpathÚisfileÚ	stdlib_ioÚopenr   Údetect_encodingÚreadline)r.   ÚofileÚbufferÚencodingÚliness        r3   Úget_encodingrp   ƒ   sá   € õ
 �c‰NŒN€Eð €}ØˆtØ	�ŠÐ/Ñ	0Ô	0ð 
ØˆtÝŒW�^Š^˜EÑ"Ô"ð Øˆtõ
 Œ^˜E 4Ñ(Ô(ð 	F¨FÝ$Ô4°V´_ÑEÔE‰OˆH�eð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fàˆs   Á!B
Â
BÂBÚreturnc                 óÌ   — 	 |                       ¦   «         }t          |t          ¦  «        rt          j        |¦  «        S n# t
          $ r Y nw xY wt          j         | ¦  «        }|S )a=  Stable wrapper around inspect.getdoc.

    This can't crash because of attribute problems.

    It also attempts to call a getdoc() method on the given object.  This
    allows objects which provide their docstrings via non-standard mechanisms
    (like Pyro proxies) to still be inspected by ipython's ? system.
    )rC   Ú
isinstancer;   rB   ÚcleandocÚ	Exception)r.   ÚdsÚdocstrs      r3   rC   rC   š   sv   € ð(Ø�ZŠZ‰\Œ\ˆõ �b�#ÑÔð 	(ÝÔ# BÑ'Ô'Ð'ð	(øõ ð ð ð Øˆðøøøõ
 Œ^˜CÑ Ô €FØ€Ms   ‚A  Á 
AÁAÚ c           	      óè  — t          | t          ¦  «        rçg }dD ]É}t          | |¦  «        }|�µt          |¦  «        }|rd|z  nd}|                     d                     d||f¦  «        ¦  «         t          j        |¦  «        r4t          |¦  «        }|r"|                     t          |¦  «        ¦  «         ŒŸ|                     |›|›dt          |¦  «        ›d�¦  «         ŒÊ|rd                     |¦  «        S dS t          | ¦  «        } 	 t          j        | ¦  «        }nP# t          $ r7 	 t          j        | j        ¦  «        }n# t          t          f$ r Y Y dS w xY wY nt          $ r Y dS w xY w|S )al  Wrapper around inspect.getsource.

    This can be modified by other projects to provide customized source
    extraction.

    Parameters
    ----------
    obj : object
        an object whose source code we will attempt to extract
    oname : str
        (optional) a name under which the object is known

    Returns
    -------
    src : unicode or None

    )ÚfgetÚfsetÚfdelNz%s.rx   z# z = ú
)rs   Úpropertyr0   rp   ÚappendÚjoinrB   Ú
isfunctionÚ	getsourcer   r   Ú_get_wrappedÚ	TypeErrorÚ	__class__ÚOSError)	r.   ÚonameÚsourcesÚattrnameÚfnrn   Úoname_prefixÚ_srcÚsrcs	            r3   r‚   r‚   ¯   sÁ  € õ& �#•xÑ Ô ð )ØˆØ0ð 	ð 	ˆHÝ˜˜hÑ'Ô'ˆBØˆ~Ý'¨Ñ+Ô+�Ø27Ð? ¨¡ ¸R�Ø—’˜rŸwšw¨¨l¸HÐ'EÑFÔFÑGÔGÐGÝÔ% bÑ)Ô)ð 
Ý$ R™=œ=�DØð 5àŸš¥v¨d¡|¤|Ñ4Ô4Ð4øð —N’NØ)5¨°x°x°xÅÈÁÄÀÀÐLñô ð øð ð 	Ø—9’9˜WÑ%Ô%Ð%à�4õ
 ˜3ÑÔˆð
	ÝÔ# CÑ(Ô(ˆCˆCøÝð 	ð 	ð 	ðÝÔ'¨¬Ñ6Ô6��øÝ�YÐ'ð ð ð Ø�t�t�tðøøøð �õ ð 	ð 	ð 	Ø�4�4ð	øøøð ˆ
s<   ÄD" Ä"
E/Ä-EÅE/ÅEÅE/ÅEÅE/Å"	E/Å.E/c                 ó¦   — t          j        | ¦  «        p=t          j        | ¦  «        p)t          | t          ¦  «        pt          | t
          ¦  «        S )zTrue if obj is a function ())rB   r�   Úismethodrs   Ú_builtin_func_typeÚ_builtin_meth_type©r.   s    r3   Úis_simple_callabler“   î   sQ   € åÔ˜sÑ#Ô#ð W¥wÔ'7¸Ñ'<Ô'<ð WÝ�sÕ.Ñ/Ô/ðWÝ3=¸cÕCUÑ3VÔ3VðXr5   c                 ó®   — t          j        dt          d¬¦  «         t          | d¦  «        rt	          | ¦  «        s| j        } t          j        | ¦  «        S )zâWrapper around :func:`inspect.getfullargspec`

    In addition to functions and methods, this can also handle objects with a
    ``__call__`` attribute.

    DEPRECATED: Deprecated since 7.10. Do not use, will be removed.
    z]`getargspec` function is deprecated as of IPython 7.10and will be removed in future versions.é   ©Ú
stacklevelÚ__call__)ÚwarningsÚwarnÚDeprecationWarningr   r“   r˜   rB   Úgetfullargspecr’   s    r3   Ú
getargspecr�   ó   sh   € õ „Mð <Ý=OÐ\]ð_ñ _ô _ð _õ �C˜Ñ$Ô$ð Õ-?ÀÑ-DÔ-Dð ØŒlˆåÔ! #Ñ&Ô&Ð&r5   c                 ó˜   — t          j        dt          d¬¦  «         t          j        | d         | d         | d         | d         ¦  «        S )a  Format argspect, convenience wrapper around inspect's.

    This takes a dict instead of ordered arguments and calls
    inspect.format_argspec with the arguments in the necessary order.

    DEPRECATED (since 7.10): Do not use; will be removed in future versions.
    za`format_argspec` function is deprecated as of IPython 7.10and will be removed in future versions.r•   r–   ÚargsÚvarargsÚvarkwÚdefaults)r™   rš   r›   rB   Úformatargspec)Úargspecs    r3   Úformat_argspecr¥     sb   € õ „Mð <Ý=OÐ\]ð_ñ _ô _ð _õ Ô  ¨¤°'¸)Ô2DØ!(¨Ô!1°7¸:Ô3FñHô Hð Hr5   Tc                 ó®  — t          j        dt          d¬¦  «         |                      d¦  «        }|€d}nX	 |d         d         dk    }|r|d         d	d…         |d<   n# t          t
          f$ r Y nw xY w| d
         t          |¦  «        z   }|                      d¦  «        }|€|                      d¦  «        }|€|                      dd¦  «        }||fS )z?DEPRECATED since 6.0. Extract call tip data from an oinfo dict.zZ`call_tip` function is deprecated as of IPython 6.0and will be removed in future versions.r•   r–   r¤   NrŸ   r   r1   é   rU   rS   rQ   rM   rx   )r™   rš   r›   r4   ÚKeyErrorÚ
IndexErrorr¥   )ÚoinfoÚformat_callr¤   Ú	call_lineÚhas_selfÚdocs         r3   Úcall_tipr¯     s  € õ „Mð	2åØð	ñ ô ð ð �iŠi˜	Ñ"Ô"€GØ€Øˆ	ˆ	ð
	6Ø˜v” qÔ)¨VÒ3ˆHð ð 6Ø")¨&¤/°!°"°"Ô"5�˜‘øøõ	 �*Ð%ð 	ð 	ð 	ØˆDð	øøøð ˜&”M¥.°Ñ"9Ô"9Ñ9ˆ	ð �)Š)Ð$Ñ
%Ô
%€CØ
€{Ø�iŠiÐ(Ñ)Ô)ˆØ
€{Ø�iŠi˜ BÑ'Ô'ˆà�cˆ>Ðs   ¸A  Á A4Á3A4c                 óv   — | }d}t          | d¦  «        r$| j        } |dz  }|dk    r|S t          | d¦  «        °$| S )aN  Get the original object if wrapped in one or more @decorators

    Some objects automatically construct similar objects on any unrecognised
    attribute access (e.g. unittest.mock.call). To protect against infinite loops,
    this will arbitrarily cut off after 100 levels of obj.__wrapped__
    attribute access. --TK, Jan 2016
    r   Ú__wrapped__r§   éd   )r   r±   )r.   Úorig_objÚis      r3   rƒ   rƒ   <  sY   € ð €HØ	€AÝ
�s˜MÑ
*Ô
*ð ØŒoˆØ	ˆQ‰ˆØˆsŠ7ˆ7àˆOõ �s˜MÑ
*Ô
*ð ð €Jr5   c                 ó  — t          | ¦  «        } d}	 t          j        | ¦  «        }nM# t          $ r5 	 t          j        | j        ¦  «        }n# t
          t          f$ r Y nw xY wY nt
          $ r Y nw xY wt          |¦  «        S )a^  Find the absolute path to the file where an object was defined.

    This is essentially a robust wrapper around `inspect.getabsfile`.

    Returns None if no file can be found.

    Parameters
    ----------
    obj : any Python object

    Returns
    -------
    fname : str
        The absolute path to the file where the object was defined.
    N)rƒ   rB   Ú
getabsfiler„   r…   r†   r   )r.   Úfnames     r3   rc   rc   N  s±   € õ  �sÑ
Ô
€Cà€EðÝÔ" 3Ñ'Ô'ˆˆøÝð ð ð ð	ÝÔ& s¤}Ñ5Ô5ˆEˆEøÝ�Ð#ð 	ð 	ð 	àˆDð	øøøøøõ ð ð ð Øˆðøøøõ ˜ÑÔÐs8   “( ¨
A2³AÁA2ÁA!ÁA2Á A!Á!A2Á&	A2Á1A2c                 ó  — t          | ¦  «        } 	 t          j        | ¦  «        d         }nV# t          $ r= 	 t          j        | j        ¦  «        d         }n# t
          t          f$ r Y Y dS w xY wY nt
          $ r Y dS w xY w|S )aW  Find the line number in a file where an object was defined.

    This is essentially a robust wrapper around `inspect.getsourcelines`.

    Returns None if no file can be found.

    Parameters
    ----------
    obj : any Python object

    Returns
    -------
    lineno : int
        The line number where the object definition starts.
    r§   N)rƒ   rB   Úgetsourcelinesr„   r…   r†   )r.   Úlinenos     r3   Úfind_source_linesr»   q  s¸   € õ  �sÑ
Ô
€Cð	ÝÔ'¨Ñ,Ô,¨QÔ/ˆˆøÝð ð ð ð	ÝÔ+¨C¬MÑ:Ô:¸1Ô=ˆFˆFøÝ�Ð#ð 	ð 	ð 	Ø�4�4�4ð	øøøð ˆFõ ð ð ð Øˆtˆtðøøøð €Ms8   ‘, ¬
A?·AÁA?ÁA-Á(A?Á,A-Á-A?Á2	A?Á>A?c            	       ó„  ‡ — e Zd Zeej        ddddfˆ fd„	Zd#deedf         fd„Z	defd„Z
d„ Zd	„ Zd#d
„Zed$d„¦   «         Zd#d„Zd#d„Zd%dedefd„Zdedefd„Zdededefd„Zdefd„Z	 	 	 	 	 d&dededee         defd„Z	 	 	 	 	 	 d'dee         fd„Zd(d„Zd(deeef         fd„Z e!d„ ¦   «         Z"g d d fd d!œd"„Z#ˆ xZ$S ))r   Nr   c                 óü   •— t          t          | ¦  «                             ||¬¦  «         || _        t	          j        d| |¬¦  «        | _        | j        j        | _        || _        |  	                    |¦  «         d S )N)r-   Úconfigr;   )Úoutr-   Ústyle)
Úsuperr   Ú__init__Úcolor_tabler   ÚParserÚparserÚformatÚstr_detail_levelÚset_active_scheme)r1   rÃ   Úcode_color_tableÚschemerÇ   r-   r¾   r…   s          €r3   rÂ   zInspector.__init__’  sw   ø€ õ
 	�i˜ÑÔ×'Ò'¨v¸fÐ'ÑEÔEÐEØ&ˆÔÝ Ô'¨E¸$ÀfÐMÑMÔMˆŒØ”kÔ(ˆŒØ 0ˆÔØ×Ò˜vÑ&Ô&Ð&Ð&Ð&r5   rx   rq   c                 óN   — 	 t          t          |¦  «        |¦  «        S #  Y dS xY w)zœReturn the call signature for any callable object.

        If any exception is generated, None is returned instead and the
        exception is suppressed.N)Ú_render_signaturer   )r1   r.   r‡   s      r3   Ú_getdefzInspector._getdefž  s-   € ð
	Ý$¥Y¨s¡^¤^°UÑ;Ô;Ð;øð	Ø�4�4øøøs   ‚ Ÿ$c                 óN   — | j         j        j        ›|›| j         j        j        ›�S )z*Return a header string with proper colors.)rÃ   Úactive_colorsÚheaderÚnormal)r1   Úhs     r3   Ú__headzInspector.__head¨  s0   € àÔ+Ô9Ô@Ð@ÀÀØÔ+Ô9Ô@Ð@ðBð 	Br5   c                 ó€   — |�;| j                              |¦  «         | j        j                              |¦  «         d S d S rX   )rÃ   rÈ   rÅ   )r1   rÊ   s     r3   rÈ   zInspector.set_active_scheme­  sF   € ØÐØÔ×.Ò.¨vÑ6Ô6Ð6ØŒKÔ#×5Ò5°fÑ=Ô=Ð=Ð=Ð=ð Ðr5   c                 óv   — t          d|z  d¬¦  «         |rt          d|z  ¦  «         dS t          ¦   «          dS )z-Generic message when no information is found.zNo %s foundú ©Úendzfor %sN)Úprint)r1   Úmsgr‡   s      r3   ÚnoinfozInspector.noinfo²  sH   € åˆm˜cÑ! sÐ+Ñ+Ô+Ð+Øð 	Ý�(˜UÑ"Ñ#Ô#Ð#Ð#Ð#å‰GŒGˆGˆGˆGr5   c                 óF  — t          |¦  «        st          d¦  «         dS d}t          j        |¦  «        r|                      d¦  «        }|                      ||¦  «        }|€|                      d|¦  «         dS t          ||                      |¦  «        d¬¦  «         dS )zwPrint the call signature for any callable object.

        If the object is a class, print the constructor information.zObject is not callable.Nrx   zClass constructor information:
zdefinition headerrÖ   r×   )ÚcallablerÙ   rB   rT   Ú_Inspector__headrÍ   rÛ   rÆ   )r1   r.   r‡   rÐ   Úoutputs        r3   ÚpdefzInspector.pdefº  s¬   € õ
 ˜‰}Œ}ð 	ÝÐ+Ñ,Ô,Ð,ØˆFàˆåŒ?˜3ÑÔð 	EØ—[’[Ð!CÑDÔDˆFð —’˜c %Ñ(Ô(ˆØˆ>Ø�KŠKÐ+¨EÑ2Ô2Ð2Ð2Ð2å�&˜Ÿš VÑ,Ô,°#Ð6Ñ6Ô6Ð6Ð6Ð6r5   c                 ó@  — | j         }g }t          |¦  «        }|r ||¦  «                             d|¦  «        }|r@|                      |d¦  «        ¦  «         |                     t	          |¦  «        ¦  «         t          j        |¦  «        rgt          |d¦  «        rWt          |j        ¦  «        }|�@|                      |d¦  «        ¦  «         |                     t	          |¦  «        ¦  «         nft          |d¦  «        rVt          |j	        ¦  «        }|r@|                      |d¦  «        ¦  «         |                     t	          |¦  «        ¦  «         |s|  
                    d|¦  «         dS t          j        d	                     |¦  «        ¦  «         dS )
a¸  Print the docstring for any object.

        Optional:
        -formatter: a function to run the docstring through for specially
        formatted docstrings.

        Examples
        --------
        In [1]: class NoInit:
           ...:     pass

        In [2]: class NoDoc:
           ...:     def __init__(self):
           ...:         pass

        In [3]: %pdoc NoDoc
        No documentation found for NoDoc

        In [4]: %pdoc NoInit
        No documentation found for NoInit

        In [5]: obj = NoInit()

        In [6]: %pdoc obj
        No documentation found for obj

        In [5]: obj2 = NoDoc()

        In [6]: %pdoc obj2
        No documentation found for obj2
        z
plain/textzClass docstring:rÂ   NzInit docstring:r˜   zCall docstring:Údocumentationr}   )rÞ   rC   r4   r   r   rB   rT   ÚhasattrrÂ   r˜   rÛ   r   r€   )	r1   r.   r‡   Ú	formatterÚheadro   rv   Úinit_dsÚcall_dss	            r3   ÚpdoczInspector.pdocÐ  sŽ  € ðD Œ{ˆØˆÝ�C‰[Œ[ˆØð 	5Ø�˜2‘”×"Ò" <°Ñ4Ô4ˆBØð 	%Ø�LŠL˜˜Ð0Ñ1Ô1Ñ2Ô2Ð2Ø�LŠL� ™œÑ$Ô$Ð$ÝŒ?˜3ÑÔð 		.¥G¨C°Ñ$<Ô$<ð 		.Ý˜Sœ\Ñ*Ô*ˆGØÐ"Ø—’˜T˜TÐ"3Ñ4Ô4Ñ5Ô5Ð5Ø—’�V G™_œ_Ñ-Ô-Ð-øÝ�S˜Ñ$Ô$ð 	.Ý˜Sœ\Ñ*Ô*ˆGØð .Ø—’˜T˜TÐ"3Ñ4Ô4Ñ5Ô5Ð5Ø—’�V G™_œ_Ñ-Ô-Ð-àð 	(Ø�KŠK˜¨Ñ.Ô.Ð.Ð.Ð.åŒI�d—i’i Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'r5   c                 óø   — t          j        ¦   «          	 t          ||¬¦  «        }n# t          $ r d}Y nw xY w|€|                      d|¦  «         dS t          j        |                      |¦  «        ¦  «         dS )z$Print the source code for an object.)r‡   NrN   )Ú	linecacheÚ
checkcacher‚   ru   rÛ   r   rÆ   )r1   r.   r‡   r�   s       r3   ÚpsourcezInspector.psource
  s“   € õ 	ÔÑÔÐð	Ý˜C uÐ-Ñ-Ô-ˆCˆCøÝð 	ð 	ð 	ØˆCˆCˆCð	øøøð ˆ;Ø�KŠK˜ %Ñ(Ô(Ð(Ð(Ð(åŒI�d—k’k #Ñ&Ô&Ñ'Ô'Ð'Ð'Ð's   •' §6µ6c                 ó¬  — t          |¦  «        }|€|                      d|¦  «         dS t          |¦  «        }|                     d¦  «        rt	          d|z  ¦  «         dS t
          j                             |¦  «        st	          d|z  ¦  «         dS t          j        |  	                    t          j        |d¬¦  «        ¦  «        |dz
  ¦  «         dS )	z0Show the whole file where an object was defined.NrK   ra   z File %r is binary, not printing.z%File %r does not exist, not printing.F)Úskip_encoding_cookier§   )r»   rÛ   rc   rd   rÙ   re   rf   rg   r   rÆ   r   Úread_py_file)r1   r.   r‡   rº   rl   s        r3   ÚpfilezInspector.pfile  sÛ   € õ # 3Ñ'Ô'ˆØˆ>Ø�KŠK˜ Ñ&Ô&Ð&ØˆFå˜#‘”ˆð �>Š>Ð1Ñ2Ô2ð 	gÝÐ4°uÑ<Ñ=Ô=Ð=Ð=Ð=Ý”—’ Ñ&Ô&ð 	gÝÐ9¸EÑAÑBÔBÐBÐBÐBõ
 ŒI�d—k’k¥&Ô"5°eÐRWÐ"XÑ"XÔ"XÑYÔYÐ[aÐdeÑ[eÑfÔfÐfÐfÐfr5   Útextc                 ó¬   — |dt          j        |¦  «        › d�dœ}|€|S  ||¦  «        }t          |t          ¦  «        s	|d|› d�dœS t          |fi |¤ŽS )aR  Return a mime bundle representation of the input text.

        - if `formatter` is None, the returned mime bundle has
           a ``text/plain`` field, with the input text.
           a ``text/html`` field with a ``<pre>`` tag containing the input text.

        - if ``formatter`` is not None, it must be a callable transforming the
          input text into a mime bundle. Default values for ``text/plain`` and
          ``text/html`` representations are the ones described above.

        Note:

        Formatters returning strings are supported but this behavior is deprecated.

        z<pre>z</pre>©ú
text/plainú	text/html)ÚhtmlÚescapers   Údict)r1   rñ   rä   r¢   Ú	formatteds        r3   Ú_mime_formatzInspector._mime_format0  s‹   € ð" Ø:¥¤¨TÑ!2Ô!2Ð:Ð:Ð:ð
ð 
ˆð
 ÐØˆOà!˜	 $™œˆIå˜i­Ñ.Ô.ð 3ð '0Ð>WÀiÐ>WÐ>WÐ>WÐXÐXÐXõ ˜HÐ2Ð2¨	Ð2Ð2Ð2r5   Úbundlec                 ó>  — t          |d         t          ¦  «        sJ ‚|d         D ]}t          |t          ¦  «        sJ ‚Œi }g }t          d„ |d         D ¦   «         ¦  «        }|d         D ]h\  }}|                     d¦  «        }d|v rdnd}|                     |                      |dz   ¦  «        › |t          |¦  «        z
  dz  › |› |› �¦  «         Œid                     |¦  «        |d<   d|v r‰t          |d         t          ¦  «        sJ ‚|d         D ]}t          |t          ¦  «        sJ ‚Œt          |d         t          t          f¦  «        r(d                     d„ |d         D ¦   «         ¦  «        |d<   | 	                    ¦   «         D ]}	|	dv rŒ||	         }Œ|S )	zRFormat a mimebundle being created by _make_info_unformatted into a real mimebundlerô   c              3   ó:   K  — | ]\  }}t          |¦  «        V — Œd S rX   ©Úlen)rD   rÒ   Ú_s      r3   ú	<genexpr>z(Inspector.format_mime.<locals>.<genexpr>[  s,   è è € Ð;Ð;™d˜a •3�q‘6”6Ð;Ð;Ð;Ð;Ð;Ð;r5   r}   rÖ   ú:rõ   c              3   ó,   K  — | ]\  }}d |› d|› �V — ŒdS )z<h1>z</h1>
Nr<   )rD   rå   Úbodys      r3   r  z(Inspector.format_mime.<locals>.<genexpr>n  s7   è è € ÐXÐX±L°T¸4Ð/˜DÐ/Ð/¨Ð/Ð/ÐXÐXÐXÐXÐXÐXr5   )rõ   rô   )
rs   ÚlistÚtupleÚmaxÚstripr   rÞ   rÿ   r€   Úkeys)
r1   rû   ÚitemÚnew_bro   Ú_lenrå   r  ÚdelimrY   s
             r3   Úformat_mimezInspector.format_mimeR  sð  € õ ˜& Ô.µÑ5Ô5Ð5Ð5Ð5Ø˜<Ô(ð 	+ð 	+ˆDÝ˜d¥EÑ*Ô*Ð*Ð*Ð*Ð*àˆØˆÝÐ;Ð; f¨\Ô&:Ð;Ñ;Ô;Ñ;Ô;ˆà  Ô.ð 	ð 	‰JˆD�$Ø—:’:˜dÑ#Ô#ˆDØ  D˜L˜L�D�D¨cˆEØ�LŠLØ—;’;˜t C™xÑ(Ô(ÐO¨4µ#°d±)´)Ñ+;¸SÑ*@ÐOÀ%ÐOÈÐOÐOñô ð ð ð #Ÿiši¨Ñ.Ô.ˆˆlÑà˜&Ð Ð Ý˜f [Ô1µ4Ñ8Ô8Ð8Ð8Ð8Ø˜{Ô+ð /ð /�Ý! $­Ñ.Ô.Ð.Ð.Ð.Ð.å˜& Ô-µµe¨}Ñ=Ô=ð à%)§Y¢YØXÐXÀFÈ;ÔDWÐXÑXÔXñ&ô &��kÑ"ð —’‘”ð 	"ð 	"ˆAØÐ/Ð/Ð/Øà˜qœ	��Øˆr5   ÚtitleÚkeyc                 óê   — ||v s||v rdS ||         }|�^|                       ||¦  «        }|d                              ||d         f¦  «         |d                              ||d         f¦  «         dS dS )z^Append an info value to the unformatted mimebundle being constructed by _make_info_unformattedNrô   rõ   )rú   r   )	r1   rû   r  r  ÚinfoÚomit_sectionsrä   r2   Úformatted_fields	            r3   Ú_append_info_fieldzInspector._append_info_fieldx  s–   € ð �MÐ!Ð! S¨MÐ%9Ð%9ØˆFØ�S”	ˆØÐØ"×/Ò/°°yÑAÔAˆOØ�<Ô ×'Ò'¨°ÀÔ0MÐ(NÑOÔOÐOØ�;Ô×&Ò&¨¨¸{Ô/KÐ'LÑMÔMÐMÐMÐMð Ðr5   c                 ó´  ‡ ‡‡— g g dœ}	 d+dt           dt          dt          fˆˆˆ fd„}dt          fˆ fd„}‰d	         r ||d
d¦  «         �nŒ‰d         r2|dk    r ||dd|¦  «         n ||dd|¦  «          ||dd¦  «         �nR‰d         st          |¦  «        r} ||dd|¦  «          ||dd|¦  «          ||dd|¦  «         |dk    r‰d         r ||dd|¦  «         n ||dd|¦  «          ||dd¦  «          ||dd¦  «          ||dd¦  «         n¾ ||dd|¦  «          ||dd |¦  «          ||dd¦  «          ||d!d¦  «         ‰d"         d#k    r ||d$d"¦  «          ||d%d&¦  «          ||dd¦  «         |dk    r‰d         r ||dd|¦  «         n ||dd|¦  «          ||d'd(|¦  «          ||dd|¦  «          ||d)d*|¦  «         |S ),z;Assemble the mimebundle as unformatted lists of informationró   Nrû   r  r  c                 ó>   •— ‰                      | ||‰‰|¬¦  «         d S )N)r  r  r  r  rä   )r  )rû   r  r  rä   r  r  r1   s       €€€r3   Úappend_fieldz6Inspector._make_info_unformatted.<locals>.append_field”  s>   ø€ ð ×#Ò#ØØØØØ+Ø#ð $ñ ô ð ð ð r5   rq   c                 óN   •— ‰                      | ¦  «        t          | ¦  «        dœS )Nró   )rÆ   r@   )rñ   r1   s    €r3   Úcode_formatterz8Inspector._make_info_unformatted.<locals>.code_formatter   s*   ø€ à"Ÿkšk¨$Ñ/Ô/Ý$ T™]œ]ðð ð r5   r*   ÚReprrI   r)   r   ÚSourcerN   Ú	DocstringrM   ÚFilerK   rT   Ú	SignaturerL   zInit signaturerO   zInit docstringrQ   ÚTyperG   Ú
SubclassesÚ
subclasseszCall signaturerR   zString formr,   ÚInteractiveÚ	NamespaceÚLengthrJ   zClass docstringrP   zCall docstringrS   rX   )r%   r;   r&   r“   )	r1   r.   r  rä   Údetail_levelr  rû   r  r  s	   ` `  `   r3   Ú_make_info_unformattedz Inspector._make_info_unformattedŠ  s+  øøø€ ð
 Øð%
ð %
ˆð HLð
	ð 
	Ý%ð
	Ý.1ð
	Ý8;ð
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð	¥Fð 	ð 	ð 	ð 	ð 	ð 	ð �	Œ?ð /	PØˆL˜ ¨Ñ7Ô7Ð7Ñ7à�)Œ_ð ,	PØ˜aÒÐØ�˜V X¨x¸ÑHÔHÐHÐHà�˜V [°+¸yÑIÔIÐIØˆL˜ ¨Ñ0Ô0Ð0Ñ0à�)Œ_ð %	PÕ 2°3Ñ 7Ô 7ð %	PàˆL˜ ¨l¸NÑKÔKÐKØˆL˜Ð!1Ð3DÀnÑUÔUÐUØˆL˜ ¨k¸9ÑEÔEÐEØ˜aÒÐ D¨¤NÐØ�˜V X¨x¸ÑHÔHÐHÐHà�˜VÐ%5Ð7GÈÑSÔSÐSàˆL˜ ¨Ñ0Ô0Ð0ØˆL˜ ¨Ñ5Ô5Ð5ØˆL˜ ¨|Ñ<Ô<Ð<Ð<ð ˆL˜ ¨l¸NÑKÔKÐKØˆL˜Ð!1°:¸~ÑNÔNÐNØˆL˜ ¨Ñ5Ô5Ð5ØˆL˜ °Ñ>Ô>Ð>ð �KÔ  MÒ1Ð1Ø�˜V [°+Ñ>Ô>Ð>àˆL˜ ¨8Ñ4Ô4Ð4ØˆL˜ ¨Ñ0Ô0Ð0ð ˜aÒÐ D¨¤NÐØ�˜V X¨x¸ÑHÔHÐHÐHà�˜V [°+¸yÑIÔIÐIàˆL˜Ð!2Ð4EÀyÑQÔQÐQØˆL˜Ð!1Ð3CÀYÑOÔOÐOØˆL˜Ð!1Ð3CÀYÑOÔOÐOØˆr5   r<   r.   r‡   r  c                 ó’   — |                       ||||¬¦  «        }|                      |||||¬¦  «        }|                      |¦  «        S )a9  Retrieve an info dict and format it.

        Parameters
        ----------
        obj : any
            Object to inspect and return info from
        oname : str (default: ''):
            Name of the variable pointing to `obj`.
        formatter : callable
        info
            already computed information
        detail_level : integer
            Granularity of detail level, if set to 1, give more information.
        omit_sections : container[str]
            Titles or keys to omit from output (can be set, tuple, etc., anything supporting `in`)
        ©r‡   r  r&  )r&  r  )r  r'  r  )	r1   r.   r‡   rä   r  r&  r  Ú	info_dictrû   s	            r3   Ú	_get_infozInspector._get_infoÙ  s\   € ð4 —I’I˜c¨°TÈ�IÑUÔUˆ	Ø×,Ò,ØØØØ%Ø'ð -ñ 
ô 
ˆð ×Ò Ñ'Ô'Ð'r5   Tc                 óv   — |€J ‚|                       ||||||¬¦  «        }|s|d= t          j        |¦  «         dS )a   Show detailed information about an object.

        Optional arguments:

        - oname: name of the variable pointing to the object.

        - formatter: callable (optional)
              A special formatter for docstrings.

              The formatter is a callable that takes a string as an input
              and returns either a formatted string or a mime type bundle
              in the form of a dictionary.

              Although the support of custom formatter returning a string
              instead of a mime type bundle is deprecated.

        - info: a structure with some information fields which may have been
          precomputed already.

        - detail_level: if set to 1, more information is given.

        - omit_sections: set of section keys and titles to omit
        N)r  rõ   )r+  r   )	r1   r.   r‡   rä   r  r&  Úenable_html_pagerr  Úinfo_bs	            r3   ÚpinfozInspector.pinfoý  s^   € ðB ÐÐÐØŸšØ�˜	 4¨À]ð (ñ 
ô 
ˆð !ð 	$Ø�{Ð#ÝŒ	�&ÑÔÐÐÐr5   c                 ól   — t          j        dt          d¬¦  «         |                      ||||¬¦  «        S )z’
        Inspector.info() was likely improperly marked as deprecated
        while only a parameter was deprecated. We "un-deprecate" it.
        z±The `Inspector.info()` method has been un-deprecated as of 8.0 and the `formatter=` keyword removed. `Inspector._info` is now an alias, and you can just call `.info()` directly.r•   r–   r)  )r™   rš   r›   r  )r1   r.   r‡   r  r&  s        r3   Ú_infozInspector._info&  sG   € õ 	ŒðBõ Øð	
ñ 	
ô 	
ð 	
ð �yŠy˜ E°À<ˆyÑPÔPÐPr5   c                 óZ  — |€d}d}d}n|j         }|j        }|j        }|                     d¦  «        d         }d}	d}
|rQ|j        �Jt          |j        t          ¦  «        r0t          |j        t          ¦  «        }|                     |d¦  «        }	t          |d||d¬¦  «        }|	r|	}nt|r\t          |¦  «        s&	 d|d	         z  }nV#  d
t          |¦  «        z   }Y n@xY wdt          |¦  «        z   }|j        r|d|j        z   z  }nt          |¦  «        }|€d}n|}|
|z   }d}t          |dz
  dz  ¦  «        }|rd|d<   n|rd|d<   nt          |¦  «        j        |d<   	 |j        }t          |¦  «        |d<   n#  Y nxY w|| j        k    r¤	 t          |¦  «        }d}|sƒt'          |¦  «        |k    rp|d|…         dz   || d…         z   }ddt'          |                     ¦   «         ¦  «        z  z                        d„ |                     d¦  «        D ¦   «         ¦  «        }|||<   n#  Y nxY w|r||d<   	 t          t'          |¦  «        ¦  «        |d<   n# t,          $ r Y nw xY wd}t/          |¦  «        }|€d}nA|                     d¦  «        rd}n|                     d¦  «        rd}t3          |¦  «        |d<   |rgt5          j        ¦   «          	 t9          |t:          ¦  «        s|s+t=          ||¦  «        }|�|                     ¦   «         }||d <   n# t,          $ r Y nw xY w|r.|                       |                     d ¦  «        |¦  «        s||d!<   tC          j"        |¦  «        �rd|d"<   	 |  #                    ||¦  «        }n# tH          $ r d}Y nw xY w	 |j%        }|€(	 |  #                    ||¦  «        }n# tH          $ r Y nw xY wt          |¦  «        }|tL          k    rd}n# tH          $ r d}Y nw xY w|r||d#<   |r||d$<   d%„ t           '                    |¦  «        D ¦   «         }t'          |¦  «        d&k     rd'                     |¦  «        }n!d'                     |dd&…         d(gz   ¦  «        }||d)<   �n|  #                    ||¦  «        }|r||d*<   |rB	 t          |d+¦  «        }t          |¦  «        }n	#  d}Y nxY w|tP          v rd}|r||k    r||d,<   	 t          |j%        ¦  «        }|tL          k    rd}n# tH          $ r d}Y nw xY w|r||d$<   tS          |d-¦  «        rrtU          |¦  «        sc|  #                    |j+        |¦  «        }|r||                     d*¦  «        k    r||d.<   t          |j+        ¦  «        } | tX          k    rd} | r| |d/<   t[          d0i |¤ŽS )1a—  Compute a dict with detailed information about an object.

        Parameters
        ----------
        obj : any
            An object to find information about
        oname : str (default: '')
            Name of the variable pointing to `obj`.
        info : (default: None)
            A struct (dict like with attr access) with some information fields
            which may have been precomputed already.
        detail_level : int (default:0)
            If set to 1, more information is given.

        Returns
        -------
        An object info dict with known fields from `info_fields`. Keys are
        strings, values are string or None.
        NFrx   ú.éÿÿÿÿT)rU   r+   r*   r)   r"  z!Alias to the system command:
  %sr§   zAlias: z	Alias to z
Docstring:
z<no docstring>éÈ   é   r•   zMagic functionrG   zSystem aliasrH   rI   z <...> r}   rÖ   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rX   )r  )rD   Úqs     r3   r  z!Inspector.info.<locals>.<genexpr>�  s*   è è € Ð EÐ E¨q §¢¡¤Ð EÐ EÐ EÐ EÐ EÐ Er5   r,   rJ   ra   z<string>z9Dynamically generated function. No source code available.rK   rN   rM   rT   rO   rQ   c                 ó   — g | ]	}|j         ‘Œ
S r<   )r6   )rD   Úsubs     r3   ú
<listcomp>z"Inspector.info.<locals>.<listcomp>Þ  s   € ÐFÐFÐF c�S”\ÐFÐFÐFr5   r   ú, z...r"  rL   r…   rP   r˜   rR   rS   r<   ).r)   r*   r,   Úsplitr-   rã   Ú	HOOK_NAMEr0   r4   rø   rÝ   r;   Ú__doc__rC   ÚintÚtyper6   r…   rÇ   rÿ   Ú
expandtabsr€   ru   rc   rd   r   rê   rë   rs   r~   r‚   ÚrstripÚ_source_contains_docstringrB   rT   rÍ   ÚAttributeErrorrÂ   Ú_object_init_docstringÚ__subclasses__Ú_builtin_type_docstringsr   r“   r˜   Ú_func_call_docstringr_   )!r1   r.   r‡   r  r&  r)   r*   ÚospaceÚatt_nameÚparents_docsÚpreludeÚparents_docs_dictr¿   rv   Ú
ds_or_NoneÚ
string_maxÚshalfÚbclassÚostrÚstr_headÚbinary_filer·   r�   Úinit_defÚobj_initræ   ÚnamesÚ	all_namesÚdeflnÚclsÚclass_dsrR   rç   s!                                    r3   r  zInspector.info5  sD  € ð* ˆ<ØˆGØˆGØˆFˆFà”lˆGØ”lˆGØ”^ˆFð —;’;˜sÑ#Ô# BÔ'ˆØˆØˆØð 	A�D”KÐ+µ¸¼ÅYÑ0OÔ0OÐ+Ý '¨¬µYÑ ?Ô ?ÐØ,×0Ò0°¸4Ñ@Ô@ˆLÝØ˜d¨G¸WÐQUð
ñ 
ô 
ˆð ð 	 ØˆBˆBØð 	 Ý˜C‘=”=ð 9ð.Ø=ÀÀAÄÑF�B�Bøð.Ø"¥S¨¡X¤XÑ-�B�B�Bøøøà ¥3 s¡8¤8Ñ+�Ø”;ð 9ØÐ*¨S¬[Ñ8Ñ8�Bøå ™œˆJØÐ!Ø%��à�à�r‰\ˆð ˆ
Ý�Z !‘^ qÑ(Ñ)Ô)ˆàð 	2Ø/ˆC�ÑÐØð 	2Ø-ˆC�ÑÐå# C™yœyÔ1ˆC�Ñð	Ø”]ˆFÝ # F¡¤ˆC�ÑÐøð	ØˆDøøøð ˜4Ô0Ò0Ð0ð	Ý˜3‘x”x�Ø(�Ø#ð F­¨D©	¬	°*Ò(<Ð(<Ø   œ<¨)Ñ3°d¸E¸6¸7¸7´mÑC�DØ  3­¨X×-@Ò-@Ñ-BÔ-BÑ)CÔ)CÑ#CÑCß šDÐ EÐ E°D·J²J¸tÑ4DÔ4DÐ EÑ EÔ EÑEÔEð à $��H‘�øðØ�øøøàð 	&Ø%ˆC�Ñð	Ý¥ C¡¤™MœMˆC�‰MˆMøÝð 	ð 	ð 	ØˆDð	øøøð ˆÝ˜#‘”ˆØˆ=ð ˆKˆKà�~Š~Ð5Ñ6Ô6ð TØ"��Ø—’ 
Ñ+Ô+ð TØS�Ý'¨Ñ.Ô.ˆC�‰Kð ð 	õ Ô Ñ"Ô"Ð"ðÝ˜c¥8Ñ,Ô,ð (°Kð (Ý# C¨Ñ/Ô/�CØ�Ø!Ÿjšj™lœl˜Ø$'�C˜‘Møøåð ð ð Ø�ðøøøð ð 	"�d×5Ò5°c·g²g¸hÑ6GÔ6GÈÑLÔLð 	"Ø!ˆC�Ñõ Œ?˜3ÑÔñ V	4Ø!ˆC�	‰Nð ØŸ<š<¨¨UÑ3Ô3��øÝ!ð  ð  ð  Ø���ð øøøð#Øœ<�ð Ð#ðØ#'§<¢<°¸%Ñ#@Ô#@˜˜øÝ)ð ð ð Ø˜ðøøøå  Ñ*Ô*�àÕ4Ò4Ð4Ø"�Gøøõ "ð ð ð Ø���ðøøøð ð 2Ø)1�Ð%Ñ&àð 0Ø(/�Ð$Ñ%àFÐF­T×-@Ò-@ÀÑ-EÔ-EÐFÑFÔFˆEÝ�5‰zŒz˜BŠˆØ ŸIšI eÑ,Ô,�	�	à ŸIšI e¨C¨R¨C¤j°%°Ñ&8Ñ9Ô9�	Ø )ˆC�ÑÑð —L’L  eÑ,Ô,ˆEØð *Ø$)��LÑ!ð ð 6ð+Ý! # kÑ2Ô2�Cõ  & c™{œ{�H�Høð$Ø#�H�H�Høøøð Õ7Ð7Ð7Ø#�HØð 6  h¢ Ø-5�CÐ)Ñ*ðÝ  ¤Ñ.Ô.�àÕ4Ò4Ð4Ø"�GøøÝ!ð ð ð Ø���ðøøøàð 0Ø(/�Ð$Ñ%õ ˜C Ñ,Ô,ð 4Õ5GÈÑ5LÔ5Lð 4ØŸ<š<¨¬°eÑ<Ô<�Øð / ¨S¯WªW°\Ñ-BÔ-BÒ!BÐ!Bð '/�C˜
‘OÝ  ¤Ñ.Ô.�àÕ2Ò2Ð2Ø"�GØð 4Ø,3�CÐ(Ñ)åÐ!Ð!˜SÐ!Ð!Ð!sž   Â<C ÃCÅ"E< Å<F ÆBH+ È+H/È:I É
I'É&I'ËAL Ì
L'Ì&L'Í5N ÎNÎNÎO- Î)O  Ï 
OÏOÏ-O<Ï;O<Ò"S ÓSÓ$!T ÔTÔTc                 ó¦   — 	 t          j        t          | ¦  «        ¦  «        j        \  }t          j        |¦  «        |k    S # t
          $ r Y dS w xY w)zâ
        Check whether the source *src* contains the docstring *doc*.

        This is is helper function to skip displaying the docstring if the
        source already contains it, avoiding repetition of information.
        F)ÚastÚparser   r  Úget_docstringru   )r�   r®   Údef_nodes      r3   rD  z$Inspector._source_contains_docstring  s[   € ð	Ýœ)¥F¨3¡K¤KÑ0Ô0Ô5‰KˆXÝÔ$ XÑ.Ô.°#Ò5Ð5øÝð 	ð 	ð 	ð �5�5ð		øøøs   ‚?A Á
AÁAF)Ú
list_typesc                óü  — d}d}|r;t          j         d                     t          t          ¦  «        ¦  «        ¦  «         dS |                     ¦   «         }	t          |	¦  «        }
|
dk    r	|	d         }n|
dk    r|	\  }}nt          d|z  ¦  «        ‚|D ]-}||vr't          d	|›d
|                     ¦   «         ›�¦  «        ‚Œ.t          ¦   «         t          ¦   «         }}|D ]g}||         }t          |¦  «        |v rŒ| 
                    t          |¦  «        ¦  «         t          |||||¬¦  «        }|                     |¦  «         Œht          j         d                     t          |¦  «        ¦  «        ¦  «         dS )a¢  Search namespaces with wildcards for objects.

        Arguments:

        - pattern: string containing shell-like wildcards to use in namespace
          searches and optionally a type specification to narrow the search to
          objects of that type.

        - ns_table: dict of name->namespaces for search.

        Optional arguments:

          - ns_search: list of namespace names to include in search.

          - ignore_case(False): make the search case-insensitive.

          - show_all(False): show all names, including those starting with
            underscores.

          - list_types(False): list all available object types for object matching.
        Úallrx   r}   Nr§   r   r•   z)invalid argument string for psearch: <%s>zinvalid namespace <z>. Valid names: )Úignore_caseÚshow_all)r   r€   Úsortedr   r=  rÿ   Ú
ValueErrorr	  ÚsetÚidÚaddr   r\   )r1   ÚpatternÚns_tableÚ	ns_searchre  rf  rb  Útype_patternÚfilterÚcmdsÚlen_cmdsrU   Úsearch_resultÚnamespaces_seenÚns_nameÚnsÚtmp_ress                    r3   ÚpsearchzInspector.psearch(  s©  € ð4 ˆØˆð ð 	ÝŒI�d—i’i¥¥|Ñ 4Ô 4Ñ5Ô5Ñ6Ô6Ð6ØˆFà�}Š}‰ŒˆÝ˜‘Y”YˆØ�qŠ=ˆ=à˜!”WˆFˆFØ˜Š]ˆ]à"&ÑˆF�<�<åÐHØ$ñ%ñ &ô &ð &ð ð 	9ð 	9ˆDØ˜8Ð#Ð#Ý �jØ"& $ $ x§}¢}¡¤ ð"8ñ 9ô 9ð 9ð $õ
 *-©¬µ±´�ˆØ ð 	*ð 	*ˆGØ˜'Ô"ˆBå�"‰vŒv˜Ð(Ð(ØØ×Ò¥ 2¡¤Ñ'Ô'Ð'Ý$ R¨°vØ0;ÀhðPñ Pô PˆGà× Ò  Ñ)Ô)Ð)Ð)åŒ	�$—)’)�F =Ñ1Ô1Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3r5   ©rx   )rx   NrX   )rx   NNr   r<   )rx   NNr   Tr<   )rx   Nr   )%r6   r7   r8   r   r   ÚANSICodeColorsrÂ   r   r;   rÍ   rÞ   rÈ   rÛ   rà   r   rè   rì   rð   rø   rú   r%   r&   r  r  r'  r   r	   r(   r+  r/  r1  r
   r  ÚstaticmethodrD  rx  Ú__classcell__)r…   s   @r3   r   r   �  så  ø€ € € € € à#0Ø",Ô";ØØ"#Ø Tð	
'ð 
'ð 
'ð 
'ð 
'ð 
'ðð  e¨C°¨H¤oð ð ð ð ðB˜#ð Bð Bð Bð Bð
>ð >ð >ð
ð ð ð7ð 7ð 7ð 7ð, ð7(ð 7(ð 7(ñ „\ð7(ðr(ð (ð (ð (ðgð gð gð gð. 3ð  3 ð  3¸ð  3ð  3ð  3ð  3ðD$Ð"3ð $¸ð $ð $ð $ð $ðLNà!ðNð ðNð ð	Nð Nð Nð Nð$Là	ðLð Lð Lð Lðd ØØ $ØØð"(ð "(àð"(ð ð"(ð
 �uŒoð"(ð 
ð"(ð "(ð "(ð "(ðN ØØ $ØØØð'ð 'ð
 �uŒoð'ð 'ð 'ð 'ðRQð Qð Qð Qð`"ð `"ÀÀSÈ#ÀXÄð `"ð `"ð `"ð `"ðD ðð ñ „\ðð  13Ø!¨5ð@4Ø@Eð@4ð @4ð @4ð @4ð @4ð @4ð @4ð @4ð @4r5   c                 ód  — g }d}d}| j                              ¦   «         D ]ª}|j        t          j        j        k    rd}n|r|                     d¦  «         d}|j        t          j        j        k    rd}n3|j        t          j        j        k    r|r|                     d¦  «         d}|                     t          |¦  «        ¦  «         Œ«|r|                     d¦  «         t          |¦  «        t          d„ |D ¦   «         ¦  «        z   dk    r4d                     |d                     d	„ |D ¦   «         ¦  «        ¦  «        }n)d
                     |d                     |¦  «        ¦  «        }| j        t          j        ur1t          j        | j        ¦  «        }|d                     |¦  «        z  }|S )z¢
    This was mostly taken from inspect.Signature.__str__.
    Look there for the comments.
    The only change is to add linebreaks when this gets too long.
    FTú/Ú*c              3   ó:   K  — | ]}t          |¦  «        d z   V — ŒdS )r•   Nrþ   ©rD   Úrs     r3   r  z$_render_signature.<locals>.<genexpr>‡  s,   è è € Ð6Ð6¨!�3˜q™6œ6 A™:Ð6Ð6Ð6Ð6Ð6Ð6r5   éK   z{}(
{})rx   c              3   ó@   K  — | ]}d                       |¦  «        V — ŒdS )z    {},
N)rÆ   r�  s     r3   r  z$_render_signature.<locals>.<genexpr>‰  sA   è è € ð 73ð 73Ø&'ˆK×Ò˜qÑ!Ô!ð73ð 73ð 73ð 73ð 73ð 73r5   z{}({})r<  z -> {})Ú
parametersÚvaluesÚkindrB   Ú	ParameterÚPOSITIONAL_ONLYr   ÚVAR_POSITIONALÚKEYWORD_ONLYr;   rÿ   ÚsumrÆ   r€   Úreturn_annotationÚ_emptyÚformatannotation)Úobj_signatureÚobj_nameÚresultÚpos_onlyÚkw_onlyÚparamÚrenderedÚannos           r3   rÌ   rÌ   k  s»  € ð €FØ€HØ€GØÔ)×0Ò0Ñ2Ô2ð "ð "ˆØŒ:�Ô*Ô:Ò:Ð:ØˆHˆHØð 	Ø�MŠM˜#ÑÔÐØˆHàŒ:�Ô*Ô9Ò9Ð9ØˆGˆGØŒZ�7Ô,Ô9Ò9Ð9¸gÐ9Ø�MŠM˜#ÑÔÐØˆGà�Š•c˜%‘j”jÑ!Ô!Ð!Ð!àð Ø�Š�cÑÔÐõ ˆ8�}„}•sÐ6Ð6¨vÐ6Ñ6Ô6Ñ6Ô6Ñ6¸Ò;Ð;à×$Ò$ X¨r¯wªwð 73ð 73Ø+1ð73ñ 73ô 73ñ 03ô 03ñ 
ô 
ˆˆð —?’? 8¨T¯YªY°vÑ->Ô->Ñ?Ô?ˆàÔ&­g¬nÐ<Ð<ÝÔ'¨Ô(GÑHÔHˆØ�H—O’O DÑ)Ô)Ñ)ˆà€Or5   ry  )T)dr?  Ú__all__Údataclassesr   rB   r   Útextwrapr   r^  rö   Úiorh   rê   re   ÚsysÚtypesr™   Útypingr   r	   r
   r   r   r   Úversion_infoÚtyping_extensionsr   ÚIPython.corer   ÚIPython.lib.prettyr   ÚIPython.testing.skipdoctestr   ÚIPython.utilsr   r   ÚIPython.utils.dir2r   ÚIPython.utils.pathr   ÚIPython.utils.textr   ÚIPython.utils.wildcardr   r   ÚIPython.utils.coloransir   r   r   ÚIPython.utils.py3compatr   ÚIPython.utils.colorabler   ÚIPython.utils.decoratorsr    Úpygmentsr!   Úpygments.lexersr"   Úpygments.formattersr#   r>  r;   r%   r:   r&   r(   r@   ÚFunctionTyper˜   rI  ÚobjectrÂ   rF  Ú
ModuleTypeÚ
MethodTyper~   rH  rA  rd  r�   Úupperr‘   ÚColorsrz  r   r[   r_   rp   rC   r‚   r“   r�   r¥   r¯   rƒ   rc   r»   r   rÌ   r<   r5   r3   ú<module>r¶     sÙ  ððð ð ð �Ð
'€ð "Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :àÔ�wÒÐØ+Ð+Ð+Ð+Ð+Ð+Ð+à Ð Ð Ð Ð Ð ð Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  Ø +Ð +Ð +Ð +Ð +Ð +Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø /Ð /Ð /Ð /Ð /Ð /Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø -Ð -Ð -Ð -Ð -Ð -Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø -Ð -Ð -Ð -Ð -Ð -à'€	ð  $ C¨¨e°C¸°H¬oÔ)>Ð$>Ô?Ð �9Ð ?Ð ?Ñ ?Ø˜˜c˜”N€ˆ	Ð "Ð "Ñ "ð ð$ð $ð $ð $ð $ñ $ô $ñ „ð$ð2Ið Ið Ið Ô)Ô2Ô:Ð ØœÔ0Ð ðð Ø %Ô 0°%Ô2BØ %Ô 2°Hð >ðñ ô Ð ð
 �T˜#‘Y”YÐ Ø�T˜#œ)‘_”_Ð ð 
€àÔ)€ðð ð €ðð ð ðð ð ð.�5˜˜T˜”?ð ð ð ð ð*<ð <  c¨$ h¤ð <ð <ð <ð <ð~Xð Xð Xð
 ð'ð 'ñ „ð'ð" ðHð Hñ „ðHð  ð"ð "ð "ñ „ð"ðJð ð ð$ �cð  ð  ð  ð  ðFð ð ð>X4ð X4ð X4ð X4ð X4�	ñ X4ô X4ð X4ðv(°#ð (ð (ð (ð (ð (ð (r5   