Ë
    ªeh [  ã                   óþ   — d 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 ddlZddlZd„ Z G d„ d«      Z G d	„ d
e«      Z edg d¢«      Z G d„ de«      Zdd„Zd„ Zdd„Z G d„ de«      Z G d„ de«      Zy)aK  Extract reference documentation from the NumPy source tree.

Copyright (C) 2008 Stefan van der Walt <stefan@mentat.za.net>, Pauli Virtanen <pav@iki.fi>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

é    N)Úwarn)Ú
namedtuple)ÚCallableÚMappingc                 ó¾   — | r,| d   j                  «       s| d= | r| d   j                  «       sŒ| r,| d   j                  «       s| d= | r| d   j                  «       sŒ| S )z<Remove leading and trailing blank lines from a list of linesr   éÿÿÿÿ©Ústrip)Úls    úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/seaborn/external/docscrape.pyÚstrip_blank_linesr   (   sU   € á
�A�a‘D—J‘J”LØˆaˆDñ �A�a‘D—J‘J•Lá
�A�b‘E—K‘K”MØˆbˆEñ �A�b‘E—K‘K•Mà€Hó    c                   óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zdd„Zd„ Zy)ÚReaderz!A line-based string reader.

    c                 ó€   — t        |t        «      r|| _        n|j                  d«      | _        | j	                  «        y)zr
        Parameters
        ----------
        data : str
           String with lines separated by '
'.

        ú
N)Ú
isinstanceÚlistÚ_strÚsplitÚreset)ÚselfÚdatas     r   Ú__init__zReader.__init__5   s.   € ô �dœDÔ!ØˆD�IàŸ
™
 4Ó(ˆDŒIà�
‰
�r   c                 ó    — | j                   |   S ©N)r   ©r   Úns     r   Ú__getitem__zReader.__getitem__D   s   € Ø�y‰y˜‰|Ðr   c                 ó   — d| _         y )Nr   )Ú_l©r   s    r   r   zReader.resetG   s	   € Øˆ�r   c                 óp   — | j                  «       s&| | j                     }| xj                  dz  c_        |S y)Né   Ú )Úeofr!   )r   Úouts     r   ÚreadzReader.readJ   s-   € Ø�x‰xŒzØ�t—w‘w‘-ˆCØ�GŠG�q‰L�GØˆJàr   c                 óz   — | | j                   d  D ])  }|j                  «       r y | xj                   dz  c_         Œ+ y ©Nr$   )r!   r
   )r   r   s     r   Úseek_next_non_empty_linezReader.seek_next_non_empty_lineR   s4   € Ø�d—g‘g�h�ò 	ˆAØ�w‰wŒyÙà—’˜1‘–ñ		r   c                 óF   — | j                   t        | j                  «      k\  S r   ©r!   Úlenr   r"   s    r   r&   z
Reader.eofY   s   € Ø�w‰wœ#˜dŸi™i›.Ñ(Ð(r   c                 óÖ   — | j                   }| |d  D ]T  } ||«      r| || j                    c S | xj                   dz  c_         | j                  «       sŒB| || j                   dz    c S  g S r*   )r!   r&   )r   Úcondition_funcÚstartÚlines       r   Úread_to_conditionzReader.read_to_condition\   sk   € Ø—‘ˆØ˜˜�Lò 	-ˆDÙ˜dÔ#Ø˜E $§'¡'Ð*Ò*Ø�GŠG�q‰L�GØ�x‰x�zØ˜E $§'¡'¨!¡)Ð,Ò,ð	-ð ˆ	r   c                 óJ   — | j                  «        d„ }| j                  |«      S )Nc                 ó$   — | j                  «        S r   r	   ©r2   s    r   Úis_emptyz0Reader.read_to_next_empty_line.<locals>.is_emptyi   s   € Ø—z‘z“|Ð#Ð#r   )r+   r3   )r   r7   s     r   Úread_to_next_empty_linezReader.read_to_next_empty_linef   s&   € Ø×%Ñ%Ô'ò	$ð ×%Ñ% hÓ/Ð/r   c                 ó*   — d„ }| j                  |«      S )Nc                 óp   — | j                  «       xr% t        | j                  «       «      t        | «      k(  S r   )r
   r.   Úlstripr6   s    r   Úis_unindentedz:Reader.read_to_next_unindented_line.<locals>.is_unindentedo   s'   € Ø—J‘J“LÒF¤c¨$¯+©+«-Ó&8¼CÀ»IÑ&EÐGr   )r3   )r   r<   s     r   Úread_to_next_unindented_linez#Reader.read_to_next_unindented_linen   s   € ò	Hà×%Ñ% mÓ4Ð4r   c                 ór   — | j                   |z   t        | j                  «      k  r| | j                   |z      S y©Nr%   r-   r   s     r   ÚpeekzReader.peeks   s0   € Ø�7‰7�Q‰;œ˜TŸY™Y›Ò'Ø˜Ÿ™ !™Ñ$Ð$àr   c                 óV   — dj                  | j                  «      j                  «        S r?   )Újoinr   r
   r"   s    r   r7   zReader.is_emptyy   s!   € Ø—7‘7˜4Ÿ9™9Ó%×+Ñ+Ó-Ð-Ð-r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r(   r+   r&   r3   r8   r=   r@   r7   © r   r   r   r   1   s>   „ ñòòòòòò)òò0ò5ó
