{DEFINE DEBUG_LOG}

{$UNDEF D4H}
{$UNDEF C4H}
{$UNDEF D5H}
{$UNDEF C5H}
{$UNDEF D6H}
{$UNDEF C6H}
{$UNDEF D7H}
{$UNDEF D8H}
{$UNDEF D8}
{$UNDEF D9H}
{$UNDEF C9H}
{$UNDEF D10H}
{$UNDEF C10H}
{$UNDEF D11H}
{$UNDEF C11H}
{$UNDEF D12H}
{$UNDEF C12H}
{$UNDEF D13H}
{$UNDEF C13H}
{$UNDEF D15H}
{$UNDEF C15H}
{$UNDEF D16H}
{$UNDEF C16H}
{$UNDEF D17H}
{$UNDEF C17H}
{$UNDEF D18H}
{$UNDEF C18H}
{$UNDEF D19H}
{$UNDEF C19H}
{$UNDEF D20H}
{$UNDEF C20H}
{$UNDEF D21H}
{$UNDEF C21H}
{$UNDEF D22H}
{$UNDEF C22H}
{$UNDEF D23H}
{$UNDEF C23H}
{$UNDEF D24H}
{$UNDEF C24H}
{$UNDEF D25H}
{$UNDEF C25H}

{$IFDEF VER120} //D4
 {$DEFINE D4H}
{$ENDIF}
{$IFDEF VER125} // CB4
  {$DEFINE D4H}
  {$DEFINE C4H}
{$ENDIF}
{$IFDEF VER130} // D5, CB5
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
{$ENDIF}
{$IFDEF VER140} // D6, CB6
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
{$ENDIF}
{$IFDEF VER150} // D7
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
{$ENDIF}
{$IFDEF VER170} // D2005
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
{$ENDIF}
{$IFDEF VER180} // D2006
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
{$ENDIF}
{$IFDEF VER185} // D2007 (defines both VER180 and VER185)
  {$DEFINE D11H}
{$ENDIF}
{$IFDEF VER200} // D2009
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
{$ENDIF}
{$IFDEF VER210} // D2010
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
{$ENDIF}
{$IFDEF VER220} // D2011 (XE)
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
{$ENDIF}
{$IFDEF VER230} // XE2
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
{$ENDIF}

{$IFDEF VER240} // XE3
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
{$ENDIF}

{$IFDEF VER250} // XE4
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
{$ENDIF}
{$IFDEF VER260} // XE5
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
{$ENDIF}
{$IFDEF VER270} // XE6
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
{$ENDIF}
{$IFDEF VER280} // XE7
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
  {$DEFINE D21H}
  {$DEFINE C21H}
{$ENDIF}
{$IFDEF VER290} // XE8
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
  {$DEFINE D21H}
  {$DEFINE C21H}
  {$DEFINE D22H}
  {$DEFINE C22H}
{$ENDIF}

{$IFDEF VER300} // DX10 Seattle
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
  {$DEFINE D21H}
  {$DEFINE C21H}
  {$DEFINE D22H}
  {$DEFINE C22H}
  {$DEFINE D23H}
  {$DEFINE C23H}
{$ENDIF}

{$IFDEF VER310} // DX10 Berlin
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
  {$DEFINE D21H}
  {$DEFINE C21H}
  {$DEFINE D22H}
  {$DEFINE C22H}
  {$DEFINE D23H}
  {$DEFINE C23H}
  {$DEFINE D24H}
  {$DEFINE C24H}  
{$ENDIF}

{$IFDEF VER320} // DX102 Tokyo
  {$DEFINE D4H}
  {$DEFINE C4H}
  {$DEFINE D5H}
  {$DEFINE C5H}
  {$DEFINE D6H}
  {$DEFINE C6H}
  {$DEFINE D7H}
  {$DEFINE D9H}
  {$DEFINE D10H}
  {$DEFINE D11H}
  {$DEFINE D12H}
  {$DEFINE D13H}
  {$DEFINE D15H}
  {$DEFINE D16H}
  {$DEFINE D17H}
  {$DEFINE C17H}
  {$DEFINE D18H}
  {$DEFINE C18H}
  {$DEFINE D19H}
  {$DEFINE C19H}
  {$DEFINE D20H}
  {$DEFINE C20H}
  {$DEFINE D21H}
  {$DEFINE C21H}
  {$DEFINE D22H}
  {$DEFINE C22H}
  {$DEFINE D23H}
  {$DEFINE C23H}
  {$DEFINE D24H}
  {$DEFINE C24H}  
  {$DEFINE D25H}
  {$DEFINE C25H}  
{$ENDIF}


{//$IFDEF D16H} // XE2
 {$IFDEF WIN64} // 64 bit platform
  {$DEFINE PUREPASCAL} // No ASM
 {$ENDIF}
{//$ENDIF}


{$O-}
{$R-,T-,H+,X+,C+,D+}
{$A+}
{$IFDEF D6H}
{$A8}
{$WARN SYMBOL_DEPRECATED OFF}
{$WARN SYMBOL_LIBRARY OFF}
{$WARN SYMBOL_PLATFORM OFF}
{$WARN UNIT_LIBRARY OFF}
{$WARN UNIT_PLATFORM OFF}
{$WARN UNIT_DEPRECATED OFF}
{$ENDIF}
{$IFDEF D7H}
{$HINTS OFF}
{$WARN HRESULT_COMPAT OFF}
{$WARN HIDING_MEMBER OFF}
{$WARN HIDDEN_VIRTUAL OFF}
{$WARN GARBAGE OFF}
{$WARN BOUNDS_ERROR OFF}
{$WARN ZERO_NIL_COMPAT OFF}
{$WARN FOR_LOOP_VAR_VARPAR OFF}
{$WARN CASE_LABEL_RANGE OFF}
{$WARN FOR_VARIABLE OFF}
{$WARN COMPARING_SIGNED_UNSIGNED OFF}
{$WARN COMBINING_SIGNED_UNSIGNED OFF}
{$WARN FILE_OPEN OFF}
{$WARN FILE_OPEN_UNITSRC OFF}
{$WARN BAD_GLOBAL_SYMBOL OFF}
{$WARN DUPLICATE_CTOR_DTOR OFF}
{$WARN INVALID_DIRECTIVE OFF}
{$WARN PACKAGE_NO_LINK OFF}
{$WARN PACKAGED_THREADVAR OFF}
{$WARN IMPLICIT_IMPORT OFF}
{$WARN HPPEMIT_IGNORED OFF}
{$WARN NO_RETVAL OFF}
{$WARN USE_BEFORE_DEF OFF}
{$WARN FOR_LOOP_VAR_UNDEF OFF}
{$WARN UNIT_NAME_MISMATCH OFF}
{$WARN NO_CFG_FILE_FOUND OFF}
{$WARN MESSAGE_DIRECTIVE OFF}
{$WARN IMPLICIT_VARIANTS OFF}
{$WARN UNICODE_TO_LOCALE OFF}
{$WARN LOCALE_TO_UNICODE OFF}
{$WARN IMAGEBASE_MULTIPLE OFF}
{$WARN SUSPICIOUS_TYPECAST OFF}
{$WARN PRIVATE_PROPACCESSOR OFF}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}


{$ENDIF}
