
    -PhR                        d Z ddlZ ej        eeeeeeeeeeeeeee           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ej        dk     rddlmZmZ d Zd ZnddlmZ d	d
lmZ dZdj        Z ej        d          Zej        j        Zdez  Ze                    d          Z G d d          Z d Z!	 ddlm"Z# n# e$$ r ddlm%Z%  e%d          Z#Y nw xY wg Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.dGd Z/d! Z0d" Z1d# Z2d$ Z3e(d%             Z4e(d&             Z5e(d'             Z6d( Z7e(d)             Z8 ej        d*          j9        Z:e( e; ej<        d+d,e                    fd-            Z=d. Z> ej        d/          j?        Z@dHd1ZAd2 ZBdId3ZC	 dId4ZDd5 ZEd6 ZFd7 ZGe!dJd9            ZHd: ZId; ZJdKd<ZKdd=ejL        dfd>ZM G d? d@          ZNdA ZOdB ZPdC ZQdD ZRdE ZSdF ZTdS )Lz@
Cython -- Things that don't belong anywhere else in particular
    N)ossysreioglobshutiltempfileupdate_wrapperpartialwrapscython_version_cache_function_function_caches_parse_file_version_match_file_encoding)   	   )r
   r   c                 H    	 t          | |          S # t          $ r | cY S w xY wN)r
   AttributeError)wrapperwrappeds     L/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/Cython/Utils.py_update_wrapperr   "   s;    	!'7333 	 	 	NNN	s    !!c                 .    t          t          |           S )Nr   )r   r   r   s    r   r   r   (   s    8888    r      )__version__)z__init__.pyz__init__.pycz__init__.pyxz__init__.pxdz
__{}_cachez^__(.+)_cache$z/* Generated by Cython %s */zus-asciic                   $    e Zd ZdZd Zd Zd ZdS )"_TryFinallyGeneratorContextManagerz_
    Fast, bare minimum @contextmanager, only for try-finally, not for exception handling.
    c                     || _         d S r   )_gen)selfgens     r   __init__z+_TryFinallyGeneratorContextManager.__init__?   s    			r   c                 *    t          | j                  S r   )nextr$   r%   s    r   	__enter__z,_TryFinallyGeneratorContextManager.__enter__B       DIr   c                 `    	 t          | j                   d S # t          t          f$ r Y d S w xY wr   )r)   r$   StopIterationGeneratorExit)r%   exc_typeexc_valexc_tbs       r   __exit__z+_TryFinallyGeneratorContextManager.__exit__E   s?    	OOOOO}- 	 	 	DD	s    --N)__name__
__module____qualname____doc__r'   r+   r3    r   r   r"   r"   ;   sK                 r   r"   c                 <     t                      fd            }|S )Nc                  .    t           | i |          S r   )r"   )argskwargsgen_funcs     r   make_genz,try_finally_contextmanager.<locals>.make_genM   s     1((D2KF2K2KLLLr   r   )r=   r>   s   ` r   try_finally_contextmanagerr?   L   s6    
8__M M M M _MOr   cache)	lru_cache)maxsizec                  B    t           D ]} |                                  d S r   )r   cache_clearr@   s    r   clear_function_cachesrF   ]   s0    !   r   c                 f    t          |           }t                              |           | |_        |S r   )r   r   appenduncached)fcfs     r   cached_functionrL   b   s/    			BBBKIr   c              #      K   t          |           D ]7}t                              |          }|||                    d          fV  8dS )zThe function iterates over the attributes of the object and,
    if it finds the name of the cache, it returns it and the corresponding method name.
    The method may not be present in the object.
    Nr   )dir_CACHE_NAME_PATTERNmatchgroup)obj	attr_namerP   s      r   _find_cache_attributesrT   j   s\      
 XX , ,	#)))44U[[^^++++, ,r   c                 p    t          |           D ]%\  }}t          | |          rt          | |           &dS )zbRemoves every cache found in the object,
    if a corresponding method exists for that cache.
    N)rT   hasattrdelattr)rR   