ó.r   r   c                   ó   — e Zd Zd„ Zy)Ú
ParseErrorc                 ó^   — | j                   d   }t        | d«      r|› d| j                  ›�}|S )Nr   Ú	docstringú in )ÚargsÚhasattrrK   )r   Úmessages     r   Ú__str__zParseError.__str__~   s3   € Ø—)‘)˜A‘,ˆÜ�4˜Ô%Ø ˜	  d§n¡nÐ%7Ð8ˆGØˆr   N)rC   rD   rE   rP   rG   r   r   rI   rI   }   s   „ ór   rI   Ú	Parameter)ÚnameÚtypeÚdescc                   ó$  — e Zd ZdZi dd“ddg“dg “dg “dg “dg “d	g “d
g “dg “dg “dg “dg “dg “dg “dg “dd“dd“di i¥Zi fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ ZdAd„ZdZd Zd!Zd"ez   ez   d#z   ez   d$z   Zej'                  d%d&«      Zej'                  d'd(«      Zd)Z ej.                  d*ez   d+z   «      Z ej.                  d,ez   d-z   ez   d.z   d$z   d/z   ez   «      Zd0Zd1„ Zd2„ Zd3„ Zd4„ ZdBd5„ZdCd6„Z dDd7„Z!d8„ Z"d9„ Z#d:„ Z$d;„ Z%d<„ Z&d=„ Z'd>„ Z(dEd?„Z)y@)FÚNumpyDocStringzƒParses a numpydoc string to an abstract representation

    Instances define a mapping from section title to structured data.

    Ú	Signaturer%   ÚSummaryúExtended SummaryÚ
ParametersÚReturnsÚYieldsÚReceivesÚRaisesÚWarnsúOther ParametersÚ
AttributesÚMethodsúSee AlsoÚNotesÚWarningsÚ
ReferencesÚExamplesÚindexc                 ó  — |}t        j                  |«      j                  d«      }t        |«      | _        t        j                  | j                  «      | _        	 | j                  «        y # t        $ r}||_        ‚ d }~ww xY w©Nr   )ÚtextwrapÚdedentr   r   Ú_docÚcopyÚdeepcopyÚsectionsÚ_parsed_dataÚ_parserI   rK   )r   rK   ÚconfigÚorig_docstringÚes        r   r   zNumpyDocString.__init__¤   si   € Ø"ˆÜ—O‘O IÓ.×4Ñ4°TÓ:ˆ	ä˜9Ó%ˆŒ	Ü ŸM™M¨$¯-©-Ó8ˆÔð	Ø�K‰K�MøÜò 	Ø(ˆAŒKØûð	ús   ÁA- Á-	BÁ6A>Á>Bc                 ó    — | j                   |   S r   )rq   )r   Úkeys     r   r   zNumpyDocString.__getitem__±   s   € Ø× Ñ  Ñ%Ð%r   c                 ól   — || j                   vr| j                  d|› �d¬«       y || j                   |<   y )NzUnknown section F©Úerror)rq   Ú_error_location)r   rw   Úvals      r   Ú__setitem__zNumpyDocString.__setitem__´   s;   € Ø�d×'Ñ'Ñ'Ø× Ñ Ð#3°C°5Ð!9ÀÐ ÕGà%(ˆD×Ñ˜cÒ"r   c                 ó,   — t        | j                  «      S r   )Úiterrq   r"   s    r   Ú__iter__zNumpyDocString.__iter__º   s   € Ü�D×%Ñ%Ó&Ð&r   c                 ó,   — t        | j                  «      S r   )r.   rq   r"   s    r   Ú__len__zNumpyDocString.__len__½   s   € Ü�4×$Ñ$Ó%Ð%r   c                 óª  — | j                   j                  «        | j                   j                  «       ry| j                   j                  «       j	                  «       }|j                  d«      ry| j                   j                  d«      j	                  «       }|j                  dt        |«      z  «      xs |j                  dt        |«      z  «      S )NFú
.. index::Tr$   ú-ú=)rm   r+   r&   r@   r
   Ú
startswithr.   )r   Úl1Úl2s      r   Ú_is_at_sectionzNumpyDocString._is_at_sectionÀ   s’   € Ø�	‰	×*Ñ*Ô,à�9‰9�=‰=Œ?Øà�Y‰Y�^‰^Ó×#Ñ#Ó%ˆà�=‰=˜Ô&Øà�Y‰Y�^‰^˜AÓ×$Ñ$Ó&ˆØ�}‰}˜S¤ R£™[Ó)ÒG¨R¯]©]¸3¼sÀ2»w¹;Ó-GÐGr   c                 óÌ   — d}d}t        |«      D ]  \  }}|j                  «       sŒ n t        |d d d…   «      D ]  \  }}|j                  «       sŒ n ||t        |«      |z
   S )Nr   r   )Ú	enumerater
   r.   )r   ÚdocÚiÚjr2   s        r   Ú_stripzNumpyDocString._stripÎ   st   € ØˆØˆÜ  “~ò 	‰GˆAˆtØ�z‰z�|Ùð	ô ! ¡T r T¡Ó+ò 	‰GˆAˆtØ�z‰z�|Ùð	ð �1”S˜“X˜a‘ZÐ Ð r   c                 ó|  — | j                   j                  «       }| j                  «       s‘| j                   j                  «       sw| j                   j	                  d«      j                  «       s|dgz  }|| j                   j                  «       z  }| j                  «       s| j                   j                  «       sŒw|S )Nr   r%   )rm   r8   rŠ   r&   r@   r
   )r   Úsections     r   Ú_read_to_next_sectionz$NumpyDocString._read_to_next_sectionÛ   sˆ   € Ø—)‘)×3Ñ3Ó5ˆà×%Ñ%Ô'°·	±	·±´Ø—9‘9—>‘> "Ó%×+Ñ+Ô-Ø˜B˜4‘�à�t—y‘y×8Ñ8Ó:Ñ:ˆGð	 ×%Ñ%Ô'°·	±	·±µð ˆr   c              #   óR  K  — | j                   j                  «       s‰| j                  «       }|d   j                  «       }|j	                  d«      r
