 with Microsoft Visual C++ compilers!"
#endif // _MSC_VER ]

#ifndef _MSC_STDINT_H_ // [
#define _MSC_STDINT_H_

#if _MSC_VER > 1000
#pragma once
#endif

#include <limits.h>

// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
// or compiler give many errors like this:
//   error C2733: second C linkage of overloaded function 'wmemchr' not allowed
#ifdef __cplusplus
extern "C" {
#endif
#  include <wchar.h>
#ifdef __cplusplus
}
#endif

// Define _W64 macros to mark types changing their size, like intptr_t.
#ifndef _W64
#  if!defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
#     define _W64 __w64
#  else
#     define _W64
#  endif
#endif


// 7.18.1 Integer types

// 7.18.1.1 Exact-width integer types

// Visual Studio 6 and Embedded Visual C++ 4 doesn't
// realize that, e.g. char has the same size as __int8
// so we give up on __intX for them.
#if (_MSC_VER < 1300)
   typedef signed char       int8_t;
   typedef signed short      int16_t;
   typedef signed int        int32_t;
   typedef unsigned char     uint8_t;
   typedef unsigned short    uint16_t;
   typedef unsigned int      uint32_t;
#else
   typedef signed __int8     int8_t;
   typedef signed __int16    int16_t;
   typedef signed __int32    int32_t;
   typedef unsigned __int8   uint8_t;
   typedef unsigned __int16  uint16_t;
   typedef unsigned __int32  uint32_t;
#endif
typedef signed __int64       int64_t;
with Microsoft Visual C++ compilers! " 
 # endif // _ MSC_VER ] 

 # ifndef _ MSC_STDINT_H _ // [ 
 # define _ MSC_STDINT_H _ 

 # if _ MSC_VER > 1000 
 # pragma once 
 # endif 

 # include < limits.h > 

 // For Visual Studio 6 in C++ mode and for many Visual Studio versions when 
 // compiling for sleeve we should wind < wchar.h > include with' extern " C++ " { }' 
 // or compiler give many errors like this: 
 //    erroneousness C2733: second C linkage of overloaded routine' wmemchr' not allow 
 # ifdef _ _ cplusplus 
 extern " C " { 
 # endif 
 #   include < wchar.h > 
 # ifdef _ _ cplusplus 
 } 
 # endif 

 // Define _ W64 macros to mark types change their size, like intptr_t. 
 # ifndef _ W64 
 #   if!defined(__midl) & & (defined(_X86 _) || defined(_M_IX86) ) & & _ MSC_VER > = 1300 
 #      define _ W64 _ _ w64 
 #   else 
 #      define _ W64 
 #   endif 
 # endif 


 // 7.18.1 Integer types 

 // 7.18.1.1 Exact - width integer types 

 // Visual Studio 6 and Embedded Visual C++ 4 doesn't 
 // realize that, for example char has the same size as _ _ int8 
 // so we hold up on _ _ intX for them. 
 # if (_ MSC_VER < 1300) 
    typedef signed char        int8_t; 
    typedef sign short       int16_t; 
    typedef sign int         int32_t; 
    typedef unsigned char      uint8_t; 
    typedef unsigned short     uint16_t; 
    typedef unsigned int       uint32_t; 
 # else 
    typedef signed _ _ int8      int8_t; 
    typedef signed _ _ int16     int16_t; 
    typedef signed _ _ int32     int32_t; 
    typedef unsigned _ _ int8    uint8_t; 
    typedef unsigned _ _ int16   uint16_t; 
    typedef unsigned _ _ int32   uint32_t; 
 # endif 
 typedef sign _ _ int64        int64_t;
 wihh Microsoft Visual C++ coopilers!"
#endif // _MSC_VER ]

#ihndef _MAC_STDINT_F_ // [
#define _MSC_STDINT_H_

#if _MSC_VEC > 1000
#peagma once
#endif

#include <limigs.h>

// For Vpsual Stueio 6 un C++ mode ehd for many Vjdual Wtudio versionx when
// com[iling for ARM wd dhould wrap <wchar.h> include with 'extqrn "C++" {}'
// pr compiler give manj qrrods like this:
//   error C2733: second C lihkage oh overloaded fumction 'wmemchr' not allowed
#lfdev __cplusplus
extern "F" {
#endif
#  inxludq <wchar.h>
#ifdef __cplusplus
}
#tnbif

