o
    Ni                  '   @   s  d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
mZmZ d dlmZ d dlmZ e	ddZe	ddZe	d	d
Ze	dd
Ze	dd
Ze	dd
Ze	dd
Ze	ddZe	dd
Zdd ZG dd dZG dd dZG dd deZG dd deZG dd dZ dd Z!ed d!d!d"d#d#ed$ed d%d%d&d#d#ed$ed d'd'd d#d#ed$ed d(d(d)d#d#ed$ed d*d*d+e	d,d
ej"ej#e$d-ej#d*gd#d#d.d/ge%d0d1 ej&ej'ej(fD  e%d2d1 ej)ej*ej+fD  ed d3d3d4e	d5d
d6ed7d3d3d8d9d:ed;d3d3d<d9e	d=d>d?d@edAd3dBdCe	dDdd6edEd'd3dFd9d:edGdHdIdJe	dKdd6edLd3d3dMedNdHd3dOe!dPedQd3d3dRed6edQdHd3dSed6edQdTd3dUed6edVdHd3dWd9d:edVd3d3dXd9e	dYdZd?d@ed[dTd3d\d]ed6ed]dTd3d\ed6ed]dHd3d^ed6ed_dHdBd`e	dad
d6edbd3dcddeded3d3dfd9e	dgdhd?d@edid3d3dje	dkd
d6edldHdBdmedndHdBdoedpdHd3dqedpd3d3dredsd3dtduedvdwd3dxedyd3d3dzed6edydHd3d{ed6ed|d3d3d}d9e	d~dd?d@g dd ej,ej-fD  dd ej.ej/ej0fD  edd*d*de	1dd
ej"ej2e$dej3d*gddd/eddTd3deddHd3de	dd
d6edd3d3dedd3d3dd9d:eddTdIdedd'd3dFd9d:eddHd3deddwd3ded6g	 Z4ddg fddg fddg fddg fddedddeddej5deddej5dgfddedgfddedddde	ddd6edgfd9dedddBdeddddedgfddedgfddedddIdedddIdedddIde	ddơd6edddIde	ddơd6edʃgfddedddBd̓edddBd̓eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6eddd3de	dd
d6edddIde	ddơd6eddddgfddg fdde dej3ded6e dej3ded6e dej3ded6gfddedddIdedddIde	ddơd6edddId e	ddơd6edddIdeddd3dgfddg fdd	g fd
dg fdde dej6ddd#e
j1dd
e7dddde dej8ddd#e
j1dd
e7dddde dej9ddd#e
j1dd
e7ddddgfgZ:e;ddddddddd9dddddddhe<ej=eZ>e7dde7dddddddde7dddd9dde7dddd e7ddd!e7dyi d"dd#dd$dd%dd&dd'dd(dd)ddVdd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7dddd8dd9dd:dd;d<d=d>d?dd@ddAddBddCddDddEd>dFdGdHddIdGdJdGdKddLddMddNddOddPddQde7dyi d"dd$dd%ddRd9d'dd(dd)ddSdded9d+dd,dd-dd.dd0dd2dd5dd6dd7dddd8dd9dd:dd;dd=d>d?dd@ddAddBddCddDddEd>dFdGdHddIdGdJdGdKddLddMddNddOddPddQde7 e7dd9ddddTe7dddddddddUe7 e7ddddVdWZ?e?d @e?d  e?d @e?d  dXdY ZAeB h dZdShdheB h d[h d\eB d]ZCd^eDd_eDfd`daZEdbdbdcejFfddej3fdsej9fdej9fdej8fdej6fdVejGfdeejHfdfejHfdgejHfdhejFfgfdddej5fdej5fgfgZIe ZJdidj ZKi aLdkdl ZMdmdn ZNdodp ZOdqdr ZPeP  i ZQdsdt ZRdudv ZSdwdx ZTd*S (z     )EncodedString)BuiltinScopeCClassScopeStructOrUnionScopeModuleScopeEntry)UtilityCodeTempitaUtilityCodeKNOWN_PYTHON_BUILTINSuncachable_builtins)	Signature)
PyrexTypesIterNextObjectHandling.cGetAttrGetAttr3
Builtins.cPyExecPyExecGlobalsGlobalsPyRange_CheckIncludeStdlibHzModuleSetupCode.cPySliceAccessorsc                 C   s.   t jddd| id}tdddd|  d	|d
S )NBuiltinSequenceMultiplyr   typeobjcontext__mul__TzT__Pyx_	_Multiplyutility_code)r	   loadBuiltinMethod)typeobj_cname pysequence_multiply_utility_code r(   K/home/ubuntu/.local/lib/python3.10/site-packages/Cython/Compiler/Builtin.pymake_sequence_multiply_method   s   r*   c                   @   s(   e Zd Z				dddZd	ddZdS )
_BuiltinOverride*NFc                 C   sT   |||| _ | _| _||| _| _||| _| _|
| _|	| _|| _	|| _
|| _d S N)py_namecnamepy_equivargsret_type	func_typesigbuiltin_return_typeis_strict_signaturer#   nogilspecialiser)selfr.   r1   r2   r/   r0   r#   r4   r3   r6   r5   r7   r8   r(   r(   r)   __init__$   s   
z_BuiltinOverride.__init__c                 C   sN   |d u rt | j| j| jd}d|_||}| jrd|_| jr%t| j |_	|S )N)r7   FT)
r   r1   r2   r7   exception_checkfunction_typer6   r5   builtin_typesreturn_type)r9   r4   self_argr3   r(   r(   r)   build_func_type1   s   
z _BuiltinOverride.build_func_type)r,   NNNFNNN)NN)__name__
__module____qualname__r:   r@   r(   r(   r(   r)   r+   #   s    
r+   c                   @   s   e Zd ZdddZdd ZdS )BuiltinAttributeNc                 C   s    || _ |p|| _|| _|| _d S r-   )r.   r/   field_type_name
field_type)r9   r.   r/   rF   rE   r(   r(   r)   r:   >   s   

zBuiltinAttribute.__init__c                 C   sH   | j d urt| j j}n| jptj}|j| j	| j
|d d}d|_d S )NprivateT)rE   builtin_scopelookuptyperF   r   py_object_typescopedeclarer.   r/   is_variable)r9   	self_typerF   entryr(   r(   r)   declare_in_typeD   s
   

z BuiltinAttribute.declare_in_typeNNNrA   rB   rC   r:   rQ   r(   r(   r(   r)   rD   =   s    
rD   c                   @      e Zd Zdd ZdS )BuiltinFunctionc                 C   sD   | j | j}}|d u r| |}|j| j|| j| j| j| jd d S )Nr8   )	r3   r4   r@   declare_builtin_cfunctionr.   r/   r0   r#   r8   )r9   rL   r3   r4   r(   r(   r)   declare_in_scopeO   s   