||dd  f–— n/t        |«      dk  r	t        –— n|| j                  |dd  «      f–— | j                   j                  «       sŒˆy y ­w)Nr   ú..r$   é   )rm   r&   r“   r
   r‡   r.   ÚStopIterationr�   )r   r   rR   s      r   Ú_read_sectionszNumpyDocString._read_sectionsæ   s†   è ø€ Ø—)‘)—-‘-”/Ø×-Ñ-Ó/ˆDØ˜‘7—=‘=“?ˆDà�‰˜tÔ$Ø˜D  ˜H�nÓ$Ü�T“˜Q’Ü#Ó#à˜DŸK™K¨¨Q¨R¨Ó1Ð1Ò1ð —)‘)—-‘-—/ùs   ‚B"B'Â%B'c                 óp  — t        |«      }g }|j                  «       s˜|j                  «       j                  «       }d|v r|j	                  d«      d d \  }}n|rd|}}n|d}}|j                  «       }t        |«      }t        |«      }|j                  t        |||«      «       |j                  «       sŒ˜|S )Nú : r–   r%   )
r   r&   r(   r
   r   r=   Údedent_linesr   ÚappendrQ   )	r   ÚcontentÚsingle_element_is_typeÚrÚparamsÚheaderÚarg_nameÚarg_typerT   s	            r   Ú_parse_param_listz NumpyDocString._parse_param_listò   sª   € Ü�7‹OˆØˆØ—%‘%”'Ø—V‘V“X—^‘^Ó%ˆFØ˜‰Ø%+§\¡\°%Ó%8¸¸!Ð%<Ñ"�™(á)Ø)+¨V˜h‘Hà)/°˜h�Hà×1Ñ1Ó3ˆDÜ Ó%ˆDÜ$ TÓ*ˆDà�M‰Mœ) H¨h¸Ó=Ô>ð —%‘%•'ð  ˆr   z:(?P<role>\w+):z'`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_\.-]+)`z(?P<name2>[a-zA-Z0-9_\.-]+)ú(ú|ú)ÚroleÚrolenextrR   Únamenextz/(?P<description>\s*:(\s+(?P<desc>\S+.*))?)?\s*$z^\s*z\s*z^\s*(?P<allfuncs>z(?P<morefuncs>([,]\s+z)*)z(?P<trailing>[,\.])?r•   c                 óä  ‡ — g }ˆ fd„}g }|D �]_  }|j                  «       sŒ‰ j                  j                  |«      }d}|rK|j                  d«      }|j                  d«      r)|r'‰ j	                  d|j                  d«      |fz  d¬«       |s1|j                  d«      r |j                  |j                  «       «       Œ²|r g }|j                  d	«      }		 |	j                  «       snP ||	«      \  }
}}|j                  |
|f«       |	|d j                  «       }	|	r|	d
   dk(  r|	dd j                  «       }	Œat        t        d|g«      «      }|j                  ||f«       �ŒTt        |› d�«      ‚ |S )zµ
        func_name : Descriptive text
            continued text
        another_func_name : Descriptive text
        func_name1, func_name2, :meth:`func_name`, func_name3

        c                 óê   •— ‰j                   j                  | «      }|st        | › d�«      ‚|j                  d«      }|r|j                  d«      n|j                  d«      }|||j	                  «       fS )zMatch ':role:`name`' or 'name'.ú is not a item namer¨   rR   Úname2)Ú	_func_rgxÚmatchrI   ÚgroupÚend)ÚtextÚmr¨   rR   r   s       €r   Úparse_item_namez7NumpyDocString._parse_see_also.<locals>.parse_item_name6  sg   ø€ à—‘×$Ñ$ TÓ*ˆAÙÜ  D 6Ð)<Ð!=Ó>Ð>Ø—7‘7˜6“?ˆDÙ&*�1—7‘7˜6”?°·±¸Ó0@ˆDØ˜˜qŸu™u›wÐ&Ð&r   NrT   ÚtrailingzGUnexpected comma or period after function list at index %d of line "%s"Fry   ú Úallfuncsr   ú,r$   r­   )r
   Ú	_line_rgxr°   r±   r{   r²   r‡   rœ   r   ÚfilterrI   )r   r�   Úitemsrµ   Úrestr2   Ú
