ó
    Ñ]jW�  ã                   ó6  • % S r S/rSSKJr  SSKJr  SSKJr  SSKrSSK	r	SSKrSSK
rSSKrSSKrSSKrSSKrSSKJr  SSKJrJrJrJrJrJrJrJrJr  SSKrSS	KJr  SS
KJ r   SSK!J"r"  SSK#J$r$  SSK%J&r&J'r'  SSK(J)r)  SSK*J+r+  SSK,J-r-  SSK.J/r/J0r0  SSK1J2r2  SSK3J4r4  SSK5J6r6  SSK7J8r8  Sr9\\:\\\:\:4      4   r;\\<S'   \\:\:4   r=\\<S'   \ " S S5      5       r>S r?\R€                  R‚                  R                   rB\CRˆ                  R                   rE\RŒ                  \RŽ                  \R€                  \H4 V s1 s H  n \R“                  U 5      iM     sn rJ\K" \L5      rM\K" \:Rœ                  5      rO " S S\5      rP\Q" \PRx                  R¥                  5       5      rSS rT\ " S S 5      5       rU\2S!S!S!S".S#\:S$\VS%\VS&\VS'\VS(\P4S) jj5       rWS* rXS(\\:S4   4S+ jrIS3S(\\:S4   4S, jjrYS- rZS. r[S(\\:   4S/ jr\S0 r]\C" 5       r^ " S1 S\5      r_S(\:4S2 jr`gs  sn f )4zø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é    )Ú	dataclass)Ú	signature)ÚdedentN)ÚToken)	ÚcastÚAnyÚOptionalÚDictÚUnionÚListÚ	TypedDictÚ	TypeAliasÚTuple)ÚConfigurable)Úpage)Úpretty)Úskip_doctest)Ú
PyColorizeÚopenpy)Úsafe_hasattr)Úcompress_user)Úindent)Úlist_namespaceÚtypestr2type)Úundoc)Ú	highlight)ÚPythonLexer)ÚHtmlFormatterÚ__custom_documentations__ÚUnformattedBundleÚBundlec                   ó^   • \ rS rSr% \\S'   \\S'   \\S'   \\   \S'   \\S'   \\S'   S r	S	r
g
)ÚOInfoéB   ÚismagicÚisaliasÚfoundÚ	namespaceÚparentÚobjc                 óT   • [         R                  " SU S3[        SS9  [        X5      $ )zvGet a field from the object for backward compatibility with before 8.12

see https://github.com/h5py/h5py/issues/2253
zGOInfo dataclass with fields access since IPython 8.12 please use OInfo.z¨ instead.OInfo used to be a dict but a dataclass provide static fields verification with mypy.This warning and backward compatibility `get()` method were added in 8.13.é   ©Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningÚgetattr)ÚselfÚfields     ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/core/oinspect.pyÚgetÚ	OInfo.getK   s;   € ô 	�ŠØUÐV[ÐU\ð ]Yð Yô Øò	
ô �tÓ#Ð#ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚboolÚ__annotations__r
   Ústrr	   r7   Ú__static_attributes__r:   r9   r6   r$   r$   B   s*   ‡ àƒMØƒMØƒKØ˜‰}ÓØƒKØ	ƒHõ$r9   r$   c                 ó:   • [        U [        5       [        SS95      $ )NT)Ú	noclasses)r   r   r   )Úcodes    r6   ÚpylightrF   ]   s   € Ü�Tœ;›=¬-À$Ñ*GÓHÐHr9   c                   ó8  • \ rS rSr% \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S	'   \\   \S
'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\S'   \\S'   \\S'   \\S'   \\S'   Srg)ÚInfoDictér   Ú	type_nameÚ
base_classÚstring_formr)   ÚlengthÚfileÚ
definitionÚ	docstringÚsourceÚinit_definitionÚclass_docstringÚinit_docstringÚcall_defÚcall_docstringÚ
subclassesr&   r'   Úisclassr(   Únamer:   N)	r;   r<   r=   r>   r
   rA   r@   r?   rB   r:   r9   r6   rH   rH   r   s³   ‡ Ø˜‰}ÓØ˜‘ÓØ˜#‘ÓØ˜‰}ÓØ�S‰MÓØ
�3‰-ÓØ˜‘ÓØ˜‰}ÓØ�S‰MÓØ˜c‘]Ó"Ø˜c‘]Ó"Ø˜S‘MÓ!Ø�s‰mÓØ˜S‘MÓ!Ø˜‘Óð ƒMØƒMØƒMØƒKØ
†Ir9   rH   c                 ó|   • U S:X  a   [         R                  " S[        SS9  [        $ [	        S[
        < SU < 35      e)NÚinfo_fieldszfIPython.core.oinspect's `info_fields` is considered for deprecation and may be removed in the Future. r-   r.   zmodule z has no attribute )r0   r1   r2   Ú_info_fieldsÚAttributeErrorr;   )rY   s    r6   Ú__getattr__r^   Ž   s@   € Øˆ}ÓÜ�ŠØtÜØò	
ô
 Ðä
˜7¤8¡,Ð.@ÀÁÐIÓ
JÐJr9   c                   óX   • \ rS rSr% Sr\\S'   \\   \S'   \	\S'   \
\S'   \\   \S'   Srg	)
ÚInspectorHookDataéš   zData passed to the mime hookr+   ÚinfoÚ	info_dictÚdetail_levelÚomit_sectionsr:   N)r;   r<   r=   r>   Ú__doc__r	   r@   r
   r$   rH   ÚintÚlistrA   rB   r:   r9   r6   r`   r`   š   s*   ‡ á&à	ƒHØ
�5‰/ÓØÓØÓØ˜‘9Ör9   r`   F)rX   r'   r&   rY   r(   rX   r'   r&   Úreturnc                 ó¼   • [        U5      nUR                  [         Vs0 s H  owU;  d  M
  US_M     sn5        XS'   XS'   X&S'   X6S'   XFS'   [        S0 UD6$ s  snf )z1Make an object info dict with all fields present.NrY   r(   rX   r'   r&   r:   )ÚdictÚupdater\   rH   )rY   r(   rX   r'   r&   ÚkwÚinfodictÚks           r6   Úobject_inforp   ¥   so   € ô �B‹x€HØ‡O�O¥lÓH¢l ¸xÑ6G“W�Q˜’W¡lÑHÔIØˆVÑØˆWÑØ!ˆYÑØ!ˆYÑØ!ˆYÑäÑ�hÑÐùò Is
   Ÿ	A¬Ac                 óD  • [        U 5      nUc  gUR                  S5      (       a  g[        R                  R	                  U5      (       d  g[
        R                  " US5       n[        R                  " UR                  5      u  p4SSS5        U$ ! , (       d  f       W$ = f)zfGet 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        r6   Úget_encodingr�   »   s�   € ô
 �c‹N€Eð �}ØØ	�‰Ð/×	0Ñ	0ØÜ�W‰W�^‰^˜E×"Ñ"Øô
 �^Š^˜E 4Ô(¨FÜ%×5Ò5°f·o±oÓFÑˆH÷ )àˆ÷ )Ô(àˆús   Á##BÂ
Bc                 óÌ   •  U R                  5       n[        U[        5      (       a  [        R                  " U5      $  [        R                   " U 5      nU$ ! [
         a     N$f = f)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.
)ÚgetdocÚ
isinstancerA   ÚinspectÚcleandocÚ	Exception)r+   ÚdsÚdocstrs      r6   rƒ   rƒ   Ó   s^   € ð(Ø�Z‰Z‹\ˆô �bœ#×ÑÜ×#Ò# BÓ'Ð'ð ä�^Š^˜CÓ €FØ€Møô ó Ùðús   ‚A Á
A#Á"A#c           	      óÄ  • [        U [        5      (       aÔ  / nS H³  n[        X5      nUc  M  U(       a  SU-  OSnUR                  SR	                  SXS45      5        [
        R                  " U5      (       a0  [        U5      nU(       a  UR                  [        U5      5        MŒ  MŽ  UR                  U< U< S[        U5      < S35        Mµ     U(       a  SR	                  U5      $ g[        U 5      n  [
        R                  " U 5      nU$ ! [         a<     [
        R                  " U R                  5      n U$ ! [        [        4 a      gf = f[         a     gf = f)a<  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.Ú z# z = Ú
)r„   Úpropertyr3   ÚappendÚjoinr…   Ú
isfunctionÚ	getsourcer   r   Ú_get_wrappedÚ	TypeErrorÚ	__class__ÚOSError)r+   ÚonameÚsourcesÚattrnameÚfnÚoname_prefixÚ_srcÚsrcs           r6   r”   r”   è   s8  € ô& �#”x× Ñ ØˆÛ0ˆHÜ˜Ó'ˆBØ‹~Þ27 ¨¢¸R�Ø—‘˜rŸw™w¨¨lÐ'EÓFÔGÜ×%Ò% b×)Ñ)Ü$ R›=�DÞàŸ™¤v¨d£|Ö4ñ ð —N‘NÚ)5³xÄÈÆÐLöñ 1ö  Ø—9‘9˜WÓ%Ð%àô
 ˜3Óˆð
	Ü×#Ò# CÓ(ˆCð ˆ
øô ó 	ðÜ×'Ò'¨¯©Ó6‘ð ˆ
øô œYÐ'ó Úðúäó 	Ùð	ús0   Ã6D Ä
EÄ D<Ä<EÅEÅEÅEÅEc                 óÄ   • [         R                  " U 5      =(       dD    [         R                  " U 5      =(       d'    [        U [        5      =(       d    [        U [
        5      $ )zTrue if obj is a function ())r…   r“   Úismethodr„   Ú_builtin_func_typeÚ_builtin_meth_type)r+   s    r6   Úis_simple_callabler¤   &  sK   € ä×Ò˜sÓ#÷ W¤w×'7Ò'7¸Ó'<÷ WÜ�sÔ.Ó/÷WÜ3=¸cÔCUÓ3VðXr9   c                 óˆ   • U nSn[        U S5      (       a,  U R                  n US-  nUS:”  a  U$ [        U S5      (       a  M,  U $ )a:  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__é   éd   )r   r¦   )r+   Úorig_objÚis      r6   r•   r•   +  sO   € ð €HØ	€AÜ
�s˜M×
*Ñ
*Ø�o‰oˆØ	ˆQ‰ˆØˆs‹7àˆOô �s˜M×
*Ó
*ð €Jr9   c                 óú   • [        U 5      n Sn [        R                  " U 5      nU$ ! [         a=     [        R                  " U R                  5      n U$ ! [
        [        4 a      U$ f = f[
         a     U$ f = f)a6  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•   r…   Ú
getabsfiler–   r—   r˜   )r+   Úfnames     r6   rt   rt   =  s’   € ô  �sÓ
€Cà€EðÜ×"Ò" 3Ó'ˆð €Løô ó ð	Ü×&Ò& s§}¡}Ó5‰Eð €Løô œÐ#ó 	áð €Lð	úô ó Øà€Lðús,   �' §
A:² AÁA*Á%A:Á)A*Á*A:Á9A:c                 óþ   • [        U 5      n  [        R                  " U 5      S   nU$ ! [         a?     [        R                  " U R                  5      S   n U$ ! [
        [        4 a      gf = f[
         a     gf = f)a/  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•   r…   Úgetsourcelinesr–   r—   r˜   )r+   Úlinenos     r6   Úfind_source_linesr±   `  s‰   € ô  �sÓ
€Cð	Ü×'Ò'¨Ó,¨QÑ/ˆð €Møô ó ð	Ü×+Ò+¨C¯M©MÓ:¸1Ñ=‰Fð €Møô œÐ#ó 	Úð	úäó Ùðús,   �( ¨
A<³#AÁA-Á)A<Á,A-Á-A<Á;A<c                   ó  ^ • \ rS rSr% \R
                  " SSS9R                  SS9r\\	S'   SSSS	.S