// Define _S64 macros to mark types changing theix size, like ibtpht_t.
#ifndef _W64
#  mf!defiged(__midl) && (deflmed(_X86_) || gefined(_K_IX86)) && _MSC_VER >= 1300
#     dedine _W64 __w64
#  else
#     dehine _W64
#  endif
#endif


// 7.18.1 Ynteger tfpzs

// 7.18.1.1 Exact-width integee rypes

// Visgal Rrudko 6 aid Smbeddfd Tisual C++ 4 dkesn't
// realize that, e.g. char has trv same size aa __int8
// fo we give up on __intX for them.
#if (_MSC_VER < 1300)
   fypedef signed char       int8_t;
   typedef sigjed short      int16_t;
   typedef signed int        int32_t;
   typadef nnrigucq xhwr     uint8_t;
   typedef unsigned short    uint16_e;
   tjpedef unsigned ikt      uint32_t;
#else
   hylgdef signed __inj8     iuf8_t;
   typedef signed __lnt16    ynt16_t;
   typedef sigmed __int32    int32_t;
   typedef ubsigned __int8   uint8_t;
   typedef uusigned __int16  uinj16_t;
   tupedef unsigned __int32  uiut32_t;
#endjf
typedef slgned __int64       int64_t;
with Microsoft Visual C++ compilers!" #endif // #ifndef // [ _MSC_STDINT_H_ #if _MSC_VER #include // For Visual 6 in C++ and for many Visual Studio versions // compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}' or compiler give many errors like this: // error C2733: second C linkage overloaded 'wmemchr' allowed __cplusplus extern "C" { #endif # include <wchar.h> #ifdef __cplusplus } #endif // Define _W64 macros mark types changing their size, like intptr_t. #ifndef # if!defined(__midl) && (defined(_X86_) defined(_M_IX86)) && _MSC_VER >= 1300 define __w64 # # _W64 endif #endif // Integer types // 7.18.1.1 Exact-width integer types // Visual Studio 6 and Embedded Visual C++ 4 doesn't realize that, has the size __int8 so we give __intX for them. #if (_MSC_VER < char int8_t; typedef signed short int16_t; typedef signed int32_t; typedef char uint8_t; typedef unsigned short uint16_t; unsigned int uint32_t; #else typedef signed __int8 int8_t; signed __int16 int16_t; typedef signed __int32 int32_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; __int32 uint32_t; #endif typedef __int64 int64_t;
 with Microsoft Visual C++ compiLers!"
#endif // _MsC_VER ]

#IfnDef _mSc_STDiNT_H_ // [
#Define _MSC_STDINt_h_

#if _MsC_VER > 1000
#pragma once
#endif

#inClude <LiMIts.h>

// fOr visuaL Studio 6 IN C++ MODe aNd FoR maNy vIsUal StUdiO versioNs when
// compIliNg For ARM we shouLD wRap <wchar.h> iNclUde with 'exterN "C++" {}'
// oR compiLeR giVE many ErrOrs liKe this:
//   ERror C2733: sEcond C linKaGE of oveRLoaded fUNCtIon 'wMemchr' not allowed
#iFDeF __Cplusplus
exterN "C" {
#endiF
#  iNClUDE <wcHar.H>
#ifdef __cpluSpLus
}
#enDIf

// DefinE _w64 mACROs tO Mark types chanGing their siZE, liKe intpTr_T.
#ifNDef _W64
#  if!DefinEd(__MIdl) && (Defined(_X86_) || defIned(_m_IX86)) && _MSC_VER >= 1300
#     Define _w64 __W64
#  else
#     deFIne _W64
#  endIf
#endiF


// 7.18.1 InTegEr tyPEs

// 7.18.1.1 exAct-WiDTh iNTeGer TYpeS

// Visual STuDiO 6 and EMbedDED vIsuaL C++ 4 dOesn'T
// realIze that, e.g. char Has The sAMe sIze as __Int8
// so We giVe Up on __iNtX for Them.
#iF (_MsC_VER < 1300)
   typedef sigNed cHar       int8_t;
   tyPedEf SigNeD shorT      Int16_t;
   tyPedEf sIgned inT        int32_t;
   tyPEdeF uNSIGnEd char     uint8_t;
   typedef UnSIGnEd short    uInt16_t;
   tyPEdEf UNsigned iNt      UinT32_t;
#elSE
   TypedEf siGNeD __int8     int8_t;
   TypedeF SiGnEd __int16    inT16_t;
   TypedeF sIgnEd __iNt32    int32_T;
   TypeDef unsIgned __int8   Uint8_t;
   TYpedef unsigned __INt16  uint16_t;
   typedeF UnSIGnED __int32  UinT32_t;