cache_namemethod_names      r   clear_method_cachesrZ   u   sM     $:##>#> % %
K3$$ 	%C$$$% %r   c                 >     t           j                   fd}|S )Nc                     t          | d           }|i }t          | |           ||v r||         S  | g|R  x}||<   |S r   )getattrsetattr)r%   r;   rA   resrX   rJ   s       r   r   zcached_method.<locals>.wrapper   sd    j$//=ED*e,,,5==;AdNTNNN*eDk
r   )_build_cache_namer4   )rJ   r   rX   s   ` @r   cached_methodra      s8    "1:..J      Nr   c                 P    t           j                            |           \  }}||z   S r   )r   pathsplitext)rc   newsufbase_s       r   replace_suffixrh      s%    gt$$GD!&=r   c                     t           j                            |           rt          j        |            t	          | dd          S )NwUTF-8)encoding)r   rc   existsunlinkopenrc   s    r   open_new_filerq      s>    	w~~d  		$ cG,,,,r   c                    t          | dd          sd S 	 t          |           }|                    d           |                                 |r&t	          j        | |j        |j        dz
  f           d S d S # t          $ r Y d S w xY w)NTF)allow_failedif_not_foundzN#error Do not use this file, it is the result of a failed Cython compilation.
r   )	is_cython_generated_filerq   writecloser   utimest_atimest_mtimeOSError)rc   strJ   s      r   castrate_filer}      s    
 $Dt%PPP 	9$ 	
]	_ 	_ 	_				 	9HTBKQ788888	9 	9    s   A8 8
BBFTc                 H   d}d }t           j                            |           r\	 t          | d          5 }|                    t          |                    }d d d            n# 1 swxY w Y   n# t          $ r Y nw xY w||S |                    d          p
|o||k    p| S )NsM   #error Do not use this file, it is the result of a failed Cython compilation.rbs   /* Generated by Cython )r   rc   rm   ro   readlenr{   
startswith)rc   rs   rt   failure_markerfile_contentrJ   s         r   ru   ru      s	   eNL	w~~d 	dD!! ;Q vvc.&9&9::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 	 	 	D	  	 :;; 			8,.8	 s4   A0 #A$A0 $A((A0 +A(,A0 0
A=<A=c                 >   d}t           j                            |           ra	 t          | d          5 }|                    t          t                              }d d d            n# 1 swxY w Y   n# t          $ r Y nw xY w|o|                    t                    S )Nr   r   )	r   rc   rm   ro   r   r   GENERATED_BY_MARKER_BYTESr{   r   )rc   r   rJ   s      r   file_generated_by_this_cythonr      s    L	w~~d 	dD!! FQ vvc*C&D&DEEF F F F F F F F F F F F F F F 	 	 	D	NL334MNNNs4   A3 (A'A3 'A++A3 .A+/A3 3
B ?B c                 ,    t          |           }||k    S r   )modification_time)rc   timeftimes      r   file_newer_thanr      s    d##E4<r   c                     	 t          j        |            d S # t          $ r$ t           j                            |           s Y d S w xY wr   )r   makedirsr{   rc   isdirrp   s    r   safe_makedirsr      s`    
D   w}}T"" 		 	 	s    *AAc                 .   t           j                            |t           j                            |                     }	 t	          |          }t          | |          sdS n# t          $ r t          |           Y nw xY wt          j	        | |           dS )z
    Copy file sourcefile to directory destdir (creating it if needed),
    preserving metadata. If the destination file exists and is not
    older than the source file, the copying is skipped.
    N)
r   rc   joinbasenamer   r   r{   r   r   copy2)
sourcefiledestdirdestfiledesttimes       r   copy_file_to_dir_if_newerr      s     w||GRW%5%5j%A%ABBH$X.. z844 	F	    g LX&&&&&s   A! !A=<A=c                     t           j                            |           }| |k    r|S t          |          rt	          |          S |S r   )r   rc   dirnameis_package_dirfind_root_package_dir)	file_pathrN   s     r   r   r      sH    
'//)
$
$CC
			 $S)))
