o
    
c\                     @   s
  d dl mZ G dd deZdd Zd ZdZdZdZd	Z	d
Z
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd ZdZdZdZdZdZ dZ!dZ"d	Z#dZ$d
Z%d Z&dZ'd!Z(dZ)d"Z*dZ+d#Z,dZ-d$Z.dZ/d%Z0dZ1d&Z2dZ3d'Z4dZ5d(Z6dZ7d)Z8dZ9d*Z:dZ;d+Z<dZ=d,Z>dZ?d-Z@dZAd.ZBdZCd/ZDd0ZEd1ZFd2ZGd3ZHd4ZId5ZJd6ZKd7ZLd8ZMd9ZNd:ZOd;ZPd<ZQd:ZRi d=ed>ed?e!d@e#dAe%dBedCedDe dEe"dFe$dGe&dHe'dIe(dJe)dKeJdLeKdMei dNe*dOeLdPeMdQe+dRe,dSe-dTe.dUe/dVe0dWe1dXe2dYe3dZe4d[e5d\e6d]e7d^e8i d_e9d`e:dae;dbe<dce=dde>dee?dfe@dgeAdheBdieCdjeDdkeEdleFdmeGdneHdoeIZSd ZTdZUdZVdZWd"ZXeYdpdq drD ZZi Z[e\e] ^ D ]\Z_Z`e_adsrebe`ecre_ddt e[e`< qidtS )u   )VerificationErrorc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
CffiOpc                 C   s   || _ || _d S )N)oparg)selfr   r    r   =/opt/certbot/lib/python3.10/site-packages/cffi/cffi_opcode.py__init__   s   
zCffiOp.__init__c                 C   s>   | j d u rt| jtsJ d| jf S t| j  }d|| jf S )Nz(_cffi_opcode_t)(%s)z_CFFI_OP(_CFFI_OP_%s, %s))r   
isinstancer   str
CLASS_NAMEr   	classnamer   r   r   	as_c_expr   s
   

zCffiOp.as_c_exprc                 C   sn   | j d u r| j rt| j}|dkrtd| jf t|S t| jtr-td| jf t| jd> | j B S )Nl        z"cannot emit %r: limited to 2**31-1zcannot emit to Python: %r   )	r   r   isdigitintOverflowErrorformat_four_bytesr
   r   r   )r   valuer   r   r   as_python_bytes   s   
zCffiOp.as_python_bytesc                 C   s   t | j| j}d|| jf S )Nz(%s %s))r   getr   r   r   r   r   r   __str__   s   zCffiOp.__str__N)__name__
__module____qualname__r	   r   r   r   r   r   r   r   r      s
    r   c                 C   s,   d| d? d@ | d? d@ | d? d@ | d@ f S )Nz\x%02X\x%02X\x%02X\x%02X         r   r   )numr   r   r   r      s   


r            	                                    !   #   %   '   )                r   
         r            r                "   $   &   (   *   +   ,   -   .   /   0   1   2   3   4   charshortr   longz	long longzsigned charzunsigned charzunsigned shortzunsigned intzunsigned longzunsigned long longfloatdoublezlong doublezfloat _Complexzdouble _Complex_Boolwchar_tchar16_tchar32_tint8_tuint8_tint16_tuint16_tint32_tuint32_tint64_tuint64_tintptr_t	uintptr_t	ptrdiff_tsize_tssize_tint_least8_tuint_least8_tint_least16_tuint_least16_tint_least32_tuint_least32_tint_least64_tuint_least64_tint_fast8_tuint_fast8_tint_fast16_tuint_fast16_tint_fast32_tuint_fast32_tint_fast64_tuint_fast64_tintmax_t	uintmax_tc                 C   s   g | ]}d | t  | fqS )_CFFI_)globals).0_keyr   r   r   
<listcomp>   s    r   )F_UNIONF_CHECK_FIELDSF_PACKED
F_EXTERNALF_OPAQUEOP_N)derrorr   objectr   r   OP_PRIMITIVE
OP_POINTEROP_ARRAYOP_OPEN_ARRAYOP_STRUCT_UNIONOP_ENUMOP_FUNCTIONOP_FUNCTION_ENDOP_NOOPOP_BITFIELDOP_TYPENAMEOP_CPYTHON_BLTN_VOP_CPYTHON_BLTN_NOP_CPYTHON_BLTN_OOP_CONSTANTOP_CONSTANT_INTOP_GLOBAL_VAROP_DLOPEN_FUNCOP_DLOPEN_CONSTOP_GLOBAL_VAR_FOP_EXTERN_PYTHON	PRIM_VOID	PRIM_BOOL	PRIM_CHAR
PRIM_SCHAR
PRIM_UCHAR
PRIM_SHORTPRIM_USHORTPRIM_INT	PRIM_UINT	PRIM_LONG
PRIM_ULONGPRIM_LONGLONGPRIM_ULONGLONG
PRIM_FLOATPRIM_DOUBLEPRIM_LONGDOUBLE
PRIM_WCHAR	PRIM_INT8
PRIM_UINT8
PRIM_INT16PRIM_UINT16
PRIM_INT32PRIM_UINT32
PRIM_INT64PRIM_UINT64PRIM_INTPTRPRIM_UINTPTRPRIM_PTRDIFF	PRIM_SIZE
PRIM_SSIZEPRIM_INT_LEAST8PRIM_UINT_LEAST8PRIM_INT_LEAST16PRIM_UINT_LEAST16PRIM_INT_LEAST32PRIM_UINT_LEAST32PRIM_INT_LEAST64PRIM_UINT_LEAST64PRIM_INT_FAST8PRIM_UINT_FAST8PRIM_INT_FAST16PRIM_UINT_FAST16PRIM_INT_FAST32PRIM_UINT_FAST32PRIM_INT_FAST64PRIM_UINT_FAST64PRIM_INTMAXPRIM_UINTMAXPRIM_FLOATCOMPLEXPRIM_DOUBLECOMPLEXPRIM_CHAR16PRIM_CHAR32	_NUM_PRIM_UNKNOWN_PRIM_UNKNOWN_FLOAT_PRIM_UNKNOWN_LONG_DOUBLE_IO_FILE_STRUCTPRIMITIVE_TO_INDEXr   r   r   r   r   dictG_FLAGSr   listr}   items_name_value
startswithr
   r   r   r   r   r   <module>   s   	
 !"#$%&'()*+,-./01236