line_matchÚdescriptionÚfuncsr³   rR   r¨   Ú	match_ends   `            r   Ú_parse_see_alsozNumpyDocString._parse_see_also+  s�  ø€ ð ˆô	'ð ˆØó 	?ˆDØ—:‘:”<ØàŸ™×-Ñ-¨dÓ3ˆJØˆKÙØ(×.Ñ.¨vÓ6�Ø×#Ñ# JÔ/±KØ×(Ñ(ð$Ø'1§~¡~°jÓ'AÀ4Ð&HñIà#ð )ô %ñ  4§?¡?°3Ô#7Ø—‘˜DŸJ™J›LÕ)ÙØ�Ø!×'Ñ'¨
Ó3�ØØŸ:™:œ<ØÙ,;¸DÓ,AÑ)�D˜$ 	Ø—L‘L $¨ Ô.Ø 	 
Ð+×1Ñ1Ó3�DÙ  Q¡¨3¢Ø# A B˜xŸ~™~Ó/˜ð ô œF 4¨+¨Ó7Ó8�Ø—‘˜e T˜]Ö+ä  D 6Ð)<Ð!=Ó>Ð>ð;	?ð< ˆr   c                 ó  — d„ }i }|j                  d«      }t        |«      dkD  r  ||d   j                  d«      «      d   |d<   |D ]B  }|j                  d«      }t        |«      dkD  sŒ# ||d   j                  d«      «      ||d   <   ŒD |S )	zT
        .. index: default
           :refguide: something, else, and more

        c                 óH   — | D �cg c]  }|j                  «       ‘Œ c}S c c}w r   r	   )ÚlstÚss     r   Ústrip_each_inz2NumpyDocString._parse_index.<locals>.strip_each_inf  s   € Ø'*Ö+ !�A—G‘G•IÒ+Ð+ùÒ+s   …z::r$   r¹   r   Údefaultú:r–   )r   r.   )r   r’   r�   rÇ   r'   r2   s         r   Ú_parse_indexzNumpyDocString._parse_index`  s™   € ò	,ð ˆØ—-‘- Ó%ˆÜˆw‹<˜!ÒÙ*¨7°1©:×+;Ñ+;¸CÓ+@ÓAÀ!ÑDˆC�	‰NØò 	AˆDØ—:‘:˜c“?ˆDÜ�4‹y˜1‹}Ù,¨T°!©W¯]©]¸3Ó-?Ó@��D˜‘G’ð	Að ˆ