\4U 4S jjjr
S rS0S\\S4   4S jjrS\S\4S jrS\4S jrS\4S jrS rS0S jr\S1S j5       rS0S jrS0S jrS2S\S\4S jjrS\S\4S jrS\S\S\S \\   4S! jrS\4S" jr     S3S$\S%\S&\ \!   S'\"S \\\   \#S#   4   S\4S( jjr$      S4S&\ \!   4S) jjr%S5S\&4S* jjr'\(S+ 5       r)/ S,S,4S,S-.S. jjr*S/r+U =r,$ )6r   iƒ  TzKdictionary of mime to callable to add information into help mimebundle dict)ÚconfigÚhelp)r³   Ú_theme_namer   N)Ústr_detail_levelr*   r³   Ú
theme_namec                ó  >• US;   a<  [         R                  " SUR                  5        S3[        SS9  UR                  5       nXl        [
        [        U ]  X4S9  [        R                  " SUS9U l
        X l        U R                  U5        g )	N)ÚLinuxÚLightBGÚNeutralÚNoColorz?Theme names and color schemes are lowercase in IPython 9.0 use z insteadr-   r.   )r*   r³   rA   )Úoutr·   )r0   r1   Úlowerr2   rµ   Úsuperr   Ú__init__r   ÚParserÚparserr¶   Úset_theme_name)r4   r·   r¶   r*   r³   r—   s        €r6   rÀ   ÚInspector.__init__‹  sˆ   ø€ ð ÐCÓCÜ�MŠMØQÐR\×RbÑRbÓRdÐQeÐemÐnÜ"Øòð
 $×)Ñ)Ó+ˆJØ%ÔÜŒi˜Ñ'¨vÐ'ÑEÜ ×'Ò'¨E¸jÑIˆŒØ 0ÔØ×Ñ˜JÕ'r9   c                 ó:   • U R                   R                  " U0 UD6$ ©N)rÂ   Úformat)r4   ÚargsÚkwargss      r6   rÇ   ÚInspector.format   s   € Ø�{‰{×!Ò! 4Ð2¨6Ñ2Ð2r9   ri   c                 ó^   • [        U5      (       d  g [        [        U5      U5      $ !    g= f)zŒReturn the call signature for any callable object.

If any exception is generated, None is returned instead and the
exception is suppressed.N)ÚcallableÚ_render_signaturer   )r4   r+   r™   s      r6   Ú_getdefÚInspector._getdef£  s0   € ô
 ˜�}‰}Øð	Ü$¤Y¨s£^°UÓ;Ð;øð	Ùús   “( ¨,Úhc                 ó|   • [         R                  U R                     R                  [        R
                  U4/5      $ )z*Return a header string with proper colors.)r   Útheme_tablerµ   rÇ   r   ÚHeader)r4   rÐ   s     r6   Ú__headÚInspector.__head¯  s0   € ä×%Ñ% d×&6Ñ&6Ñ7×>Ñ>ÄÇÁÈqÐ@QÐ?RÓSÐSr9   rY   c                 ó¢   • XR                  5       :X  d   eU[        R                  R                  5       ;   d   eXl        XR
                  l        g rÆ   )r¾   r   rÒ   Úkeysrµ   rÂ   r·   )r4   rY   s     r6   rÃ   ÚInspector.set_theme_name³  sA   € Ø—z‘z“|Ó#Ð#Ð#Ø”z×-Ñ-×2Ñ2Ó4Ó4Ð4Ð4ØÔØ!%�‰Õr9   Úschemec                 ó¸   • [         R                  " S[        SS9  XR                  5       :X  d   eUb(  U R                  U:w  a  Xl        XR
                  l        g g g )NzPset_active_scheme is deprecated and replaced by set_theme_name as of IPython 9.0r-   r.   )r0   r1   r2   r¾   rµ   rÂ   r·   )r4   rÙ   s     r6   Úset_active_schemeÚInspector.set_active_scheme¹  sV   € Ü�ŠØ^ÜØò	
ð
 Ÿ™›Ó'Ð'Ð'ØÑ $×"2Ñ"2°fÓ"<Ø%ÔØ%+�K‰KÕ"ð #=Ðr9   c                 ó^   • [        SU-  SS9  U(       a  [        SU-  5        g[        5         g)z-Generic message when no information is found.zNo %s foundÚ ©Úendzfor %sN)Úprint)r4   Úmsgr™   s      r6   ÚnoinfoÚInspector.noinfoÄ  s&   € äˆm˜cÑ! sÒ+ÞÜ�(˜UÑ"Õ#ä�Gr9   c                 ó  • [        U5      (       d  [        S5        gSn[        R                  " U5      (       a  U R	                  S5      nU R                  X5      nUc  U R                  SU5        g[        X0R                  U5      SS9  g)zoPrint the call signature for any callable object.