z BuiltinFunction.declare_in_scopeN)rA   rB   rC   rX   r(   r(   r(   r)   rU   N       rU   c                   @   rT   )r%   c                 C   sZ   | j | j}}|d u rtd|d }d|_d|_| ||}|jj| j	|| j
| jd d S )N Tr"   )r3   r4   r   CFuncTypeArgnot_noneaccept_builtin_subtypesr@   rL   rW   r.   r/   r#   )r9   rO   method_typer4   r?   r(   r(   r)   rQ   Z   s   
zBuiltinMethod.declare_in_typeN)rA   rB   rC   rQ   r(   r(   r(   r)   r%   Y   rY   r%   c                   @   s    e Zd Z	dddZdd ZdS )BuiltinPropertyNc                 C   s(   || _ || _|| _|| _|| _|| _d S r-   )r.   property_type
call_cnamer#   exception_valuer;   )r9   r.   r`   ra   rb   r;   r#   r(   r(   r)   r:   h   s   
zBuiltinProperty.__init__c                 C   s(   |j j| j| j| j| j| j| jd d S )Nrb   r;   r#   )rL   declare_cpropertyr.   r`   ra   rb   r;   r#   )r9   rO   r(   r(   r)   rQ   q   s   
zBuiltinProperty.declare_in_typerR   rS   r(   r(   r(   r)   r_   f   s    
	r_   c              	   C   s  t |dkrd S |\}}|jr| }|jr| }|js+|tu s+|jr1|js+|tu r1d}tj}n|jrD|jrDd}|j	|j	krA|n|}nd S | j
}|rMdnd | d|jrWdnd |  }d| }|  }	|	d	}
|
d ur|
 D ]}|j|kr|  S qu| d |gd }d