r   c                 ó¬  — | j                  «       ry	 | j                  j                  «       }dj                  |D �cg c]  }|j	                  «       ‘Œ c}«      j	                  «       }t        j                  d«      }|j                  |«      r|| d<   | j                  «       sŒ’	 |�|| d<   | j                  «       s| j                  «       | d<   yyc c}w )z%Grab signature (if given) and summaryNr·   z^([\w., ]+=)?\s*[\w\.]+\(.*\)$rW   rX   rY   )	rŠ   rm   r8   rB   r
   ÚreÚcompiler°   r“   )r   ÚsummaryrÆ   Úsummary_strÚcompileds        r   Ú_parse_summaryzNumpyDocString._parse_summarys  sÁ   € à×ÑÔ Øð Ø—i‘i×7Ñ7Ó9ˆGØŸ(™(°wÖ#?°! A§G¡G¥IÒ#?Ó@×FÑFÓHˆKÜ—z‘zÐ"CÓDˆHØ�~‰~˜kÔ*Ø$/��[Ñ!Ø×*Ñ*Ô,ØØàÐØ%ˆD�‰Oà×"Ñ"Ô$Ø'+×'AÑ'AÓ'CˆDÐ#Ò$ð %ùò $@s   ¼Cc                 óÞ  — | j                   j                  «        | j                  «        t        | j	                  «       «      }|D ��ch c]  \  }}|’Œ	 }}}d|v }d|v }|r|rd}t        |«      ‚|sd|v rd}t        |«      ‚|D ]ß  \  }}|j                  d«      sOd„ |j                  d«      D «       }dj                  |«      }| j                  |«      r| j                  d	|› d
�«       |dv r| j                  |«      | |<   Œ|dv r| j                  |d¬«      | |<   Œš|j                  d«      r| j                  ||«      | d<   ŒÁ|dk(  r| j                  |«      | d<   ŒÛ|| |<   Œá y c c}}w )Nr[   r\   z5Docstring contains both a Returns and Yields section.r]   z5Docstring contains a Receives section but not Yields.r•   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr   )Ú
capitalize)Ú.0rÆ   s     r   ú	<genexpr>z(NumpyDocString._parse.<locals>.<genexpr>œ  s   è ø€ ÒF¨a˜1Ÿ<™<Ÿ>ÑFùs   ‚r·   zThe section z appears twice)rZ   r`   ra   rb   )r[   r\   r^   r_   r]   T)rž   r„   rh   rc   )rm   r   rÑ   r   r˜   Ú
ValueErrorr‡   r   rB   Úgetr{   r¤   rÊ   rÂ   )r   rp   r’   r�   Úsection_namesÚhas_returnsÚ
has_yieldsÚmsgs           r   rr   zNumpyDocString._parse‰  s†  € Ø�	‰	�‰ÔØ×ÑÔä˜×+Ñ+Ó-Ó.ˆØ9A×BÑ%5 W¨gšÐBˆÑBà =Ð0ˆØ Ð.ˆ
á™:ØIˆCÜ˜S“/Ð!Ù˜j¨MÑ9ØIˆCÜ˜S“/Ð!à"*ò 	(ÑˆW�gØ×%Ñ% dÔ+ÙF°7·=±=ÀÓ3EÔF�ØŸ(™( 7Ó+�Ø—8‘8˜GÔ$Ø×(Ñ(¨<¸°yÀÐ)OÔPàð &ñ &à $× 6Ñ 6°wÓ ?��W’ØÐPÑPØ $× 6Ñ 6Ø°Dð !7ó !:��W’à×#Ñ# LÔ1Ø $× 1Ñ 1°'¸7Ó C��W’Ø˜JÒ&Ø#'×#7Ñ#7¸Ó#@��ZÒ à '��W’ñ%	(ùó Cs   Á	E)c                 óÚ   — t        | d«      r6	 t        j                  | j                  «      }|d| j                  › d|› d�z   }|rt        |«      ‚t        |«       y # t        $ r d }Y Œ<w xY w)NÚ_objz in the docstring of rL   ú.)rN   ÚinspectÚgetsourcefilerÞ   Ú	TypeErrorr×   r   )r   rÜ   rz   Úfilenames       r   r{   zNumpyDocString._error_location®  so   € Ü�4˜Ô ð Ü"×0Ñ0°·±Ó;�ð Ð/°·	±	¨{¸$¸x¸jÈÐJÑJˆCÙÜ˜S“/Ð!ä��Iøô ò  Ø’ð ús   ŽA ÁA*Á)A*c                 ó"   — |t        |«      |z  gS r   ©r.   )r   rR   Úsymbols      r   Ú_str_headerzNumpyDocString._str_header½  s   € Ø”c˜$“i Ñ&Ð'Ð'r   c                 ó0   — g }|D ]  }|d|z  |z   gz  }Œ |S )Nr·   rG   )r   r�   Úindentr'   r2   s        r   Ú_str_indentzNumpyDocString._str_indentÀ  s1   € ØˆØò 	'ˆDØ�C˜‘J Ñ%Ð&Ñ&‰Cð	'àˆ
r   c                 óF   — | d   r| d   j                  dd«      gdgz   S dgS )NrW   Ú*z\*r%   )Úreplacer"   s    r   Ú_str_signaturezNumpyDocString._str_signatureÆ  s3   € Ø�ÒØ˜Ñ%×-Ñ-¨c°5Ó9Ð:¸b¸TÑAÐAà�4ˆKr   c                 ó"   — | d   r	| d   dgz   S g S )NrX   r%   rG   r"   s    r   Ú_str_summaryzNumpyDocString._str_summaryÌ  s   € Ø�	Š?Ø˜	‘? b TÑ)Ð)àˆIr   c                 ó"   — | d   r	| d   dgz   S g S )NrY   r%   rG   r"   s    r   Ú_str_extended_summaryz$NumpyDocString._str_extended_summaryÒ  s#   € ØÐ"Ò#ØÐ*Ñ+¨r¨dÑ2Ð2àˆIr   c                 óÐ  — g }| |   rÞ|| j                  |«      z  }| |   D ]¼  }g }|j                  r|j                  |j                  «       |j                  r|j                  |j                  «       |dj	                  |«      gz  }|j
                  sŒudj	                  |j
                  «      j                  «       sŒŸ|| j                  |j
                  «      z  }Œ¾ |dgz  }|S )Nrš   r%   )rç   rR   rœ   rS   rB   rT   r
   rê   )r   rR   r'   ÚparamÚpartss        r   Ú_str_param_listzNumpyDocString._str_param_listØ  sÉ   € ØˆØ�Š:Ø�4×#Ñ# DÓ)Ñ)ˆCØ˜d™ò 8�Ø�Ø—:’:Ø—L‘L §¡Ô,Ø—:’:Ø—L‘L §¡Ô,Ø˜Ÿ
™
 5Ó)Ð*Ñ*�Ø—:“: "§'¡'¨%¯*©*Ó"5×";Ñ";Õ"=Ø˜4×+Ñ+¨E¯J©JÓ7Ñ7‘Cð8ð �B�4‰KˆCØˆ
r   c                 óX   — g }| |   r"|| j                  |«      z  }|| |   z  }|dgz  }|S r?   )rç   )r   rR   r'   s      r   Ú_str_sectionzNumpyDocString._str_sectionè  sA   € ØˆØ�Š:Ø�4×#Ñ# DÓ)Ñ)ˆCØ�4˜‘:ÑˆCØ�B�4‰KˆCØˆ
r   c                 óâ  — | d   sg S g }|| j                  d«      z  }|dgz  }d}| d   D ]³  \  }}t        |t        «      sJ ‚g }|D ]4  \  }}|r
d|› d|› d�}	n|r
d|› d|› d�}	nd|› d�}	|j                  |	«       Œ6 dj	                  |«      }	||	gz  }|r'|| j                  d	j	                  |«      g«      z  }d}Œ“d
}|| j                  | j                  g«      z  }Œµ |r|dgz  }|dgz  }|S )Nrc   r%   TrÉ   z:`ú`z`_ú, r·   F)rç   r   r   rœ   rB   rê   Úempty_description)
r   Ú	func_roler'   Úlast_had_descrÀ   rT   ÚlinksÚfuncr¨   Úlinks
             r   Ú_str_see_alsozNumpyDocString._str_see_alsoð  sH  € Ø�JÒØˆIØˆØˆt×Ñ 
