JFIF$        dd7 

Viewing File: /usr/lib64/python3.9/site-packages/cffi/__pycache__/setuptools_ext.cpython-39.opt-1.pyc

a

�`�"�@slddlZddlZzeWney.eZYn0dd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)�NcCsddlm}||��dS)Nr)�DistutilsSetupError)Zdistutils.errorsr)�msgr�r�9/usr/lib64/python3.9/site-packages/cffi/setuptools_ext.py�error
srcCsTt|��}|��}Wd�n1s&0Y|d7}t||d�}t|||�dS)N�
�exec)�open�read�compiler)�filename�glob�f�src�coderrr�execfiles

&rc
Cs�ddlm}t|t�s*tdt|�jf�t|�}z|�d�\}}Wn t	ydtd|f�Yn0t
j�|�s�d}|�
dd�d	}t
j�|�r�d
|d|f}td||f�d|d
�}t||�z||}Wn"ty�td||f�Yn0t||��s
|�}t||��s,td|t|�jf�t|d��sFtd|f�|j\}	}
}}|j�rn|��}|�|�|
du�r�t|||	�nt|||	|
||�dS)Nr)�FFIzEargument to 'cffi_modules=...' must be a str or a list of str, not %r�:z3%r must be of the form 'path/build.py:ffi_variable'��.�/�.pyz (rewrite cffi_modules to [%r])z#%r does not name an existing file%sZ__cffi__)�__name__�__file__z!%r: object %r not found in modulez"%r is not an FFI instance (got %r)�_assigned_sourcez*%r: the set_source() method was not called)Zcffi.apir�
isinstance�
basestringr�typer�str�split�
ValueError�os�path�exists�replacer�KeyError�hasattrrZ_windows_unicode�copyZ_apply_windows_unicode�_add_py_module�
_add_c_module)
�dist�mod_specrZbuild_file_nameZffi_var_name�extZ	rewrittenZmod_vars�ffi�module_name�source�source_extension�kwdsrrr�add_cffi_modulesV

��
�

��

r2cCstddlm}d|vrpttd�sp|jrpddl}z(t|j�d�d�}|dkrRd|d<Wnt	ynd|d<Yn0|S)	a7
    Add py_limited_api to kwds if setuptools >= 26 is in use.
    Do not alter the setting if it already exists.
    Setuptools takes care of ignoring the flag on Python 2 and PyPy.

    CPython itself should ignore the flag in a debugging version
    (by not listing .abi3.so in the extensions it supports), but
    it doesn't so far, creating troubles.  That's why we check
    for "not hasattr(sys, 'gettotalrefcount')" (the 2.7 compatible equivalent
    of 'd' not in sys.abiflags). (http://bugs.python.org/issue28401)

    On Windows, with CPython <= 3.4, it's better not to use py_limited_api
    because virtualenv *still* doesn't copy PYTHON3.DLL on these versions.
    Recently (2020) we started shipping only >= 3.5 wheels, though.  So
    we'll give it another try and set py_limited_api on Windows >= 3.5.
    r��
recompilerZpy_limited_apiZgettotalrefcountNr�T)
�cffir4r&�sysZUSE_LIMITED_API�
setuptools�int�__version__�	partitionr )�	Extensionr1r4r8Zsetuptools_major_versionrrr�_set_py_limited_apiIs�r=c
	s�ddlm}ddlm}ddlm�ddlm�ddlm	�dg}|�
|�dg��t||�}|f�|d	�|���d��������	fd
d�	�|j
dur�g|_
|j
���|j�d|��G���fd
d�d��}	|	|jd<dS)Nr)r<��	build_ext��mkpath��logr3�$PLACEHOLDER�sources)�namerEcs\tj�|���}��d|��|�|dur:|��������|�}|sX��d�|S�Nzgenerating cffi module %rzalready up-to-date)r!r"�join�infoZ
make_c_source)Ztmpdir�pre_runZc_file�updated)r,r-rCrAr.r4r/r0rr�make_modws

z_add_c_module.<locals>.make_modr?cseZdZ���fdd�ZdS)z)_add_c_module.<locals>.build_ext_make_modcs:�jddkr,t|dd�}�|j|��jd<��|�dS)NrrDrJ)rE�getattrZ
build_temp�run)�selfrJ��
base_classr,rLrrrN�sz-_add_c_module.<locals>.build_ext_make_mod.runN�r�
__module__�__qualname__rNrrPrr�build_ext_make_mod�srU)N)Zdistutils.corer<�setuptools.command.build_extr?�distutils.dir_utilrA�	distutilsrCr6r4�extend�popr=Zext_modules�append�cmdclass�get)
r*r-r.r/r0r1r<r?Z
allsourcesrUr)
rQr,r-rCrLrAr.r4r/r0rr)js 

r)cs�ddlm�ddlm}ddlm}ddlm�ddlm	������fdd��|j
�d	|��G���fd
d�d��}||j
d	<|jdur�g|_|j�
��|j
�d|��G���fd
d�d��}||j
d<dS)Nrr@)�build_pyr>rBr3cs>��d|��tj�|������|�}|s:��d�dSrG)rIr!r"�dirnameZmake_py_source)Zpy_filerK)r-rCrAr.r4rr�generate_mod�s
z$_add_py_module.<locals>.generate_modr^cs*eZdZ���fdd�Z��fdd�ZdS)z)_add_py_module.<locals>.build_py_make_modcsB��|���d�}|dd7<�tjj|jg|�R��dS)Nr���r)rNrr!r"rHZ	build_lib)rO�module_path�rQr`r.rrrN�s

z-_add_py_module.<locals>.build_py_make_mod.runcs>|j}z*|r �fdd�|D�|_��|�W||_S||_0dS)Ncsg|]}|�kr|�qSrr)�.0�m)r.rr�
<listcomp>�s�zN_add_py_module.<locals>.build_py_make_mod.get_source_files.<locals>.<listcomp>)�
py_modules�get_source_files)rOZsaved_py_modules)rQr.rrrh�s
�z:_add_py_module.<locals>.build_py_make_mod.get_source_filesN)rrSrTrNrhrrcrr�build_py_make_mod�srir?cseZdZ���fdd�ZdS)z*_add_py_module.<locals>.build_ext_make_modcsb��|�|jr^��d�}d�|dd��}|�d�}|�|�}|dd}�tj�||��dS)Nrrar^r)rNZinplacerrHZget_finalized_commandZget_package_dirr!r")rOrb�packager^Zpackage_dir�	file_name��base_class_2r`r.rrrN�s



z._add_py_module.<locals>.build_ext_make_mod.runNrRrrlrrrU�srU)rWrAZsetuptools.command.build_pyr^rVr?rXrCr6r4r\r]rgr[)r*r-r.r^r?rirUr)rQrmr-r`rCrAr.r4rr(�s


r(cCs(t|t�r|g}|D]}t||�qdS)N)rrr2)r*�attr�valueZcffi_modulerrr�cffi_modules�s
rp)r!r7r�	NameErrorrrrr2r=r)r(rprrrr�<module>s

-!.=
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg