
\c           @   sd   d  d l  Z  d  d l Z d  d l Z d d l m Z d d l m Z d e f d     YZ d Z	 d S(   iNi   (   t   model(   t   VerificationErrort   VGenericEnginec           B   s  e  Z d  Z e Z d   Z d   Z d   Z d   Z d d  Z	 d   Z
 d d	  Z d
   Z d   Z d   Z d   Z d   Z e Z e Z e Z d   Z e 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. d d. d  Z% d    Z& e Z' d. d!  Z( d"   Z) d#   Z* d$   Z+ d%   Z, d& d'  Z- d& d(  Z. d)   Z/ d*   Z0 e Z1 d+   Z2 d,   Z3 e Z4 d-   Z5 RS(/   t   gc         C   s+   | |  _  | j |  _ g  |  _ i  |  _ d  S(   N(   t   verifiert   ffit   export_symbolst   _struct_pending_verification(   t   selfR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   __init__   s    		c         C   s   | j  d |  j  d  S(   NR   (   t
   setdefaultR   (   R   t   kwds(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   patch_extension_kwds   s    c         C   ss   xl | D]d } | | } | d  k r/ t j } n  x9 | D]1 } t j j | |  } t j j |  r6 | Sq6 Wq Wd  S(   N(   t   Nonet   syst   patht   ost   joint   isfile(   R   t   module_nameR   t   so_suffixest	   so_suffixt   basenamet   dirnamet   filename(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   find_module   s    
c         C   s   d  S(   N(    (   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   collect_types%   s    t    c         C   s   |  j  j | d  d  S(   Ns   
(   t   _ft   write(   R   t   what(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _prnt(   s    c         C   s   |  j  } | t  | |  j j  |  j d  t j d k r t j d k rW d } n d } |  j j   } | d | | f  n  d  S(   Nt   declt   win32i   t   PyInit_t   inits   void %s%s(void) { }
(   i   (	   R   t   cffimod_headerR   t   preamblet	   _generateR   t   platformt   version_infot   get_module_name(   R   t   prntt   prefixt   modname(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   write_source_to_f+   s    	
	i    c            s    j  j } t j j t j  j j  } | j | |    j	  d  d t
 j f     f d     Y    d  }  j	  d d | | S(   Nt   loadingt
   FFILibraryc              s,   e  Z  Z  j Z g  Z   f d    Z RS(   c            s     j  S(   N(   t	   _cffi_dir(   R   (   R/   (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   __dir__T   s    (   t   __name__t
   __module__t   _cffi_generic_moduleR   t	   _cffi_ffiR0   R1   (    (   R/   t   moduleR   (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR/   P   s   	R   t   loadedt   library(   R   t   _backendR   R   R   t   curdirR   t   modulefilenamet   load_libraryt   _loadt   typest
   ModuleType(   R   t   flagst   backendR   R8   (    (   R/   R6   R   s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR<   A   s    %c         C   sH   g  |  j  j j j   D] \ } \ } } | | f ^ q } | j   | S(   N(   R   t   _parsert   _declarationst   itemst   sort(   R   t   keyt   tpt   qualt   lst(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _get_declarations]   s    7
c         C   s   x |  j    D] \ } } | j d d  \ } } y t |  d | | f  } Wn! t k
 rq t d |   n Xy | | |  Wq t k
 r } t j | |    q Xq Wd  S(   Nt    i   s   _generate_gen_%s_%ss   not implemented in verify(): %r(   RJ   t   splitt   getattrt   AttributeErrorR   t	   ExceptionR    t   attach_exception_info(   R   t	   step_namet   nameRG   t   kindt   realnamet   methodt   e(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR&   c   s    c   
      K   s   x |  j    D]} \ } } | j d d  \ } } t |  d | | f  } y | | | | |  Wq t k
 r }	 t j |	 |    q Xq Wd  S(   NRK   i   s
   _%s_gen_%s(   RJ   RL   RM   RO   R    RP   (
   R   R6   RQ   R   RR   RG   RS   RT   RU   RV   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR=   r   s    c         C   s   d  S(   N(    (   R   RG   RR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_nothing|   s    c         K   s   d  S(   N(    (   R   RG   RR   R6   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_noop   s    c         C   s8  t  | t j  s t  | j r8 |  j t | |  d  S|  j } t | j	  } g  } xU t
 | j	  D]D \ } } d } t  | t j  r d } n  | j d | | f  qf Wd | }	 g  t | j	 |  D]" \ } }
 | j d |
 |	  ^ q } | j } t  | t j  r6| j d | j d |	   t j } n  d j |  pHd	 } d
 | } |  j j |  | j r~| j d } n d } d | | | f } d | }	 | | j | |	   | d  t  | j t j  rd } n$ t  | j t j  sd } n d } | d | | d j |  f  | d  |   d  S(   NR   t   *s   %sx%ds   argument of %ss    %si    s    *rs   , t   voids
   _cffi_f_%sRK   s	    %s%s(%s)s   result of %st   {s   *r = s   return s     %s%s(%s);t   }(   t
   isinstanceR    t   FunctionPtrTypet   AssertionErrort   ellipsist   _generate_gen_constt   FalseR   t   lent   argst	   enumeratet   StructOrUniont   appendt   zipt
   get_c_namet   resultt   insertt	   void_typeR   R   t   abit   VoidType(   R   RG   RR   R*   t   numargst   argnamest   it   typet   indirectiont   contextt   argt   arglistt   tpresultt   wrappernameRm   t   funcdeclt   result_code(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_function_decl   sJ    			
8	
	

		 
c         C   s  t  | t j  s t  | j r< |  j t | | |  } ng  } | } t d   | j D  sv t  | j	 t j
  rg  } xa t | j  D]P \ }	 }
 t  |
 t j
  r t j |
  }
 | j |	 |
 f  n  | j |
  q W| j	 } t  | t j
  rg| j d  k r&t d | j   f   n  t j |  } | j d |  | j d d | f  t j } n  t j t |  | | j  } n  |  j j |  } d | } | j | |  } x, | D]$ \ }	 }
 |  j | |	 |
 |  } qWt | | |  t |  j j |  d  S(   Nc         s   s!   |  ] } t  | t j  Vq d  S(   N(   R]   R    Rf   (   t   .0t   typ(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pys	   <genexpr>   s    s*   '%s' is used as result type, but is opaquei    Rj   s
   _cffi_f_%s(   R]   R    R^   R_   R`   t   _load_constantRb   t   anyRd   Rj   Rf   Re   t   PointerTypeRg   t   fldtypesR   t	   TypeErrort   _get_c_nameRk   Rl   t   tupleR   t   _get_cached_btypet   load_functiont   _make_struct_wrappert   setattrRr   R0   (   R   RG   RR   R6   R8   t   newfunctiont   indirectionst   base_tpt   indirect_argsRq   R}   t   indirect_resultt   BFuncRx   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_function   s@    		
c            sp   |  j  j  |  j  j |     d k rK |  j       f d   } n      f d   } | | _ | S(   NRj   c             s$    j     }  | |   | d S(   Ni    (   t   new(   Rd   t   res(   t   BTypeR   t   oldfunc(    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   newfunc   s    c             s7   |     j    |    f |   d }   |    S(   Ni   (   t   newp(   Rd   (   R   RA   Rq   R   (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR      s    -(   R   R9   R   t   _cffi_base_type(   R   R   Rq   RG   R   R   (    (   R   RA   R   Rq   R   s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR      s    		c         C   s,   | | j  k s t  |  j | d |  d  S(   Nt   struct(   RR   R_   t   _generate_struct_or_union_decl(   R   RG   RR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_struct_decl   s    c         C   s   |  j  | d | |  d  S(   NR   (   t   _loading_struct_or_union(   R   RG   RR   R6   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loading_gen_struct   s    c         K   s   |  j  |  d  S(   N(   t   _loaded_struct_or_union(   R   RG   RR   R6   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_struct   s    c         C   s,   | | j  k s t  |  j | d |  d  S(   Nt   union(   RR   R_   R   (   R   RG   RR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_union_decl   s    c         C   s   |  j  | d | |  d  S(   NR   (   R   (   R   RG   RR   R6   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loading_gen_union   s    c         K   s   |  j  |  d  S(   N(   R   (   R   RG   RR   R6   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_union  s    c         C   s  | j  d  k r d  Sd | | f } d | | f } d | | f j   } |  j } | d | | f  | d  | d  | d  x | j   D] \ } }	 }
 } t |	 t j  r |	 j   s |
 d k r | d	 |  q y. | d
 |	 j	 d d | d | | f  Wq t
 k
 r5} | d t |   q Xq W| d  |  j j |  | d | f  | d  | d |  | d  | d |  | d  x | j   D] \ } }	 }
 } |
 d k rqn  | d | | f  t |	 t j  r|	 j d  k r| d |	 j    q| d | | f  qW| d  | d  | d  | d  | d | f  | d  |   d  S(   Ns   _cffi_check_%s_%ss   _cffi_layout_%s_%ss   %s %ss   static void %s(%s *p)R[   s8     /* only to generate compile-time warnings or errors */s
     (void)p;i    s     (void)((p->%s) << 1);s     { %s = &p->%s; (void)tmp; }s   *tmps   field %rt   qualss
     /* %s */R\   s   intptr_t %s(intptr_t i)s,     struct _cffi_aligncheck { char x; %s y; };s     static intptr_t nums[] = {s       sizeof(%s),s)       offsetof(struct _cffi_aligncheck, y),s       offsetof(%s, %s),s       0,  /* %s */s       sizeof(((%s *)0)->%s),s       -1s     };s     return nums[i];s3     /* the next line is not executed, but compiled */s     %s(0);(   t   fldnamesR   t   stripR   t
   enumfieldsR]   R    t   PrimitiveTypet   is_integer_typeRi   R   t   strR   Rg   t	   ArrayTypet   lengthR   (   R   RG   R+   RR   t   checkfuncnamet   layoutfuncnamet   cnameR*   t   fnamet   ftypet   fbitsizet   fqualRV   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     sT    	






!




c         C   sr  | j  d  k r d  Sd | | f } |  j j d  d } | j | |  } g  } d }	 x= t r | |	  }
 |
 d k  r| Pn  | j |
  |	 d 7}	 qZ Wt | t j	  rE| j
 rE| d } | d } | d d  d  } | d d  d  } | j   t |  t |  k o"t | j   k n s-t  | | | | f | _ n) d | | f j   } | | f |  j | <d  S(   Ns   _cffi_layout_%s_%ss   intptr_t(*)(intptr_t)i    i   i   i   s   %s %s(   R   R   R   t   _typeof_lockedR   t   TrueRg   R]   R    Rf   t   partialt   force_flattenRc   R_   t   fixedlayoutR   R   (   R   RG   R+   RR   R6   R   R   t   functiont   layoutt   numt   xt	   totalsizet   totalalignmentt   fieldofst	   fieldsizeR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR   7  s.    	 


7c         C   s~  | j  d  k r d  S|  j j |  | |  j k rzd   } |  j } | j |  } |  j j |  \ } } | | d | j |  d  | | d | j |  d  d } x | j   D] \ } }	 }
 } |
 d k r q n  | | | | j	 | |  d | f  | | d d k rQ| j |	  } | | | d | j |  d | f  n  | d 7} q W| t
 |  k szt  n  d  S(	   Nc         S   s,   |  | k r( t  d | | |  f   n  d  S(   Ns'   %s (we have %d, but C compiler says %d)(   R   (   t	   realvaluet   expectedvaluet   msg(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   checkZ  s    i    s   wrong total sizei   s   wrong total alignmenti   s   wrong offset for field %rs   wrong size for field %r(   R   R   R   R   R   t   popt   sizeoft   alignofR   t   offsetofRc   R_   (   R   RG   R   R   t   BStructR   R   Rq   R   R   R   R   t   BField(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR   S  s,    		c         C   s?   t  | t j  r( |  j | | d  n |  j | d |  d  S(   NR   (   R]   R    t   EnumTypet   _generate_gen_enum_declR   (   R   RG   RR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_anonymous_declu  s    c         C   sE   t  | t j  r+ |  j | | | d  n |  j | d | |  d  S(   NR   (   R]   R    R   t   _loading_gen_enumR   (   R   RG   RR   R6   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loading_gen_anonymous{  s    c         K   s<   t  | t j  r+ |  j | | | |  n |  j |  d  S(   N(   R]   R    R   t   _loaded_gen_enumR   (   R   RG   RR   R6   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_anonymous  s    t   constc   
      C   s  |  j  } d | | f } |  j j |  | d  k	 r | sA t  | d k sS t  | d |  | d  |  j | |  | d  | d  n| r | d k s t  | d |  | d  | d | f  | d	 | f  | d  n | d  k	 st  | d  k st  | d
 k r*d } n d } d }	 | d k rct | t j  rcd }	 d } n  | | j	 d |	 | f |   | d  | d | | f  | d  |   d  S(   Ns   _cffi_%s_%sR   s   int %s(char *out_error)R[   s     return 0;R\   s   int %s(long long *out_value)s     *out_value = (long long)(%s);s     return (%s) <= 0;t   vart   &R   s   const *s    %s%s(void)s     return (%s%s);(
   R   R   Rg   R   R_   t   _check_int_constant_valueR]   R    Rf   Ri   (
   R   t   is_intRR   RG   t   categoryt   check_valueR*   t   funcnamet	   ampersandt   extra(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyRa     s@    	


		 

c         C   s5   t  | t j  o | j   } |  j | | |  d  S(   N(   R]   R    R   R   Ra   (   R   RG   RR   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_constant_decl  s    c         C   s  d | } | d  k	 r; | s" t  |  j | |  | } nR| r |  j j d  d } |  j j d  d }	 | j |	 |  }
 |  j j |  } |
 |  } t | d  } | d k  r| r|  j j d  d } | d d |  j j |  >7} qn | d  k st  d } t	 | t
 j  r1d	 | } n  |  j j | j | |   d }	 | j |	 |  }
 |
   } t	 | t
 j  r| d } n  | S(
   Ns   _cffi_const_%ss
   long long*i    s   int(*)(long long*)s	   long longi   i   s	   (*)(void)RY   (   R   R_   t   _load_known_int_constantR   R   R   R   t   intR   R]   R    Rf   Ri   (   R   R   RG   RR   R6   R   R   t   valueR   R   R   t   pt   negativet	   BLongLongt   fntypeextra(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR~     s2    
	$"	c         C   s`   t  | t j  o | j   } |  j | | | |  } t | | |  t |  j j |  d  S(   N(	   R]   R    R   R   R~   R   Rr   R0   Rg   (   R   RG   RR   R6   R8   R   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_constant  s    c         C   s   |  j  } | d k r/ | d | | | f  n | d | | | f  | d  | d |  | d |  | d  | d |  | d	  | d
 | d  | f  | d  | d  d  S(   Ni    s&     if ((%s) > 0 || (long)(%s) != %dL) {s1     if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {s       char buf[64];s       if ((%s) <= 0)s)           sprintf(buf, "%%ld", (long)(%s));s       elses2           sprintf(buf, "%%lu", (unsigned long)(%s));s:       sprintf(out_error, "%s has the real value %s, not %s",s               "%s", buf, "%d");id   s       return -1;s     }(   R   (   R   RR   R   R*   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     s     	



c         C   s   |  j  j d  d } |  j  j d  d } | j | |  } |  j  j | d  } | |  d k  r |  j  j |  } t j d k r t | d  } n  t |   n  d  S(   Ns   char[]i    s   int(*)(char*)i   i   s   utf-8(   i   (	   R   R   R   R   t   stringR   R(   R   R   (   R   R6   R   R   R   R   R   t   error(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     s    c         C   s    | j  d d  } d | | f S(   Nt   $t   ___D_s   _cffi_e_%s_%s(   t   replace(   R   R+   RR   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _enum_funcname  s    t   enumc         C   s   | j  r1 x! | j D] } |  j t |  q Wd  S|  j | |  } |  j j |  |  j } | d |  | d  x3 t | j | j	  D] \ } } |  j
 | |  q W| d  | d  |   d  S(   Ns   int %s(char *out_error)R[   s     return 0;R\   (   R   t   enumeratorsRa   R   R   R   Rg   R   Rh   t
   enumvaluesR   (   R   RG   RR   R+   t
   enumeratorR   R*   t	   enumvalue(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     s    		
"

c         C   sx   | j  rR g  | j D] } |  j t | | |  ^ q } t |  | _ t | _ n" |  j | |  } |  j | |  d  S(   N(	   R   R   R~   R   R   R   t   partial_resolvedR   R   (   R   RG   RR   R6   R+   R   R   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     s    	+c         C   sP   xI t  | j | j  D]2 \ } } t | | |  t |  j j |  q Wd  S(   N(   Rh   R   R   R   Rr   R0   Rg   (   R   RG   RR   R6   R8   R   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR     s    "c         C   s5   | d k r d  } n | } |  j t | d | d  S(   Ns   ...R   (   R   Ra   R   (   R   RG   RR   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_macro_decl   s    	c         C   sc   | d k r d  } n | } |  j t | | | d | } t | | |  t |  j j |  d  S(   Ns   ...R   (   R   R~   R   R   Rr   R0   Rg   (   R   RG   RR   R6   R8   R   R   (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_macro)  s    		c         C   s   t  | t j  r | j d k r} |  j } d | f } |  j j |  | d |  | d  | d | f  | d  n  t j | j  } |  j	 t
 | |  n( t j |  } |  j	 t
 | | d d d  S(	   Ns   ...s   _cffi_sizeof_%ss   size_t %s(void)R[   s     return sizeof(%s);R\   R   R   (   R]   R    R   R   R   R   Rg   R   t   itemRa   Rb   (   R   RG   RR   R*   R   t   tp_ptr(    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _generate_gen_variable_decl6  s    	
c            s  t  | t j  r\| j d k r d | f } |  j j d  d } | j | |  } |   } |  j j | j  }	 t	 | |  j j
 |	   \ }
 } | d k r t d | | j f   n  | j |
  } n  t j | j  } |  j t | | |  } | j d  k	 r2|  j j |  } |  j j | |  } n  t | | |  t |  j j |  d  Sd | } |  j j | j d |   d } | j | |  } |       f d   }   f d	   } t t |  | t | |   t |  j j |  d  S(
   Ns   ...s   _cffi_sizeof_%ss   size_t(*)(void)i    s/   bad size: %r does not seem to be an array of %ss   _cffi_var_%ss
   *(*)(void)c            s     d S(   Ni    (    (   R8   (   t   ptr(    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   getterg  s    c            s   |   d <d  S(   Ni    (    (   R8   R   (   R   (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   setteri  s    (   R]   R    R   R   R   R   R   R   R   t   divmodR   R   t   resolve_lengthR   R~   Rb   R   t   castR   Rr   R0   Rg   Ri   t   property(   R   RG   RR   R6   R8   R   R   R   t   sizet	   BItemTypeR   t   restR   R   t   BArrayR   R   (    (   R   s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   _loaded_gen_variableH  s:    	!
"	N(6   R2   R3   t
   _class_keyRb   t   _gen_python_moduleR	   R   R   R   R   R-   R<   RJ   R&   R=   RW   RX   t   _generate_gen_typedef_declt   _loading_gen_typedeft   _loaded_gen_typedefR{   t   _loading_gen_functionR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   Ra   R   t   _loading_gen_constantR~   R   R   R   R   R   R   R   R   t   _loading_gen_macroR   R   t   _loading_gen_variableR   (    (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyR      sf   			
					
			-	$								1		"				$						
				sd  
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <errno.h>
#include <sys/types.h>   /* XXX for ssize_t on some platforms */

/* this block of #ifs should be kept exactly identical between
   c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py
   and cffi/_cffi_include.h */
#if defined(_MSC_VER)
# include <malloc.h>   /* for alloca() */
# if _MSC_VER < 1600   /* MSVC < 2010 */
   typedef __int8 int8_t;
   typedef __int16 int16_t;
   typedef __int32 int32_t;
   typedef __int64 int64_t;
   typedef unsigned __int8 uint8_t;
   typedef unsigned __int16 uint16_t;
   typedef unsigned __int32 uint32_t;
   typedef unsigned __int64 uint64_t;
   typedef __int8 int_least8_t;
   typedef __int16 int_least16_t;
   typedef __int32 int_least32_t;
   typedef __int64 int_least64_t;
   typedef unsigned __int8 uint_least8_t;
   typedef unsigned __int16 uint_least16_t;
   typedef unsigned __int32 uint_least32_t;
   typedef unsigned __int64 uint_least64_t;
   typedef __int8 int_fast8_t;
   typedef __int16 int_fast16_t;
   typedef __int32 int_fast32_t;
   typedef __int64 int_fast64_t;
   typedef unsigned __int8 uint_fast8_t;
   typedef unsigned __int16 uint_fast16_t;
   typedef unsigned __int32 uint_fast32_t;
   typedef unsigned __int64 uint_fast64_t;
   typedef __int64 intmax_t;
   typedef unsigned __int64 uintmax_t;
# else
#  include <stdint.h>
# endif
# if _MSC_VER < 1800   /* MSVC < 2013 */
#  ifndef __cplusplus
    typedef unsigned char _Bool;
#  endif
# endif
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
#endif
(
   R   R   R>   R   R    R   R   t   objectR   R$   (    (    (    s/   lib/python2.7/site-packages/cffi/vengine_gen.pyt   <module>   s     