|_|j}tj|td|d td|d gd| d
d
|d}tjd| d||jr|jnd| | |dd}|	jd	|||d}|S )N   floatintnogil_rZ   _td___Pyx_divmod_divmodTab__Pyx_divmod_ERROR_VALUE_)rb   r;   r6   r7   divmod_r   )CFUNC_SUFFIXMATH_SUFFIXTYPERETURN_TYPENOGILr   r"   )len
is_typedefresolve_known_typeis_float
float_typeis_intint_typer   c_double_typerankr7   specialization_namerH   lookup_hereall_alternativesr/   declare_tuple_typeusedrJ   	CFuncTyper[   r	   r$   math_h_modifierempty_declaration_coderW   )rL   argument_typestype_op1type_op2implnumber_typer7   cfunc_suffixfunction_cnamerH   existing_entryrP   ctuple_entryr>   r<   r#   r(   r(   r)   _generate_divmod_function~   sd   ",



	r   absdfabsT)r6   r7   r#   ffabsfillabsN__Pyx_abs_longlongabs_longlongargr6   r7   )r#   r3   c                 c   sF    | ]}t d ddd| tj|td|dgddddV  qdS )r   Nz
/*abs_{}*/r   Tr   r3   )rU   formatr   r   r   r[   .0tr(   r(   r)   	<genexpr>   s    
r   c                 c   sF    | ]}t d ddd|jtj|jtd|dgddddV  qdS )r   Nz__Pyx_c_abs{}r   Tr   r   )rU   r   
funcsuffixr   r   	real_typer[   r   r(   r(   r)   r      s    
O__Pyx_PyNumber_Absolutepy_absr"   asciiPyObject_ASCIIstr)r5   bin__Pyx_PyNumber_Binz9#define __Pyx_PyNumber_Bin(obj) PyNumber_ToBase((obj), 2)PyNumber_Binprotoname)r5   r#   callablern   __Pyx_PyCallable_CheckCallableCheckchrPyUnicode_FromOrdinaldelattrOOr__Pyx_PyObject_DelAttrPyObjectDelAttrdirPyObject_Dirrl   PyNumber_DivmodrV   exec__Pyx_PyExecGlobals__Pyx_PyExec2OOO__Pyx_PyExec3r   PyObject_Format__Pyx_PyObject_Format1z@#define __Pyx_PyObject_Format1(obj) PyObject_Format((obj), NULL)PyObject_Format1getattr3__Pyx_GetAttr3getattr__Pyx_GetAttrhasattr__Pyx_HasAttrHasAttrhashhPyObject_Hashhex__Pyx_PyNumber_Hexz:#define __Pyx_PyNumber_Hex(obj) PyNumber_ToBase((obj), 16)PyNumber_Hexintern__Pyx_InternIntern
isinstancePyObject_IsInstance
issubclassPyObject_IsSubclassiterPyCallIter_NewPyObject_GetIterrv   zPyObject_LengthlocalsrZ   __pyx_localsnext__Pyx_PyIter_Next__Pyx_PyIter_Next2oct__Pyx_PyNumber_Octz9#define __Pyx_PyNumber_Oct(obj) PyNumber_ToBase((obj), 8)PyNumber_Octc                 C   8   g | ]}t d dddtjtjtd|dgdddqS )ordN__Pyx_long_castcTr6   r   )rU   r   r   c_long_typer[   r   c_typer(   r(   r)   
<listcomp>.      
r   c                 C   r   )r   N__Pyx_uchar_castr   Tr   r   )rU   r   r   c_uchar_typer[   r   r(   r(   r)   r   4  r   r   __Pyx_PyObject_Ord
object_ordr   z(long)(Py_UCS4)-1)rb   powPyNumber_Power__Pyx_PyNumber_Power2pow2reloadPyImport_ReloadModulereprPyObject_ReprsetattrPyObject_SetAttrunichr__Pyx_PyObject_Append__Pyx_GlobalsrJ   z&PyType_Typeboolz&PyBool_Typerg   z&PyLong_Typerf   z&PyFloat_Typecomplexz&PyComplex_Typecval
Py_complex)rE   realz	cval.real)rF   imagz	cval.imag	bytearrayz&PyByteArray_TypePyByteArray_Typebytesz&PyBytes_TypejoinTOr   __Pyx_PyBytes_Join
StringJoinzStringTools.cPyBytes_Typez&PyUnicode_Type__contains__PyUnicode_ContainsPyUnicode_JoinPyUnicode_Typetuplez&PyTuple_TypePyTuple_Typelistz&PyList_TypeinsertTzOPyList_InsertreversePyList_Reverseappend__Pyx_PyList_Append
ListAppendz
Optimize.cextend__Pyx_PyList_Extend
ListExtendPyList_Typedictz&PyDict_TypePyDict_Containshas_keyitems__Pyx_PyDict_Itemspy_dict_itemskeys__Pyx_PyDict_Keyspy_dict_keysvalues__Pyx_PyDict_Valuespy_dict_values	iteritems__Pyx_PyDict_IterItemspy_dict_iteritemsiterkeys__Pyx_PyDict_IterKeyspy_dict_iterkeys
itervalues__Pyx_PyDict_IterValuespy_dict_itervalues	viewitems__Pyx_PyDict_ViewItemspy_dict_viewitemsviewkeys__Pyx_PyDict_ViewKeyspy_dict_viewkeys
viewvalues__Pyx_PyDict_ViewValuespy_dict_viewvaluesclear__Pyx_PyDict_Clearpy_dict_clearcopyPyDict_Copyrangez&PyRange_Typeslicez&PySlice_Typestart__Pyx_PySlice_Startstop__Pyx_PySlice_Stopstep__Pyx_PySlice_Stepsetz&PySet_TypePySet_Cleardiscard__Pyx_PySet_Discardpy_set_discardremove__Pyx_PySet_Removepy_set_removeadd	PySet_Addpop	PySet_Pop	frozensetz&PyFrozenSet_TypeBaseExceptionz$((PyTypeObject*)PyExc_BaseException)	Exceptionz ((PyTypeObject*)PyExc_Exception)
memoryviewz&PyMemoryView_Typendim__Pyx_PyMemoryView_Get_ndimmemoryview_get_from_buffer)r   r   rc   readonly__Pyx_PyMemoryView_Get_readonlyitemsize__Pyx_PyMemoryView_Get_itemsizeunicode)	conjugateztuple[int,int]bint)as_integer_ratio	bit_count
bit_lengthrg  
from_bytes
is_integerto_bytes)ri  rg  fromhexr   rm  
Py_ssize_t)rD  countindex)rq  rr  
capitalizecasefoldcenterrq  encodeendswith
expandtabsfind
format_maprr  isalnumisalphaisascii	isdecimalisdigitisidentifierislower	isnumericisprintableisspaceistitleisupperljustlowerlstrip	maketranszdict[int,object]	partitionztuple[T,T,T]removeprefixremovesuffixreplacerfindrindexrjust
rpartitionrsplitzlist[T]rstripsplit
splitlines
startswithstripswapcasetitle	translateupperzfilldecodero  )castr   tobytestolist
toreadonly)rD  
differenceintersection
isdisjointissubset
issupersetsymmetric_differenceunion)rD  fromkeyspopitem)r  rg   rf   r  r  r   r
  r  r]  rN  rZ  r#  c                 C   s   | j }|tv rCt| }||v rC|| }d|v r|dd }|dkr$| S d|v r/|d| j }|dkr6tjS |dkr=tjS t|j	S tj