r   c                 ~    d}|D ]5}t           j                            | |          } t          |           }|rd}6| |fS )NTF)r   rc   r   contains_init)dir_pathpackage_names	namespacer   has_inits        r   check_package_dirr     sQ    I   7<<'22 ** 	IYr   c                 ~    t           D ]4}t          j                            | |          }t	          |          r dS 5d S Nr   )PACKAGE_FILESr   rc   r   path_exists)r   filenamerc   s      r   r   r     sL    !  w||Hh//t 	11	 r   c                 (    t          |           rdS d S r   )r   )r   s    r   r   r     s!    X q r   c                    t           j                            |           rdS 	 t          }t	          |dd           }|rwt           j                            |           }|                    |          rC|t          |          dz   d          }	 |                    |           dS # t          $ r Y dS w xY wn# t          $ r Y nw xY wdS )NTarchiver   F)r   rc   rm   
__loader__r]   normpathr   r   get_datar{   	NameError)rc   loaderarchive_pathr   arcnames        r   r   r     s     
w~~d t vy$77 	!w''--H""<00 !"3|#4#4Q#6#7#78!OOG,,,4 ! ! ! 55!   5s0   A(B5 B# #
B1-B5 0B11B5 5
CCz .*[.]cython-([0-9]+)[.][^./\\]+$z^([0-9]+)[.]([0-9]+).*z\1\2c                    |r|dd         dk    sJ t           j                            | |          }t          j        t          j        |          dz   |z             }||z   }t           j                            |          sd}d|f}|D ]B}t          |          }|r/t          |d                   }	|d         |	cxk     r|k    rn >|	|f}C|d         S )a?  
    Search a directory for versioned pxd files, e.g. "lib.cython-30.pxd" for a Cython 3.0+ version.

    @param directory: the directory to search
    @param filename: the filename without suffix
    @param suffix: the filename extension including the dot, e.g. ".pxd"
    @return: the file path if found, or None
    Nr   .z	.cython-*r   )r   rc   r   r   escaperm   r   int)
	directoryr   suffix_current_versionpath_prefixmatching_filesrc   
best_matchversionsint_versions
             r   find_versioned_filer   6  s     *s****',,y(33KYt{;77+ENOOND7>>$ dJ 1 1&t,, 	1hqk**K!}{>>>>.>>>>>>)40
a=r   c                     t          | t                    rO	 t          j                    }|t          j                    }|                     |          } n# t          $ r Y nw xY w| S r   )
isinstancebytesr   getfilesystemencodinggetdefaultencodingdecodeUnicodeDecodeError)r   filename_encodings     r   decode_filenamer   V  sv    (E"" 	 # 9 ; ; ($'$:$<$<!'899HH! 	 	 	D	Os   =A 
A"!A"s   (\w*coding)[:=]\s*([-\w.]+)rk   c                    d}d}t          |          dk     rE|                     d          }||z  }|                    d          }|snt          |          dk     Et          |d                   }|rA|                    d          dk    r(|                    d	                              d
          S t          |          dk    r?t          |d                   }|r(|                    d	                              d
          S |S )Nr8   r   r   i     
r   r   s   c_string_encoding   z	iso8859-1)r   r   splitr   rQ   r   )rJ   defaultlinesstartdatams         r   detect_opened_file_encodingr   g  s     EE
e**q..vvc{{E"" 	 e**q.. 	U1X&&A 2QWWQZZ///wwqzz  ---	Ua q** 	2771::$$[111Nr   c                 f    |                      d          dk    r|                     d           dS dS )z
    Read past a BOM at the beginning of a source file.
    This could be added to the scanner, but it's *substantially* easier
    to keep it at this level.
    r   u   ﻿r   N)r   seek)rJ   s    r   skip_bomr   ~  s4     	vvayyH	q					 r   c                    d }	 |Lt          | d          }t          |          }|                    d           t          j        |||          }nt          | ||          }n|# t
          $ ro t          j                            |           r 	 t          }| 
                    |j                  rt          || ||          }n# t          t          f$ r Y nw xY wY nw xY w|t          |           t!          |           |S )Nr   r   rl   errors)ro   r   r   r   TextIOWrapperr{   r   rc   rm   r   r   r   open_source_from_loaderr   r   FileNotFoundErrorr   )source_filenamerl   error_handlingstreamrJ   r   s         r   open_source_filer     s,   F_d++A2155HFF1III%a(>RRRFF/H^TTTF   7>>/** 		F))&.99 .0On. . >* 	 	 	D	 ~000VMs6   A A% %*C3CCCCCCCc                     t           j                            |          }|t          | j                  dz   d          }|                     |          }t          j        t          j        |          ||          S )Nr   r   )	r   rc   r   r   r   r   r   r   BytesIO)r   r   rl   r   nrmpathr   r   s          r   r   r     su     g//Gc&.))!+,,-G??7##DBJt,,%-#13 3 3 3r   c                    d}| d d         dk    rd}| dd          } t          |           dk     rt          | d          } n| d         dk    r| d         }|dv r(t          |           } t          | dd          d	          } n[|d
v rt          | dd          d          } n>|dv rt          | dd          d          } n!t          | d          } nt          | d          } |r|  n| S )NFr   -Tr   r   0xX   oO   bB)r   r   strip_py2_long_suffix)valueis_negliteral_types      r   str_to_numberr     s
    FRaRyCabb	