Ó+Ñ+ˆØ�ˆt‰ˆØˆØ 
Ñ+ò 	B‰KˆE�4Ü˜e¤TÔ*Ð*Ð*ØˆEØ#ò #‘
��dÙØ˜t˜f B t f¨AÐ.‘DÙØ˜y˜k¨¨D¨6°Ð3‘Dà˜t˜f B˜<�DØ—‘˜TÕ"ð#ð —9‘9˜UÓ#ˆDØ�D�6‰MˆCÙØ�t×'Ñ'¨¯©°$«Ð(8Ó9Ñ9�Ø $‘à %�Ø�t×'Ñ'¨×)?Ñ)?Ð(@ÓAÑA‘ð%	Bñ( Ø�B�4‰KˆCØ�ˆt‰ˆØˆ
r   c                 óÒ   — | d   }g }d}|j                  dd«      }|rd}|d|› �gz  }|j                  «       D ](  \  }}|dk(  rŒd}|d|› dd	j                  |«      › �gz  }Œ* |r|S y)
Nrh   FrÈ   r%   Tz.. index:: z   :z: rû   )rØ   r¼   rB   )r   Úidxr'   Úoutput_indexÚdefault_indexr’   Ú
referencess          r   Ú
_str_indexzNumpyDocString._str_index  sœ   € Ø�7‰mˆØˆØˆØŸ™ 	¨2Ó.ˆÙØˆLØ�+˜m˜_Ð-Ð.Ñ.ˆØ#&§9¡9£;ò 	?ÑˆG�ZØ˜)Ò#ØØˆLØ�d˜7˜) 2 d§i¡i°
Ó&;Ð%<Ð=Ð>Ñ>‰Cð		?ñ
 ØˆJàr   c                 ó²  — g }|| j                  «       z  }|| j                  «       z  }|| j                  «       z  }dD ]  }|| j                  |«      z  }Œ || j	                  d«      z  }|| j                  |«      z  }dD ]  }|| j	                  |«      z  }Œ dD ]  }|| j                  |«      z  }Œ || j                  «       z  }dj                  |«      S )N)rZ   r[   r\   r]   r`   r^   r_   re   )rd   rf   rg   )ra   rb   r   )rî   rð   rò   rö   rø   r  r  rB   )r   rý   r'   Ú
param_listrÆ   s        r   rP   zNumpyDocString.__str__"  sú   € ØˆØˆt×"Ñ"Ó$Ñ$ˆØˆt× Ñ Ó"Ñ"ˆØˆt×)Ñ)Ó+Ñ+ˆðBò 	4ˆJà�4×'Ñ'¨
Ó3Ñ3‰Cð	4ð 	ˆt× Ñ  Ó,Ñ,ˆØˆt×!Ñ! )Ó,Ñ,ˆØ4ò 	(ˆAØ�4×$Ñ$ QÓ'Ñ'‰Cð	(à3ò 	4ˆJØ�4×'Ñ'¨
Ó3Ñ3‰Cð	4àˆt�‰Ó Ñ ˆØ�y‰y˜‹~Ðr   N)F)T©r…   ©é   )r%   )*rC   rD   rE   rF   rp   r   r   r}   r€   r‚   rŠ   r�   r“   r˜   r¤   Ú_roleÚ_funcbacktickÚ
_funcplainÚ	_funcnamerí   Ú_funcnamenextÚ_descriptionrÌ   rÍ   r¯   rº   rü   rÂ   rÊ   rÑ   rr   r{   rç   rê   rî   rð   rò   rö   rø   r  r  rP   rG   r   r   rV   rV   ˆ   s>  „ ñðØ�Rðà�B�4ðð 	˜Bðð 	�bð	ð
 	�2ðð 	�"ðð 	�Bðð 	�"ðð 	�ðð 	˜Bðð 	�bðð 	�2ðð 	�Bðð 	�ðð 	�Bðð  	�bð!ð" 	�Bð#ð$ 	�ñ%€Hð* *,ó ò&ò)ò'ò&òHò!ò	ò
2óðJ €EØ>€MØ/€JØ�u‘˜}Ñ,¨tÑ3°jÑ@À4ÑG€IØ×%Ñ% f¨jÓ9€MØ!×)Ñ)¨&°*Ó=€MØE€LØ�—
‘
˜7 YÑ.°Ñ7Ó8€IØ�—
‘
ð	àñ	ð 	!ñ	!ð $1ñ	1ð 4:ñ	:ð 	ñ		ð
 	 ñ	 ð 	ñ	ó€Ið Ðò3òjò&Dò,#(óJó(óòòòòò òò@ô$r   rV   c                 ól   ‡— d|z  Š| €‰S | j                  d«      }dj                  ˆfd„|D «       «      S )Nr·   r   c              3   ó(   •K  — | ]	  }‰|z   –— Œ y ­wr   rG   )rÕ   r   Ú
indent_strs     €r   rÖ   zindent.<locals>.<genexpr>9  s   øè ø€ Ò3¨�Z !•^Ñ3ùs   ƒ)r   rB   )Ústrré   Úlinesr  s      @r   ré   ré   4  s9   ø€ Ø�V‘€JØ
€{ØÐØ�I‰I�d‹O€EØ�9‰9Ó3¨UÔ3Ó3Ð3r   c                 óh   — t        j                  dj                  | «      «      j                  d«      S )z"Deindent a list of lines maximallyr   )rk   rl   rB   r   )r  s    r   r›   r›   <  s%   € ä�?‰?˜4Ÿ9™9 UÓ+Ó,×2Ñ2°4Ó8Ð8r   c                 ó0   — | dz   |t        | «      z  z   dz   S rj   rå   )r³   Ústyles     r   r¡   r¡   A  s   € Ø�$‰;˜œs 4›y™Ñ(¨4Ñ/Ð/r   c                   ó2   ‡ — e Zd Zddi fd„Zd„ Zˆ fd„Zˆ xZS )ÚFunctionDocr   Nc                 ó$  — || _         || _        |€&|€t        d«      ‚t        j                  |«      xs d}t
        j                  | ||«       | d   sB|�?| j                  «       \  }}	 	 t        t        j                  |«      «      }|› |› �}|| d<   y y y # t        t        f$ rV t        j                  d   dk\  rt        j                  |«      }nt        j                  |«      }t        j                  |Ž }Y Œrw xY w# t         $ r |› d�}Y Œ€w xY w)NzNo function or docstring givenr%   rW   r   é   z())Ú_fr  r×   rà   ÚgetdocrV   r   Úget_funcr  Ú	signatureÚAttributeErrorÚsysÚversion_infoÚgetfullargspecÚ
getargspecÚformatargspecrâ   )r   r   r¨   r�   rs   Ú	func_namer#  Úargspecs           r   r   zFunctionDoc.__init__F  s"  € ØˆŒØˆŒ
àˆ;Øˆ|Ü Ð!AÓBÐBÜ—.‘. Ó&Ò,¨"ˆCÜ×Ñ  c¨6Ô2à�KÒ  TÐ%5Ø"Ÿm™m›o‰OˆD�)ð-ð@Ü #¤G×$5Ñ$5°dÓ$;Ó <�Ið  )˜k¨)¨Ð5�	ð !*ˆD�Òð &6Ð øô
 '¬
Ð3ò @ä×'Ñ'¨Ñ*¨aÒ/Ü")×"8Ñ"8¸Ó">™ä")×"4Ñ"4°TÓ":˜Ü '× 5Ñ 5°wÐ ?’Ið@ûô ò -Ø(˜k¨Ð,’	ð-ús1   Á*B ÂC> ÂA"C;Ã8C> Ã:C;Ã;C> Ã>DÄDc                 ó  — t        | j                  d| j                  j                  «      }t	        j
                  | j                  «      r/t        | j                  d| j                  j                  «      }||fS | j                  }||fS )NrC   Ú__call__)Úgetattrr   Ú	__class__rC   rà   Úisclassr   )r   r*  r   s      r   r"  zFunctionDoc.get_funca  sk   € Ü˜DŸG™G Z°·±×1HÑ1HÓIˆ	Ü�?‰?˜4Ÿ7™7Ô#Ü˜4Ÿ7™7 J°·±×0@Ñ0@ÓAˆDð �YˆÐð —7‘7ˆDØ�YˆÐr   c                 ó&  •— d}| j                  «       \  }}dddœ}| j                  rL| j                  |vrt        d| j                  › �«       |d|j                  | j                  d«      › d|› d�z  }|t        ‰| �  | j                  ¬	«      z  }|S )
Nr%   ÚfunctionÚmethod)r   ÚmethzWarning: invalid role z.. z:: z
    

)rý   )r"  r  ÚprintrØ   ÚsuperrP   )r   r'   r   r*  Úrolesr/  s        €r   rP   zFunctionDoc.__str__i  s”   ø€ ØˆàŸ-™-›/‰ˆˆià#Ø!ñ#ˆð �:Š:Ø�z‰z Ñ&ÜÐ.¨t¯z©z¨lÐ;Ô<Ø�S˜Ÿ™ 4§:¡:¨rÓ2Ð3°3°y°kÀÐLÑLˆCàŒu‰w‰¨¯©ˆÓ4Ñ4ˆØˆ
r   )rC   rD   rE   r   r"  rP   Ú__classcell__)r/  s   @r   r  r  E  s   ø„ Ø"(¨d¸2ó *ò6÷ð r   r  c                   óH   — e Zd ZdgZddei fd„Zed„ «       Zed„ «       Zd„ Z	y)ÚClassDocr-  Nr%   c                 óZ  — t        j                  |«      s|�t        d|›�«      ‚|| _        dt        j
                  v rddlm} n
t        «       }|j                  dd«      | _
        |r|j                  d«      s|dz  }|| _        |€"|€t        d«      ‚t        j                  |«      }t        j!                  | |«       |j                  d	g «      }||u rd }|j                  d
g «      }|j                  dd«      r¡||urœd„ }	d| j"                  fd| j$                  ffD ]y  \  }
}| |
   rŒg }t'        |«      D ]Y  }||v s|r||vrŒ	 t        j                  t)        | j                  |«      «      }|j+                  t-        |d |	|«      «      «       Œ[ || |
<   Œ{ y y y # t.        $ r Y Œqw xY w)Nz"Expected a class or None, but got Úsphinxr   )ÚALLÚshow_inherited_class_membersTrß   z&No class or documentation string givenÚmemberszexclude-membersÚshow_class_membersc                 ó*   — | sg S | j                  «       S r   )Ú
splitlines)rÆ   s    r   Úsplitlines_xz'ClassDoc.__init__.<locals>.splitlines_x�  s   € ÙØ�IàŸ<™<›>Ð)r   rb   ra   r%   )rà   r0  r×   Ú_clsr%  ÚmodulesÚsphinx.ext.autodocr=  ÚobjectrØ   Úshow_inherited_membersÚendswithÚ_modÚpydocr!  rV   r   ÚmethodsÚ
propertiesÚsortedr.  rœ   rQ   r$  )r   Úclsr�   Ú
modulenameÚfunc_docrs   r=  Ú_membersÚ_excluderC  Úfieldr¼   Údoc_listrR   Údoc_items                  r   r   zClassDoc.__init__~  s¿  € ä�‰˜sÔ#¨¨ÜÐAÀ#ÀÐIÓJÐJØˆŒ	à”s—{‘{Ñ"Þ.ä“(ˆCà&,§j¡jØ2°Dó':ˆÔ#ñ ˜j×1Ñ1°#Ô6Ø˜#ÑˆJØˆŒ	àˆ;Øˆ{Ü Ð!IÓJÐJÜ—,‘,˜sÓ#ˆCä×Ñ  cÔ*à—:‘:˜i¨Ó,ˆØ�s‰?ØˆHØ—:‘:Ð/°Ó4ˆà�:‰:Ð*¨DÔ1°hÀcÑ6Iò*ð
 #,¨T¯\©\Ð!:Ø".°·±Ð!@ð!Bò +‘��uà˜E“{Ø!�HÜ & u£ò 	!˜Ø  HÑ,Ù!)¨d¸(Ñ.BØ$ð!Ü',§|¡|´G¸D¿I¹IÀtÓ4LÓ'M˜HØ$ŸO™OÜ )¨$°±LÀÓ4JÓ KõMð	!ð #+�D˜’Kñ+ð 7JÐ1øô$  .ò !Ù ð!ús   ÅAFÆ	F*Æ)F*c                 ó  — | j                   €g S t        j                  | j                   «      D ��cg c]G  \  }}|j                  d«      r|| j                  v r#t        |t        «      r| j                  |«      r|‘ŒI c}}S c c}}w ©NÚ_)rD  rà   Ú
getmembersr‡   Úextra_public_methodsr   r   Ú_is_show_member©r   rR   r   s      r   rL  zClassDoc.methods²  su   € à�9‰9ÐØˆIÜ'.×'9Ñ'9¸$¿)¹)Ó'D÷ 5™˜˜tØŸ™¨Ô-Ø × 9Ñ 9Ñ9Ü" 4¬Ô2Ø×,Ñ,¨TÔ2ò	 ó 5ð 	5ùó 5s   ±ABc                 ó   — | j                   €g S t        j                  | j                   «      D ��cg c]P  \  }}|j                  d«      s:|�%t	        |t
        «      st        j                  |«      r| j                  |«      r|‘ŒR c}}S c c}}w rX  )rD  rà   rZ  r‡   r   ÚpropertyÚisdatadescriptorr\  r]  s      r   rM  zClassDoc.properties¼  sy   € à�9‰9ÐØˆIÜ'.×'9Ñ'9¸$¿)¹)Ó'D÷ 5™˜˜tØŸ™¨Ô,Ø�\¤Z°´hÔ%?Ü×-Ñ-¨dÔ3Ø×,Ñ,¨TÔ2ò	 ó 5ð 	5ùó 5s   ±AB
c                 óP   — | j                   ry|| j                  j                  vryy)NTF)rH  rD  Ú__dict__)r   rR   s     r   r\  zClassDoc._is_show_memberÆ  s&   € Ø×&Ò&ØØ�t—y‘y×)Ñ)Ñ)ØØr   )
rC   rD   rE   r[  r  r   r_  rL  rM  r\  rG   r   r   r:  r:  z  sG   „ à&˜<Ðà $°¸kØó2+ðh ñ5ó ð5ð ñ5ó ð5ór   r:  r  r  )rF   rà   rk   rÌ   rK  Úwarningsr   Úcollectionsr   Úcollections.abcr   r   rn   r%  r   r   Ú	ExceptionrI   rQ   rV   ré   r›   r¡   r  r:  rG   r   r   ú<module>rg     s�   ðñó8 Û Û 	Û Ý Ý "ß -Û Û 
ò÷I.ñ I.ôX�ô ñ �{Ò$<Ó=€	ôi�Wô ióX4ò9ó
0ô2�.ô 2ôjQˆ~õ Qr   