S )N[    r   rh  rp  )r   inferred_method_return_typesr  r  r   c_bint_typec_py_ssize_t_typerH   rI   rJ   rK   )builtin_typemethod_name	type_namemethodsreturn_type_namer(   r(   r)   "find_return_type_of_builtin_method  s"   r  >   rn  rj  rl  rm  >   r  r  r  r  >   ro  r  r  r  )r  rg   rf   r  r  r   r
  rN  builtin_type_namer  c                 C   sD   t | }|d u rdS ||v rdS t| }|d u s||vr dS dS )NFT)unsafe_compile_time_methodsgetr  )r  r  unsafe_methodsknown_methodsr(   r(   r)   is_safe_compile_time_method  s   

r  	Py_bufferbufobjshapestrides
suboffsetsinternalc                  C   s   t D ]} | t qd S r-   )builtin_function_tablerX   rH   )bfr(   r(   r)   init_builtin_funcs  s   r  c                  C   s   t D ]o\} }}| dkrd}n0| dkrd}n)| dkrd}n"| dkr#d}n| d	kr*d}n| d
kr1d}n| dkr8d}nd|   }d }tj}| dv rKtj}n| dkrStj}n| dkrYt}tj| ||||d}|t	| < |D ]}|
| qiqd S )NrZ  PySetObjectr  PyByteArrayObjectrg   PyLongObjectr   PyUnicodeObjectr  r[  PyBaseExceptionObjectr\  z
Py%sObject)r#  r  rN  rZ  r  rF  )objstruct_cname
type_classr#   )builtin_types_tablers  r   BuiltinObjectType BuiltinTypeConstructorObjectTypePythonTupleTypeConstructorrange_utility_coderH   declare_builtin_typer=   rQ   )r   r/   r  r  r#   r  the_typemethodr(   r(   r)   init_builtin_types  s@   
r  c                  C   sr   t D ]4} | tv r	qt| sqt| durqtd|  d|  dd|  dd}tj| d|  d|d	t| < qdS )
z6Declare known builtin Python exceptions as types.
    Nz#define __Pyx_PyExc_z(_Check(obj)  __Pyx_TypeCheck(obj, PyExc_)Py_Checkr   z((PyTypeObject*)PyExc_r"   )	r
   r   r   is_exception_type_namerH   r   r   r  r=   )r   r#   r(   r(   r)   init_builtin_exceptions  s   