If the object is a class, print the constructor information.zObject is not callable.NrŽ   zClass constructor information:
zdefinition headerrÞ   rß   )rÌ   rá   r…   rX   Ú_Inspector__headrÎ   rã   rÇ   )r4   r+   r™   ÚheaderÚoutputs        r6   ÚpdefÚInspector.pdefÌ  ss   € ô
 ˜�}‰}ÜÐ+Ô,Øàˆä�?Š?˜3×ÑØ—[‘[Ð!CÓDˆFð —‘˜cÓ(ˆØ‰>Ø�K‰KÐ+¨EÕ2ä�&Ÿ™ VÓ,°#Ó6r9   c                 ó(  • / n[        U5      nU(       a  U" U5      R                  SU5      nU(       a:  UR                  U R                  S5      5        UR                  [	        U5      5        [
        R                  " U5      (       ad  [        US5      (       aS  [        UR                  5      nUb:  UR                  U R                  S5      5        UR                  [	        U5      5        Og[        US5      (       aV  [        UR                  5      nU(       a:  UR                  U R                  S5      5        UR                  [	        U5      5        U(       d  U R                  SU5        g[        R                  " S	R                  U5      5        g)
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:Ú__call__zCall docstring:Údocumentationr�   )rƒ   r7   r‘   ræ   r   r…   rX   ÚhasattrrÀ   rì   rã   r   r’   )r4   r+   r™   Ú	formatterÚlinesrˆ   Úinit_dsÚcall_dss           r6   ÚpdocÚInspector.pdocâ  s  € ðD ˆÜ�C‹[ˆÞÙ˜2“×"Ñ" <°Ó4ˆBÞØ�L‰L˜Ÿ™Ð%7Ó8Ô9Ø�L‰Lœ ›Ô$Ü�?Š?˜3×Ñ¤G¨C°×$<Ñ$<Ü˜SŸ\™\Ó*ˆGØÑ"Ø—‘˜TŸ[™[Ð):Ó;Ô<Ø—‘œV G›_Ô-øÜ�S˜×$Ñ$Ü˜SŸ\™\Ó*ˆGÞØ—‘˜TŸ[™[Ð):Ó;Ô<Ø—‘œV G›_Ô-æØ�K‰K˜¨Õ.ä�IŠI�d—i‘i Ó&Õ'r9   c                 óÜ   • [         R                  " 5          [        XS9nUc  U R	                  SU5        g[
        R
                  " U R                  U5      5        g! [         a    Sn NJf = f)z$Print the source code for an object.)r™   NrQ   )Ú	linecacheÚ
checkcacher”   r‡   rã   r   rÇ   )r4   r+   r™   rŸ   s       r6   ÚpsourceÚInspector.psource  s_   € ô 	×ÒÔð	Ü˜CÑ-ˆCð ‰;Ø�K‰K˜ %Õ(ä�IŠI�d—k‘k #Ó&Õ'øô ó 	ØŠCð	ús   —	A ÁA+Á*A+c           	      ó¢  • [        U5      nUc  U R                  SU5        g[        U5      nUc  [        S5        gUR	                  S5      (       a  [        SU-  5        g[
        R                  R                  U5      (       d  [        SU-  5        g[        R                  " U R                  [        R                  " USS95      US	-
  5        g)
z0Show the whole file where an object was defined.NrN   zCould not find file for objectrr   z File %r is binary, not printing.z%File %r does not exist, not printing.F)Úskip_encoding_cookier§   )r±   rã   rt   rá   ru   rv   rw   rx   r   rÇ   r   Úread_py_file)r4   r+   r™   r°   r}   s        r6   ÚpfileÚInspector.pfile*  sª   € ô # 3Ó'ˆØ‰>Ø�K‰K˜ Ô&Øä˜#“ˆð ‰=ÜÐ2Õ3Ø�^‰^Ð3×4Ñ4ÜÐ4°uÑ<Õ=Ü—‘—‘ ×&Ñ&ÜÐ9¸EÑAÕBô
 �IŠI�d—k‘k¤&×"5Ò"5°eÐRWÑ"XÓYÐ[aÐdeÑ[eÕfr9   Útextc                 óª   • US[         R                  " U5       S3S.nUc  U$ U" U5      n[        U[        5      (       d	  USU S3S.$ [        U40 UD6$ )a
  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Úescaper„   rk   )r4   rÿ   rï   ÚdefaultsÚ	formatteds        r6   Ú_mime_formatÚInspector._mime_formatC  sp   € ð" Ø ¤§¢¨TÓ!2Ð 3°6Ð:ñ
ˆð
 ÑØˆOá! $›ˆIä˜i¬×.Ñ.ð '0ÀÀiÀ[ÐPVÐ>WÑXÐXô ˜HÑ2¨	Ñ2Ð2r9   Úbundlec                 óè  • [        US   [        5      (       d   eUS    H  n[        U[        5      (       a  M   e   0 n/ n[        S US    5       5      nUS    HZ  u  pgUR	                  S5      nSU;   a  SOSnUR                  U R                  US-   5       U[        U5      -
  S-   U U 35        M\     SR                  U5      US'   SU;   ay  [        US   [        5      (       d   eUS    H  n[        U[        5      (       a  M   e   [        US   [        [        45      (       a  SR                  S US    5       5      US'   UR                  5        H  n	U	S;   a  M  X   X9'   M     U$ )	zRFormat a mimebundle being created by _make_info_unformatted into a real mimebundler  c              3   ó<   #   • U  H  u  p[        U5      v •  M     g 7frÆ   ©Úlen)Ú.0rÐ   Ú_s      r6   Ú	<genexpr>Ú(Inspector.format_mime.<locals>.<genexpr>n  s   é € Ð;Ò&:™d˜a”3�q—6�6Ò&:ùs   ‚r�   rÞ   Ú:r  c              3   ó6   #   • U  H  u  pS U SU 3v •  M     g7f)z<h1>z</h1>
Nr:   )r  ÚheadÚbodys      r6   r  r  €  s#   é € ð /ÚCV±<°D�d˜4˜& ¨ vÕ.ÒCVùs   ‚)r  r  )
r„   rh   ÚtupleÚmaxÚstripr‘   ræ   r  r’   r×   )
r4   r
  ÚitemÚnew_brð   Ú_lenr  r  Údelimro   s
             r6   Úformat_mimeÚInspector.format_mimee  sŠ  € ô ˜& Ñ.´×5Ñ5Ð5Ð5Ø˜<Ô(ˆDÜ˜d¤E×*Ó*Ð*Ð*ñ )ð ˆØˆÜÑ; f¨\Ò&:Ó;Ó;ˆà  Ô.‰JˆDØ—:‘:˜dÓ#ˆDØ  D›L‘D¨cˆEØ�L‰LØ—;‘;˜t C™xÓ(Ð)¨4´#°d³)Ñ+;¸SÑ*@Ð)AÀ%ÀÈÈÐOöñ /ð #Ÿi™i¨Ó.ˆˆlÑà˜&Ó Ü˜f [Ñ1´4×8Ñ8Ð8Ð8Ø˜{Ô+�Ü! $¬×.Ó.Ð.Ð.ñ ,ô ˜& Ñ-´´e¨}×=Ñ=à%)§Y¡Yñ /ØCIÈ+ÒCVó/ó &��kÑ"ð —‘–ˆAØÐ/Ó/Ùà!™9�“ñ	 ð
 ˆr9   ÚtitleÚkeyre   c                 ó¬   • X%;   d  X5;   a  gXC   nUbB  U R                  Xv5      nUS   R                  X(S   45        US   R                  X(S   45        gg)z^Append an info value to the unformatted mimebundle being constructed by _make_info_unformattedNr  r  )r  r‘   )	r4   r
  r   r!  rb   re   rï   r5   Úformatted_fields	            r6   Ú_append_info_fieldÚInspector._append_info_field‹  sj   € ð Ó! SÓ%9ØØ‘	ˆØÑØ"×/Ñ/°ÓAˆOØ�<Ñ ×'Ñ'¨ÀÑ0MÐ(NÔOØ�;Ñ×&Ñ&¨¸{Ñ/KÐ'LÕMð r9   c                 ó8  ^ ^^• / / S.n S*S[         S[        S[        4UUU 4S jjjnS[        4U 4S jjnTS   (       a  U" US	S