5zzA~~E1	qSQx4)%00Eabb	2&&EET!!abb	1%%EET!!abb	1%%EE qMMEEE1&E66&r   c                 .    | d         dv r
| dd         S | S )z~
    Python 2 likes to append 'L' to stringified numbers
    which in then can't process when converting them to numbers.
    r   lLNr8   )	value_strs    r   r   r     s'    
 }"~r   c                 l    t          | t                    rt          |           } d| cxk    odk     nc  S )Ni   l        )r   strr   )r   s    r   long_literalr     sF    % %e$$&&&&&&&&&&r   r   c              #     K   t          j        |           }	 t          j        d          5 dgffd	t          j                                        |            fd}|V  t          j        ||                          d d d            n# 1 swxY w Y   t          j        |           d S # t          j        |           w xY w)Nza+b)moder   c                 z    j         s,                    d                                           | d<   | d         S )Nr   )closedr   r   )_output	temp_files    r   read_outputz captured_fd.<locals>.read_output  s=     ' 2NN1%%%!*!1!1GAJqz!r   c                  J                 } r|                                n| S r   )r   )resultrl   r   s    r   
get_outputzcaptured_fd.<locals>.get_output  s*    $2:Fv}}X...Fr   )r   dupr	   TemporaryFiledup2filenorw   )r   rl   orig_streamr  r   r   s    `  @@r   captured_fdr    sA     &..K#/// 	9%(E " " " " " " GI$$&&///G G G G G G GK(((KMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	" 	s/   B6 AB	B6 BB6 BB6 6Cc                      t          j                    g} t           j        t           j        t           j        t           j        fD ].}t          |dd           }||| vr|                     |           /| S )Nrl   )r   r   stdoutstdin
__stdout__	__stdin__r]   rH   )
candidatesr   rl   s      r   get_encoding_candidatesr    so    (**+J:sy#.#-H ( (6:t44HJ$>$>h'''r   c                     |                                  }|sd S t                      D ])}	 |                    |          c S # t          $ r Y &w xY w|                    d          S )Nzlatin-1)stripr  r   r   )capturedcaptured_bytesrl   s      r   prepare_capturedr    s    ^^%%N t+--  	!((22222! 	 	 	D	   +++s   A
AAc                     t          |           } | r.|r|                    |           |                    |            d S d S r   )r  rv   )r  outputheader_lines      r   print_capturedr    sS    ))H  	&LL%%%X r   r   c                     |r|                     |           |                                 |j        }|                     |            |r|                     |           |r|                                 d S d S r   )rv   flushbuffer)sheader_textendfiler  outs         r   print_bytesr!    sy      

;JJLLL
+CIIaLLL
 		# 		 r   c                   2    e Zd ZddZd Zd Zd Zd ZeZdS )	
OrderedSetr8   c                 d    g | _         t                      | _        |                     |           d S r   )_listset_setupdate)r%   elementss     r   r'   zOrderedSet.__init__#  s,    
EE	Hr   c                 *    t          | j                  S r   )iterr%  r*   s    r   __iter__zOrderedSet.__iter__(  s    DJr   c                 :    |D ]}|                      |           d S r   )add)r%   r)  es      r   r(  zOrderedSet.update+  s,     	 	AHHQKKKK	 	r   c                     || j         vr6| j                            |           | j                             |           d S d S r   )r'  r%  rH   r.  )r%   r/  s     r   r.  zOrderedSet.add/  sG    DIJa   IMM! r   c                 *    t          | j                  S r   )boolr'  r*   s    r   __bool__zOrderedSet.__bool__4  r,   r   N)r8   )	r4   r5   r6   r'   r,  r(  r.  r3  __nonzero__r8   r   r   r#  r#  "  se           
         
   KKKr   r#  c                       fd}|S )z6Class decorator for creating a class with a metaclass.c                 N   | j                                         }|                    d          }|2t          |t                    r|g}|D ]}|                    |           |                    dd            |                    dd             | j        | j        |          S )N	__slots____dict____weakref__)r8  copygetr   r   popr4   	__bases__)cls	orig_varsslots	slots_var	metaclasss       r   r   zadd_metaclass.<locals>.wrapper>  s    L%%''	k**%%%  " ) )	i((((j$'''mT***ys}i@@@r   r8   )rB  r   s   ` r   add_metaclassrC  <  s(    
A 
A 
A 
A 
A Nr   c                 Z    | dk    s|                      d          rt          d          d S )Ncythonzcython.z;cython is a special module, cannot be used as a module name)r   
ValueError)full_module_names    r   $raise_error_if_module_name_forbiddenrH  L  s8    8##'7'B'B9'M'M#VWWW $#r   c                 @   g }d}t          j        d|           D ]P}|dv rdddd|         }|ddgz   dd	         }"|d
v r n)|dk    r"|                    t          |                     Q|dgd	z  z   dd         }|d	xx         |z  cc<   d}|D ]
}|dz  |z   }d|z  S )z
    Parse and translate public version identifier like '4.3a1' into the readable hex representation '0x040300A1' (like PY_VERSION_HEX).

    SEE: https://peps.python.org/pep-0440/#public-version-identifiers
       z(\D+))abrc         r   Nr   )z.devz.prez.postr      r   z0x%08X)r   r   rH   r   )version_stringdigitsrelease_statussegment