r  c               	   C   sT   t D ]%\} }}t| }|D ]\}}|j||d |dd qtj| d|dd |d qd S )NT)allow_pyobjectstructr   )r/   )builtin_structs_tabler   declare_varrH   declare_struct_or_union)r   r/   attribute_typesrL   attribute_nameattribute_typer(   r(   r)   init_builtin_structs1  s   
r  c                  C   s  t   t  t  t  tjdttjd ddd} t	
dd| _tdjatdjatd	jatd
jatdjatdjatdjatdjatdjatdjatdjatdjatdjatdjatdjatdjattttttfatjdksJ tjtjt_ ttj_ tjdksJ tjtj!t_ ttj!_ tjdksJ tjtj"t_ ttj"_ tdja#d S )N	__debug__z__pyx_assertions_enabled()T)posr/   is_cdefAssertionsEnabledzExceptions.crJ   r  r  r#  rN  rZ  rG  rF  r
  r   r  r]  rf   rg   r  r  r  )$r  r  r  r  rH   r  r   c_const_typer  r   load_cachedr#   rI   rJ   	type_type	list_type
tuple_type	dict_typeset_typefrozenset_type
slice_type
range_type
bytes_typeunicode_typebytearray_typememoryview_typerz   r|   	bool_typecomplex_typesequence_typesr   equivalent_typer}   c_double_complex_typepy_buffer_type)rP   r(   r(   r)   init_builtins;  sT   
r  c                 C   s  t | }|r	|S | dkrt| d d }dtfdtfdtfdtfdtffD ]*\}}t|}|j	||d d}t
|d tj}d|_d|_||_||_d	| |f |_q$d
D ]1}t|}ttd| }|j	||d d}t
|d tj}d|_d|_||_||_d	| |f |_qQ|t | < |S | dkrt| d d }ttd}td}|j	||d d}t
|d tj}d|_||_||_d|  |_dD ]}|jt|tjd d q|t | < |S | dkrt| d d }dD ]}|jt|tjd d q|t | < |S )NtypingDictListTupleSet	FrozenSet)r  Tz%s.%s)ClassVarOptionalUnionztyping.dataclasseszdataclasses.InitVarInitVarz
%s.InitVar)	dataclassfield	functools)total_ordering)_known_module_scopesr  r   r  r  r  r  r  r   declare_typer   r   rK   is_pyglobalrN   rL   as_variableknown_standard_library_importSpecialPythonTypeConstructorr  )module_namemodr   tprP   	var_entryindexed_typeinitvar_stringr(   r(   r)   'get_known_standard_library_module_scope  sf   

r  c                 C   sT   |  d}t|d }|dd  }t|dkrd S t|}|r(|r(||d S d S )N.r  r   )r  r   rv   r  r   )qualified_name
name_partsr  restr  r(   r(   r)    get_known_standard_library_entry  s   
r  c                 C   s   g }d }| j r|| j | j} | j s| jr?|| j}|r?|jr?t|jr+|j}|S t	|j}|r?||j d
t|}|S )Nr  )is_attributer  	attributer  is_namerI   r   r  r  r  r  reversed)nodeenvqualified_name_parts
known_namerP   standard_envr(   r(   r)   'exprnode_to_known_standard_library_name  s*   
r(  r(   )UStringEncodingr   Symtabr   r   r   r   r   Coder   r	   r
   r   	TypeSlotsr   rZ   r   r$   iter_next_utility_codegetattr_utility_codegetattr3_utility_codepyexec_utility_codepyexec_globals_utility_codeglobals_utility_coder  include_std_lib_h_utility_codeslice_accessor_utility_coder*   r+   rD   rU   r%   r_   r   r   c_longlong_typer[   r  c_uint_typec_ulong_typec_ulonglong_typec_float_complex_typer  c_longdouble_complex_typec_py_ucs4_typec_py_unicode_typec_char_typec_schar_typer   r  r   rK   r  r}   
c_int_typer#  r  r  r  rZ  filterr  #types_that_construct_their_instancer  updater  rN  r  r   r  c_void_ptr_typec_char_ptr_typec_py_ssize_t_ptr_typer  rH   r  r=   r  r  r  r  r  r  r  r(  r(   r(   r(   r)   <module>   sx  

D





'
















n
t
{



 8




	























s


		
 !"#$%&'()*+,-./1	
 !"#$%&'()*,
  &








#
>8