5        U$ TS   (       a)  US:”  a  U" USSU5        OU" USSU5        U" USS5        U$ TS   (       d  [        U5      (       ah  U" USSU5        U" USSU5        U" USSU5        US:”  a  TS   (       a  U" USSU5        OU" USSU5        U" USS5        U" USS5        U" USS5        U$ U" USSU5        U" USSU5        U" USS5        U" US S
5        TS!   S":w  a
  U" US#S!5        U" US$S%5        U" USS5        US:”  a  TS   (       a  U" USSU5        OU" USSU5        U" US&S'U5        U" USSU5        U" US(S)U5        U$ )+z;Assemble the mimebundle as unformatted lists of informationr  r
  r   r!  c           	      ó.   >• TR                  U UUTTUS9  g )N)r   r!  rb   re   rï   )r$  )r
  r   r!  rï   rb   re   r4   s       €€€r6   Úappend_fieldÚ6Inspector._make_info_unformatted.<locals>.append_field§  s*   ø€ ð ×#Ñ#ØØØØØ+Ø#ð $ò r9   ri   c                 ó>   >• TR                  U 5      [        U 5      S.$ )Nr  )rÇ   rF   )rÿ   r4   s    €r6   Úcode_formatterÚ8Inspector._make_info_unformatted.<locals>.code_formatter³  s    ø€ à"Ÿk™k¨$Ó/Ü$ T›]ñð r9   r'   ÚReprrL   r&   r   ÚSourcerQ   Ú	DocstringrP   ÚFilerN   rX   Ú	SignaturerO   zInit signaturerR   zInit docstringrT   ÚTyperJ   Ú
SubclassesrW   zCall signaturerU   zString formr)   ÚInteractiveÚ	NamespaceÚLengthrM   zClass docstringrS   zCall docstringrV   rÆ   )r!   rA   r"   r¤   )	r4   r+   rb   rï   rd   re   r
  r(  r+  s	   ` `  `   r6   Ú_make_info_unformattedÚ Inspector._make_info_unformatted�  s	  ú€ ð
 Øñ%
ˆð HLñ
	Ü%ð
	Ü.1ð
	Ü8;÷
	ò 
	ð	¤F÷ 	ð �	�?Ù˜ ¨Ô7ð^ ˆð[ �)�_Ø˜aÓÙ˜V X¨x¸ÕHá˜V [°+¸yÔIÙ˜ ¨Ô0ðP ˆðM �)�_Ô 2°3× 7Ñ 7á˜ ¨l¸NÔKÙ˜Ð!1Ð3DÀnÔUÙ˜ ¨k¸9ÔEØ˜aÓ D¨§NÙ˜V X¨x¸ÕHá˜VÐ%5Ð7GÈÔSá˜ ¨Ô0Ù˜ ¨Ô5Ù˜ ¨|Ô<ð4 ˆñ- ˜ ¨l¸NÔKÙ˜Ð!1°:¸~ÔNÙ˜ ¨Ô5Ù˜ °Ô>ð �KÑ  MÓ1Ù˜V [°+Ô>á˜ ¨8Ô4Ù˜ ¨Ô0ð ˜aÓ D¨§NÙ˜V X¨x¸ÕHá˜V [°+¸yÔIá˜Ð!2Ð4EÀyÔQÙ˜Ð!1Ð3CÀYÔOÙ˜Ð!1Ð3CÀYÔOØˆr9   r:   r+   r™   rb   rd   c                 ób  • U R                  XXES9n[        U5      nU R                  UUUUUS9nU R                  (       aÛ  [	        UUUUUS9n	U R                  R                  5        H°  u  p«[        R                  " U5      R                  R                  5        Vs/ s H/  nUR                  [        R                  R                  :w  d  M-  UPM1     nn[        U5      S:X  a	  U" U	5      nO"[        R                  " S[        SS9  U" X5      nUc  M¬  XèU
'   M²     U R!                  U5      $ s  snf )aÄ  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 : list[str]
    Titles or keys to omit from output (can be set, tuple, etc., anything supporting `in`)
)r™   rb   rd   )rd   re   )r+   rb   rc   rd   re   r§   zÇMIME hook format changed in IPython 8.22; hooks should now accept a single parameter (InspectorHookData); support for hooks requiring two-parameters (obj and info) will be removed in a future versionr-   r.   )rb   rh   r7  Ú
mime_hooksr`   Úitemsr…   r   Ú
parametersÚvaluesÚdefaultÚ	Parameterr  r0   r1   r2   r  )r4   r+   r™   rï   rb   rd   re   rc   r
  Ú	hook_datar!  ÚhookÚ	parameterÚrequired_parametersÚress                  r6   Ú	_get_infoÚInspector._get_infoì  s9  € ð4 —I‘I˜c°T�IÐUˆ	Ü˜]Ó+ˆà×,Ñ,ØØØØ%Ø'ð -ð 
