B
    (¸hÑ
  ã               @   s¾   d dl Z ddlmZ ddlmZ i Zyd dlmZ eeƒ W n ek
rP   Y nX e 	dd¡ed< ded	< x"ej
jD ]Ze d
¡rteee< qtW [i Zdd„ Zdd„ Ze jdkrºe eƒ ¡ dS )é    Né   )Úmodel)ÚFFIError)Ú_get_common_typesZFILEZ_IO_FILEÚ_BoolÚboolZ_tc             C   s¾   yt | S  tk
r¸   t ||¡}t|tƒs:|d }}nZ|tjjkrXt |¡d }}n<|dkrpt	d|f ƒ‚n$||kr†t	d|f ƒ‚|  
|¡\}}t|tjƒs¤t‚||ft |< ||fS X d S )Nr   zset-unicode-neededzFThe Windows type %r is only available after you call ffi.set_unicode()z®Unsupported type: %r.  Please look at http://cffi.readthedocs.io/en/latest/cdef.html#ffi-cdef-limitations and file an issue if you think this type should really be supported.)Ú_CACHEÚKeyErrorÚCOMMON_TYPESÚgetÚ
isinstanceÚstrr   ÚPrimitiveTypeÚALL_PRIMITIVE_TYPESr   Úparse_type_and_qualsÚBaseTypeByIdentityÚAssertionError)ÚparserZ
commontypeÚcdeclÚresultÚquals© r   úMC:\Users\sanjo\AppData\Local\Qlobot\Launcher\ext_packages\cffi\commontypes.pyÚresolve_common_type   s&    

r   c               C   sR   t  ddddgt  d¡t  d¡t  t  d¡¡gdddg¡dd	d
d
d
d
d
d
d
d
dœS )NZ_UNICODE_STRINGZLengthZMaximumLengthÚBufferzunsigned shortÚwchar_téÿÿÿÿzUNICODE_STRING *zconst UNICODE_STRING *zset-unicode-needed)ZUNICODE_STRINGZPUNICODE_STRINGZPCUNICODE_STRINGZTBYTEZTCHARZLPCTSTRZPCTSTRZLPTSTRZPTSTRZPTBYTEZPTCHAR)r   Ú
StructTyper   ÚPointerTyper   r   r   r   Úwin_common_types7   s&    
r   Úwin32)ÚsysÚ r   Úerrorr   r
   Ú_cffi_backendr   ÚImportErrorÚunknown_typer   r   Ú_typeÚendswithr   r   r   ÚplatformÚupdater   r   r   r   Ú<module>   s&   