hexversiondigits         r   build_hex_versionrX  R  s     FN8Hn55 ( (&&&#'d$??HN1vorr*FF111E^^MM#g,,'''sQw#F
1IIIIII J / / Ao.

j  r   c                    t           j                            |          }t          j                    }|                    t           j                  s|t           j        z  }g }|D ]h}	 t           j                            ||          }n/# t          $ r" t           j                            |          }Y nw xY w|	                    |           it           j                            | |          dz   }|d
                    |          dz   z  }t          | dz   d          5 }	|	                    |           d d d            d S # 1 swxY w Y   d S )Nz: \
  z \
  
z.deprj   )r   rc   r   getcwdendswithseprelpathrF  abspathrH   r   ro   rv   )
targetsourcedependenciessrc_base_dircwdpathsfnamenewpathdeplineoutfiles
             r   write_depfilerj  p  sy   7??6**L
)++C  (( E  	-gooeS11GG 	- 	- 	-gooe,,GGG	- 	Wgoofc**Z7Gy~~e$$t++G	fVmS	!	! Wg                 s$   ( B		)B54B5EE	Ec                  N   t          dt          z             t          j                                        st          j        t          j        k    rd S t          j        d          t          j        d          k    rd S t          j                            dt          z             d S )NzCython version %sr   r   zCython version %s
)	printr   r   stderrisattyr
  r   fstatrv   r8   r   r   print_versionrp    s    	

./// z cjCJ66	x{{bhqkk!! 	J*^;<<<<<r   c                    |                                                      d          }d}d|v sd|v r.|                    d|v rdndd          \  }}t          |          }d|v r.|                    d          }|d|         ||dz   d         z   }nt          |          }||z  }|d|         d|t          |          z
  z  z   dz   d| z  z   ||d         z                       d          }|dk    r|ndS )	z
    Generate a 'normalised', simple digits string representation of a float value
    to allow string comparisons.  Examples: '.123', '123.456', '123.'
    r   r   Er/  r   r   Nz.0)lowerlstripr   r   indexr   rstrip)	float_str	str_valueexpnum_int_digitsr  s        r   normalise_float_reprr{    s6   
 !!((--I
C
i3)++"y0@0@c1MM	3#hh
i"--o~o.>A;M;N;N1OO		Y>C 	$3$
s9~~%
&	'
	 *	 CDD/		
 fSkk  s]]66,r   )FT)rk   )NN)r   Nr   )Ur7   rE  declareobjectlistr   r   r   r   r   r   r	   version_info	functoolsr
   r   r   r    r    r   r   formatr`   compilerO   rc   getmtimer   GENERATED_BY_MARKERencoder   r"   r?   rA   r   ImportErrorrB   r   rF   rL   rT   rZ   ra   rh   rq   r}   ru   r   r   r   r   r   r   r   r   r   findallr   r   subr   r   searchr   r   r   r   r   r   r   r   r  r  r  r  r
  r!  r#  rC  rH  rX  rj  rp  r{  r8   r   r   <module>r     s:   
  6ffVV\6Tvdj    
			 



 				 				    f 21111111  9 9 9 9   , + + + + +O '  bj!233 G$ 4~E /66zBB        "  .2222222 . . .######i---OOO.
    
  , , ,% % %     
- - -9 9 9(   0O O O  
  ' ' '&           
   0 !bj!DEEM  ),VRV4MwXf-g-g)h)h   >	 	 	 "rz"ABBI    .     B ;?3 3 3 3' ' ':  ' ' '    .  
, 
, 
,     $SZt 	 	 	 	       4   X X X! ! !<  .
= 
= 
=- - - - -s   8B? ?CC