ˆð �?�?Ü)ØØØ#Ø)Ø+ñˆIð "Ÿ_™_×2Ñ2Ö4‘	�ô &-×%6Ò%6°tÓ%<×%GÑ%G×%NÑ%NÔ%Pó'â%P˜	Ø ×(Ñ(¬G×,=Ñ,=×,EÑ,EÑE÷ Ù%Pð $ð 'ô
 Ð*Ó+¨qÓ0Ù˜y›/‘Cä—M’Mð]ô +Ø#$òñ ˜s›/�CØ“?Ø"%˜3“Kñ% 5ð& ×Ñ Ó'Ð'ùò%'s   Â,D,ÃD,c           	      óp   • Uc   eU R                  XX4XWS9nU(       d  US	 [        R                  " U5        g)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)re   r  )rE  r   )	r4   r+   r™   rï   rb   rd   Úenable_html_pagerre   Úinfo_bs	            r6   ÚpinfoÚInspector.pinfo-  sD   € ðB ÑÐÐØŸ™Ø˜	¨ð (ð 
ˆö !Ø�{Ð#Ü�	Š	�&Õr9   c           
      óÄ  • Uc  SnSnSnO$UR                   nUR                  nUR                  nUR                  S5      S   nSn	Sn
U(       aX  UR                  bK  [        UR                  [        5      (       a,  [        UR                  [        5      nUR                  US5      n	[        [        0 [         Vs0 s H  oÌS_M     snEUSUUSS.E5      nU	(       a  U	nOfU(       aL  [        U5      (       d
   SUS	   -  nOES[        U5      -   nUR                  (       a  USUR                  -   -  nO[        U5      nUc  SnOUnX®-   nSn[!        US-
  S-  5      nU(       a  SUS'   O%U(       a  SUS'   O[#        U5      R$                  US'    UR&                  n[        U5      US'   X@R(                  :¼  az   [        U5      nU(       db  [+        U5      U:”  aS  USU S-   UU* S -   nSS[+        SR-                  5       5      -  -   R/                  S UR                  S5       5       5      nUUS'   U(       a  X}S'    [        [+        U5      5      US'   Sn[3        U5      nUc  SnO?UR5                  S5      (       a  SnOUR5                  S5      (       a  Sn[7        U5      US'   U(       aU  [8        R:                  " 5          [=        U[>        5      (       d  U(       d#  [A        X5      nUb  URC                  5       nUUS '   U(       a*  U RE                  UR                  S 5      U5      (       d  XíS!'   [F        RH                  " U5      (       aØ  SUS"'    U RK                  X5      n URN                  nUc   U RK                  UU5      n[        U5      nU[P        :X  a  SnU(       a  UUS#'   U(       a  UUS$'   ["        RS                  U5       Vs/ s H  nUR$                  PM     nn[+        U5      S%:  a  S&R/                  U5      nOS&R/                  USS% S'/-   5      nUUS('   U$ U RK                  X5      nU(       a  UUS)'   U(       a6   [        US*5      n[        U5      nU[T        ;   a  SnU(       a  UU:w  a  UUS+'    [        URN                  5      nU[P        :X  a  SnU(       a  UUS$'   [W        US,5      (       az  [Y        U5      (       dj  U RK                  URZ                  U5      n U (       a  U UR                  S)5      :w  a  U US-'   [        URZ                  5      n!U![\        :X  a  Sn!U!(       a  U!US.'   U$ s  snf !   S
[        U5      -   n GN= f!    GN³= f!    GN2= f! [0         a     GNf = f! [0         a     GN‚f = f! [L         a    Sn GN2f = f! [L         a     GN f = f! [L         a    Sn GNf = fs  snf !   Sn GNi= f! [L         a    Sn GN;f = f)/aû  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` (see `InfoDict`).
NFrŽ   Ú.éÿÿÿÿT)rY   r(   r'   r&   rW   z!Alias to the system command:
  %sr§   zAlias: z	Alias to z
Docstring:
z<no docstring>éÈ   é   r-   zMagic functionrJ   zSystem aliasrK   z <...> r�   rÞ   rL   c              3   ó@   #   • U  H  oR                  5       v •  M     g 7frÆ   )r  )r  Úqs     r6   r  Ú!Inspector.info.<locals>.<genexpr>·  s   é € ð OÚ+; aŸ™Ÿ	˜	Ò+;ùs   ‚r)   rM   rr   z<string>z9Dynamically generated function. No source code available.rN   rQ   rP   rX   rR   rT   é
   ú, z...rW   rO   r—   rS   rì   rU   rV   )/r&   r'   r)   Úsplitr*   rî   Ú	HOOK_NAMEr3   r7   r   rH   r\   rÌ   rA   rf   rƒ   rg   Útyper;   r—   r¶   r  Ú
expandtabsr’   r‡   rt   ru   r   rö   r÷   r„   r�   r”   ÚrstripÚ_source_contains_docstringr…   rX   rÎ   r]   rÀ   Ú_object_init_docstringÚ__subclasses__Ú_builtin_type_docstringsr   r¤   rì   Ú_func_call_docstring)"r4   r+   r™   rb   rd   r&   r'   ÚospaceÚatt_nameÚparents_docsÚpreludeÚparents_docs_dictr5   r½   rˆ   Ú
ds_or_NoneÚ
string_maxÚshalfÚbclassÚostrÚbinary_filer­   rŸ   Úinit_defÚobj_initrñ   ÚsubÚnamesÚ	all_namesÚdeflnÚclsÚclass_dsrU   rò   s"                                     r6   rb   ÚInspector.infoV  sé  € ð( ‰<ØˆGØˆGØ‰Fà—l‘lˆGØ—l‘lˆGØ—^‘^ˆFð —;‘;˜sÓ# BÑ'ˆØˆØˆÞ�D—K‘KÑ+´¸¿¹ÄY×0OÑ0OÜ '¨¯©´YÓ ?ÐØ,×0Ñ0°¸4Ó@ˆLÜÜð	Ý,8Ó9ªL 5˜$’;©LÑ9ð	ð "Ø!Ø&Ø&Ø"&ñð	ó
ˆö Ø‰BÞÜ˜C—=‘=ð.Ø=ÀÀAÁÑF‘Bð !¤3 s£8Ñ+�Ø—;—;ØÐ*¨S¯[©[Ñ8Ñ8�Bøä ›ˆJØÑ!Ø%‘à�à‰\ˆð ˆ
Ü�Z !‘^ qÑ(Ó)ˆæØ/ˆC�ÒÞØ-ˆC�Òä# C›y×1Ñ1ˆC�Ñð	Ø—]‘]ˆFÜ # F£ˆC�Ñð
 ×0Ñ0Ó0ðÜ˜3“x�Þ#¬¨D«	°JÓ(>Ø  ˜<¨)Ñ3°d¸E¸6¸7°mÑC�Dð ! 3¬¨]×-EÑ-EÓ-GÓ)HÑ#HÑH×NÑNñ OØ+/¯:©:°dÔ+;óOó �Dð &*��MÑ"ö Ø%�Ñð	Ü¤ C£›MˆC�‰Mð
 ˆÜ˜#“ˆØ‰=ð ‰Kà�~‰~Ð5×6Ñ6Ø"‘Ø—‘ 
×+Ñ+ØS�Ü'¨Ó.ˆC�‰Kö ô × Ò Ô"ðÜ˜c¤8×,Ñ,¶KÜ# CÓ/�CØ‘Ø!Ÿj™j›l˜Ø$'�C˜‘Mö �d×5Ñ5°c·g±g¸hÓ6GÈ×LÑLØ!�Ñô �?Š?˜3×ÑØ!ˆC�	‰Nð ØŸ<™<¨Ó3�ð
#ØŸ<™<�ð Ñ#ðØ#'§<¡<°¸%Ó#@˜ô ! Ó*�àÔ4Ó4Ø"�GæØ)1�Ð%Ñ&æØ(/�Ð$Ñ%ä-1×-@Ñ-@ÀÔ-EÓFÒ-E c�S—\”\Ñ-EˆEÐFÜ�5‹z˜B‹Ø ŸI™I eÓ,‘	à ŸI™I e¨C¨R j°%°Ñ&8Ó9�	Ø )ˆC�Ñðd ˆ
ð] —L‘L Ó,ˆEÞØ$)��LÑ!ö ð+Ü! # kÓ2�Cô  & c›{�HàÔ7Ó7Ø#�HÞ  h£Ø-5�CÐ)Ñ*ðÜ  §¡Ó.�àÔ4Ó4Ø"�Gö Ø(/�Ð$Ñ%ô ˜C ×,Ñ,Ô5GÈ×5LÑ5LØŸ<™<¨¯©°eÓ<�Þ ¨S¯W©W°\Ó-BÓ!Bð '/�C˜
‘OÜ  §¡Ó.�àÔ2Ó2Ø"�GÞØ,3�CÐ(Ñ)àˆ
ùòI :øð".Ø"¤S¨£XÑ-“Bûð:	ÚûðÚûô ó 	Úð	ûô: ó Úðûô "ó  Ø“ð ûô *ó Úðûô "ó Ø“ðüò* Gøð($Ø#“Hûô "ó Ø“ðús©   Â9T<Ã7U ÆU Æ9A9U È>U' Ë?U8 ÍV	 Í'V- Í7V ÏW ÑW Ò!W ÕUÕUÕU$Õ'
U5Õ4U5Õ8
VÖVÖ	VÖVÖ
V*Ö)V*Ö-V=Ö<V=×W×W×Wc                 ó¬   •  [         R                  " [        U 5      5      R                  u  n[         R                  " U5      U:H  $ ! [
         a     gf = f)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_docstringr‡   )rŸ   ÚdocÚdef_nodes      r6   r[  Ú$Inspector._source_contains_docstringC  sK   € ð	ÜŸ)š)¤F¨3£KÓ0×5Ñ5‰KˆXÜ×$Ò$ XÓ.°#Ñ5Ð5øÜó 	ñ ð		ús   ‚AA Á
AÁAF)Ú
list_typesc          	      óˆ  • SnSnU(       a3  [         R                   " SR                  [        [        5      5      5        gUR	                  5       n	[        U	5      n
U
S:X  a  U	S   nOU
S:X  a  U	u  p‡O[        SU-  5      eU H)  nX²;  d  M
  [        S	U< S
UR                  5       < 35      e   [        5       [        5       pÜU HN  nX.   n[        U5      U;   a  M  UR                  [        U5      5        [        X÷UXES9nUR                  U5        MP     [         R                   " SR                  [        U5      5      5        g)aB  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.
ÚallrŽ   r�   Nr§   r   r-   z)invalid argument string for psearch: <%s>zinvalid namespace <z>. Valid names: )Úignore_caseÚshow_all)r   r’   Úsortedr   rV  r  Ú
ValueErrorr×   ÚsetÚidÚaddr   rl   )r4   ÚpatternÚns_tableÚ	ns_searchr~  r  r{  Útype_patternÚfilterÚcmdsÚlen_cmdsrY   Úsearch_resultÚnamespaces_seenÚns_nameÚnsÚtmp_ress                    r6   ÚpsearchÚInspector.psearchT  s(  € ð4 ˆØˆö Ü�IŠI�d—i‘i¤¤|Ó 4Ó5Ô6Øà�}‰}‹ˆÜ˜“YˆØ�q‹=à˜!‘W‰FØ˜‹]à"&ÑˆF�<äÐHØ$ñ%ó &ð &ó ˆDØÕ#Ý Û"& x§}¡}¥ð"8ó 9ð 9ñ ô *-«´³�Û ˆGØÑ"ˆBä�"‹v˜Ó(ÙØ×Ñ¤ 2£Ô'Ü$ R°vØ0;ñPˆGà× Ñ  Ö)ñ !ô 	�	Š	�$—)‘)œF =Ó1Ó2Õ3r9   )rµ   rÂ   r¶   ©rŽ   )rŽ   NrÆ   )rŽ   NNr   r:   )rŽ   NNr   Tr:   )rŽ   Nr   )-r;   r<   r=   r>   Ú	traitletsr   Útagr:  rA   r@   rÀ   rÇ   r   rÎ   ræ   rÃ   rÛ   rã   ré   r   ró   rø   rý   rk   r  r!   r"   r  r   r$  r7  r	   r
   r$   rg   r   rE  rJ  rH   rb   Ústaticmethodr[  r‘  rB   Ú__classcell__)r—   s   @r6   r   r   ƒ  sþ  ø‡ Ø—’ØØZñ÷ 
�c�€cÐð ð
 Óð ØØò(ð ÷(ð (ò*3ñ
 e¨C°¨H¡oõ 
ðT˜ð T ô Tð& 3ô &ð	,¨ô 	,òô7ð, ó6(ó ð6(ôp(ôgñ2 3 ð  3¸õ  3ðD$Ð"3ð $¸ô $ðLNà!ðNð ðNð ð	Nð ˜C‘yôNð$Là	ôLðd ØØ $ØØ57ñ?(àð?(ð ð?(ð
 �u‰oð?(ð ð?(ð ˜T #™Y¨¨b©	Ð1Ñ2ð?(ð 
õ?(ðH ØØ $ØØØñ'ð
 �u‰oõ'ñRkÀõ kðZ ñó ðð  13Ø!¨5ð@4Ø@E÷@4ô @4r9   c                 ó–  • / nSnSnU R                   R                  5        HÏ  nUR                  [        R                  R
                  :X  a  SnOU(       a  UR                  S5        SnUR                  [        R                  R                  :X  a  SnOBUR                  [        R                  R                  :X  a  U(       a  UR                  S5        SnUR                  [        U5      5        MÑ     U(       a  UR                  S5        [        U5      [        S U 5       5      -   S:”  a)  SR                  USR                  S	 U 5       5      5      nO!S
R                  USR                  U5      5      nU R                  [        R                  La4  [        R                   " U R                  5      nUSR                  U5      -  nU$ )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   ó>   #   • U  H  n[        U5      S -   v •  M     g7f)r-   Nr  ©r  Úrs     r6   r  Ú$_render_signature.<locals>.<genexpr>³  s   é € Ð6ªv¨!œ3˜q›6 Až:ªvùs   ‚éK   z{}(
{})rŽ   c              3   óD   #   • U  H  nS R                  U5      v •  M     g7f)z    {},
N)rÇ   rœ  s     r6   r  rž  µ  s!   é € ð 73Ú+1 aˆK×Ñ˜q×!Ð!ª6ùs   ‚ z{}({})rU  z -> {})r<  r=  Úkindr…   r?  ÚPOSITIONAL_ONLYr‘   ÚVAR_POSITIONALÚKEYWORD_ONLYrA   r  ÚsumrÇ   r’   Úreturn_annotationÚ_emptyÚformatannotation)Úobj_signatureÚobj_nameÚresultÚpos_onlyÚkw_onlyÚparamÚrenderedÚannos           r6   rÍ   rÍ   —  si  € ð €FØ€HØ€GØ×)Ñ)×0Ñ0Ö2ˆØ�:‰:œ×*Ñ*×:Ñ:Ó:Ø‰HÞØ�M‰M˜#ÔØˆHà�:‰:œ×*Ñ*×9Ñ9Ó9Ø‰GØ�Z‰Zœ7×,Ñ,×9Ñ9Ó9¾gØ�M‰M˜#ÔØˆGà�‰”c˜%“jÖ!ñ 3ö Ø�‰�cÔô ˆ8ƒ}”sÑ6©vÓ6Ó6Ñ6¸Ó;à×$Ñ$ X¨r¯w©wñ 73Ù+1ó73ó 03ó 
‰ð —?‘? 8¨T¯Y©Y°vÓ->Ó?ˆà×&Ñ&¬g¯n©nÒ<Ü×'Ò'¨×(GÑ(GÓHˆØ�H—O‘O DÓ)Ñ)ˆà€Or9   r“  )arf   Ú__all__Údataclassesr   r…   r   Útextwrapr   ru  r  Úiory   rö   rv   Útypesr0   Úpygments.tokenr   Útypingr   r	   r
   r   r   r   r   r   r   r”  Útraitlets.configr   Ú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.decoratorsr   Úpygmentsr   Úpygments.lexersr   Úpygments.formattersr   rW  rA   r!   r@   r"   r$   rF   ÚFunctionTyperì   r_  ÚobjectrÀ   r\  Ú
ModuleTypeÚ
MethodTyper�   rƒ   r^  rX  r}  r¢   Úupperr£   rH   rh   r×   r\   r^   r`   r?   rp   r�   r”   r¤   r•   rt   r±   Ú	_sentinelr   rÍ   )Úts   0r6   Ú<module>rÌ     st  ðòð ˆ-€õ "Ý Ý Û 
Û Û Û Û Û 	Û Û Ý  ÷
÷ 
õ 
ó Ý )õ Ý %Ý 4ß ,Ý +Ý ,Ý %ß ?Ý *å Ý 'Ý -à'€	ð  $ C¨¨e°C¸°H©oÑ)>Ð$>Ñ?Ð �9Ó ?Ø˜˜c˜‘N€ˆ	Ó "ð ÷$ð $ó ð$ò4Ið ×)Ñ)×2Ñ2×:Ñ:Ð ØŸ™×0Ñ0Ð à %× 0Ñ 0°%×2BÑ2BØ %× 2Ñ 2°Hñ >óò >˜!€G‡N�N�1Öñ  >ñÐ ñ
 ˜#“YÐ Ù˜#Ÿ)™)“_Ð ôˆyô ñ2 �H×,Ñ,×1Ñ1Ó3Ó4€ò	Kð ÷ð ó ðð ð
 ØØò à
ð ð ð ð ð	 ð
 ð ð ð ð ô ó ð ò*ð0�5˜˜d˜Ñ#ô ñ*;  c¨$ h¡õ ;ò|Xò
ð$ �h˜s‘mô  òFñ@ ‹H€	ôQ4�ô Q4ðh(°#õ (ùòi!s   Ä;H