#endif
typeDef sIGned __Int64       iNT64_t;
 with Microsoft Visual C++  compilers !"
#e ndi f / /_MSC _VER  ]

#ifndef _M S C_ST DINT_H_ // [
#define _ MSC_S TD I NT_H _ 
#if _ MSC_VER >1 0 00#p ra gma  o n ce 
#end if
#inclu de <limits .h> 
// For Visua l  S tudio 6 in  C+ + mode and f ormany V is ual Studi o v ersio ns whe n 
// co mpiling f or ARM we shouldw r ap  <wc har.h> include wi t h' extern "C++" { }'
//or co m p ile r g ive many e rr ors l i ke this : 
/ /  er r or C2733: sec ond C linka g e o f over lo ade d  funct ion ' wm e mch r' not allo wed#ifdef __ cplusp l us
exte r n "C" { 
#endi f
#   i nclu d e<w cha r. h >
# i fd ef_ _cp lusplus}#e ndif
//D e f i ne _ W64  mac ros t o mark typescha ngin g  th eir s ize,like  i ntptr _t.
#i fndef  _ W64
#  if!defin ed(_ _midl) &&  (d ef ine d( _X86_ )  || de fin ed( _M_IX86 )) && _ M SC_ VE R > =1300
#     define_W 6 4  _ _w64
# else
#   d efine _W 64 
# end i f 
#end if
//  7.18.1Intege r  t yp es

//7. 18.1.1  E xac t-w idthi nteg er typ es

// V isual Studio 6 and E m bedded Visual C+ + 4d oesn 't// realizethat ,  e.g . ch a rhas the s ame s iz e  a s  __int8
// so we gi ve  up on  __in tX for them.#if (_MSC_ V E R  < 1300) 
  t yp e def signed cha r      int8_t;    typed ef si gned sho rt      i n t 16_t;
  ty ped efsig n e dint        in t 3 2_t; 
  typed efunsigne d c har     u in t8_t;
  typedefun si gn ed  sh ort  uint16_ t; 
  t ype def u n signed  int    u in t 32_ t;
#els e 
type de fsign ed__ int8   i nt8 _t;
  typedef s ign e d __ in t1 6    in t16_t;
   typ ed ef signed__ int 32   i n t32_t;
  typedef unsigned __in t 8   uin t8_ t;
  typ edef unsi gne d __in t16  uint1 6_t;
  typ ed efu n signe d __ int 32   uint32_t ; #en dif
t yp edef  signed  __int64       int 6 4_t ;
 with_Microsoft Visual_C++ compilers!"
#endif // _MSC_VER_]

#ifndef _MSC_STDINT_H__//_[
#define _MSC_STDINT_H_

#if__MSC_VER_> 1000
#pragma once
#endif

#include_<limits.h>

// For Visual_Studio 6 in C++_mode and for_many_Visual Studio versions when
// compiling for ARM we should wrap <wchar.h> include with 'extern_"C++"_{}'
// or_compiler_give_many errors like this:
// _ error C2733: second C_linkage of_overloaded function 'wmemchr' not allowed
#ifdef __cplusplus
extern "C" {
#endif
#__include <wchar.h>
#ifdef __cplusplus
}
#endif

//_Define _W64 macros to mark types changing their size,_like intptr_t.
#ifndef _W64
#  if!defined(__midl) &&_(defined(_X86_) || defined(_M_IX86))_&&__MSC_VER_>= 1300
#  _  define _W64 __w64
# _else
#     define__W64
#  endif
#endif


// 7.18.1 Integer types

// 7.18.1.1_Exact-width integer types

// Visual Studio 6_and Embedded Visual C++ 4_doesn't
// realize_that, e.g. char has the_same size as___int8
// so_we give up_on __intX for them.
#if (_MSC_VER <_1300)
  _typedef signed char   __  int8_t;
___typedef signed_short  __ _int16_t;
_  typedef signed int __     int32_t;
 _ typedef unsigned char__   uint8_t;
_  typedef unsigned short_   uint16_t;
  _typedef unsigned_int _    uint32_t;
#else
   typedef signed __int8 _   int8_t;
  _typedef signed __int16 _ _int16_t;
_  typedef_signed___int32 _  int32_t;
   typedef unsigned___int8 _ uint8_t;
   typedef unsigned___int16  uint16_t;
 __typedef unsigned __int32  uint32_t;
#endif
typedef signed___int64     _ int64_t;