Commit Graph

253 Commits

Author SHA1 Message Date
Alexandre Julliard d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Francois Gouget 65f2082108 Add missing WINAPI to MSXML_DllGetClassObject().
Standardize the DllGetClassObject() prototypes so they match the MSDN
definition.
2005-08-08 15:04:53 +00:00
Alexandre Julliard b8d3075d83 Uncomment the typedef in the DECLARE_INTERFACE macro, and get rid of
duplicate typedefs.
2005-07-26 18:32:53 +00:00
Mike McCormack 723ee0a3bc gcc 4.0 -Wpointer-sign fixes. 2005-07-05 14:26:54 +00:00
Marcus Meissner c64432cebe Use CoCreateInstance instead of SHCoCreateInstance, drop shell32 from
imports.
Call OleInitialize() on AVIFileInit.
2005-07-02 10:49:39 +00:00
Dmitry Timoshkov 4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Alexandre Julliard aebb745488 Comment out stub WEP entry points so that we can call WEP for builtin
dlls too.
2005-05-23 10:12:26 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Vincent Béron 811725ac20 Correct and complete some api documentation. 2005-03-21 10:55:13 +00:00
Vincent Béron 1e365f7791 Fixed some calling conventions. 2005-03-21 10:32:45 +00:00
Alex Villacís Lasso 18bfe6a095 Change SUBLANG_DEFAULT to SUBLANG_NEUTRAL for LANG_SPANISH in all
resources, so that Spanish locales other than Spain also use Spanish
resources.
2005-02-16 21:10:59 +00:00
Paul Vriens c905d691c8 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-14 15:10:52 +00:00
Paul Vriens fea45b1493 - Fix logic in Stream_fnRelease, refcount should be decremented before
the test for 0.
- Use Interlocked* functions in Stream_fnRelease .
- Store the result of the Interlocked functions and this in the
  TRACE.
2005-01-12 19:29:22 +00:00
Alexandre Julliard e7f5fade9e Fixed CLSID_AVISimpleUnMarshal export. 2005-01-03 20:43:13 +00:00
Hans Leidekker f4f4dff978 Stub implementations for AVIMakeStreamFromClipboard, AVISave{A,W}.
Forward AVIBuildFilter, AVIFileCreateStream, AVIFileOpen, AVISave,
EditStreamSetInfo, EditStreamSetName to their respective *A variants.
2004-12-27 16:58:18 +00:00
Francois Gouget 6fb1a20020 Assorted spelling fixes. 2004-12-20 19:27:06 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
James Hawkins 88aeb475c0 Fixed a few memory leaks. 2004-11-30 17:33:27 +00:00
Eric Pouech 5c2a891c43 Made some functions and variables static. 2004-11-29 18:00:10 +00:00
Christian Costa 1d428e6a41 Mapped AVIStreamOpenFromFile to AVIStreamOpenFromFileA. 2004-11-19 17:58:18 +00:00
Francois Gouget 3bb5b093e8 Assorted spelling fixes. 2004-10-22 22:27:51 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Francois Gouget a8d2ba9d40 Replace some IUnknown_QueryInterface() calls with the specific call
for the object being used.
2004-10-05 18:10:21 +00:00
Alexandre Julliard 739e5b06da Avoid depending on the non-standard IUnknown_METHODS macro in Wine
internal headers.
2004-10-05 04:16:21 +00:00
James Hawkins 2d044dd64b Use InterlockedDecrement and InterlockedIncrement instead of ++/--. 2004-09-16 19:08:23 +00:00
Jacek Caban e2f850e42a Added Polish translation. 2004-09-10 19:37:28 +00:00
Alexandre Julliard 39a696a166 Removed some uses of the non-standard ICOM_THIS macro. 2004-09-06 20:34:29 +00:00
Hans Leidekker 411fc5f164 Fix signed/unsigned comparison warnings. 2004-09-02 23:00:53 +00:00
Huw Davies 174e6a5d28 Change dialogs to use MS Shell Dlg rather than Helv or MS Sans Serif. 2004-08-24 18:33:01 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
David Kredba b45744c817 Added Czech resources. 2004-08-16 20:02:09 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Alexandre Julliard 616940eb9a Get rid of the non-standard ICOM_DEFINE macro. 2004-08-12 03:33:30 +00:00
Alexandre Julliard b459952144 Avoid some non-portable makefile constructs, and get rid of the
ALTNAMES variable.
2004-08-11 23:59:06 +00:00
Marcus Meissner cba2b3051c Fixed 2 more casted lvalue issues. 2004-07-22 23:42:24 +00:00
Gerald Pfeifer a13e313fec Remove uses of the cast-as-lvalue GCC extension which has been
deprecated.
2004-07-22 19:43:14 +00:00
Mike McCormack 87bacf46ae Fix string conversion bugs. 2004-07-04 00:11:31 +00:00
Hajime Segawa 76e280b401 Added some Japanese translations. 2004-06-28 23:50:22 +00:00
Ivan Leo Puoti 3e42f6953e Changed my name, so update copyright info. 2004-05-27 02:25:13 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Tom Wickline 3d6eb2db2f Fixed version info. 2004-01-13 22:50:55 +00:00
Alexandre Julliard 72ecbb0675 SHCoCreateInstance is now documented (spotted by Francois Gouget).
Its first argument should be a Unicode string.
2004-01-06 20:42:47 +00:00
Dmitry Timoshkov 2964888d05 A general cleanup of the version resources in Wine DLLs. 2003-11-30 05:59:29 +00:00
Michael Günnewig edd8bc3a77 Fixed multiple bugs in FindSample implementation of AVI and WAV file
handler.
2003-11-26 22:04:29 +00:00
Michael Günnewig 4a1063c6e9 Implemented IAVIEditSTream_fnPaste method. 2003-11-25 00:07:25 +00:00
Ivan Leo Murray-Smith e2b29cc65f Improved Italian translations. 2003-11-17 20:00:33 +00:00
Hans Leidekker a2977cf5b8 Added Dutch translations. 2003-10-27 22:04:36 +00:00
Michael Günnewig 41d6b67c7f Fixed usage of GlobaReAlloc. 2003-10-14 20:06:23 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Michael Günnewig 53cfed70bb - First part of a new IAVIEditStream implementation.
- Fixed/Added some parameter checking.
- Fixed bug in EditStreamSetInfoW.
- Fixed bug in avifil32.spec (str instead of wstr).
- Fixed cosmetic bug in IAVIStreamImpl_fnRelease.
- Fixed typo.
2003-10-04 03:05:25 +00:00
Vincent Béron bf5f07a5b4 Yet another batch of French resources updates. 2003-09-22 21:16:56 +00:00
Igor Stepin f638678830 Added a lot of Russian translations. 2003-09-17 20:08:20 +00:00
Alexandre Julliard 20c169e0a4 Fixed a few more headers dependency issues. 2003-09-09 19:39:31 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Michael Günnewig 1b5c4135e2 - Implemented AVIStreamBeginStreaming and AVIStreamEndStreaming.
- Fixed loading of empty AVI files.
- Fixed bug in IGetFrame interface with uncompressed streams.
- Fixed missing ICOM_DEFINE for IAVIStreaming.
2003-09-02 00:54:30 +00:00
John K. Hohm 41ecd6d489 Implement DllRegisterServer and DllUnregisterServer for avifil32.dll,
and add OleSelfRegister version string.
2003-08-23 22:54:53 +00:00
José Manuel Ferrer Ortiz 4a0dd81cf1 Some new Spanish translations and improvements to other existing
ones.
2003-08-22 05:03:19 +00:00
Ivan Leo Murray-Smith ef9636c51f Small resources fixes. 2003-08-21 21:28:05 +00:00
Ivan Leo Murray-Smith 1691019774 Added Italian resources. 2003-08-21 21:27:30 +00:00
Patrik Stridvall ba78aac406 Fixed some issues found by winapi_check. 2003-08-08 21:07:23 +00:00
Alexandre Julliard 20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Francois Gouget 17afa80afd Some spelling fixes. 2003-07-30 03:42:26 +00:00
Michael Günnewig 645a36ceed - Added support for Sun Audio files in wave-file handler.
- Fallback to mmioOpenA if mmopOpenW doesn't work (when using Win9x DLLs).
2003-07-21 20:00:36 +00:00
Michael Günnewig 4d37b6691b - Fixed AVIStreamTimeToSample and AVIStreamSampleToTime methods to
stay in bounds and behave like the native ones.
- Fallback to mmioOpenA if mmioOpenW doesn't work (when using Win9x DLLs).
- Fixed a bug of using mmioDescend/mmioAscend (occured with native libs).
- Silent a message which could be incorrect for non-video streams.
2003-07-21 19:59:57 +00:00
Francois Gouget 56aaea2f43 Spelling fixes. 2003-07-09 02:52:57 +00:00
Michael Günnewig c783c20288 - Fixed memory leak in AVISaveOptions.
- Implemented AVISaveVW method.
- Semi-stub implementation for CreateEditableStream method.
- Added support for creation of interleaved AVI files.
- Fixed creation of index table in AVI files.
- Added declaration for IAVIStreaming interface.
- Added some more macros.
- Fixed some minor bugs.
2003-07-02 00:38:57 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Marcelo Duarte de08661413 - Localization to Portuguese of Brazil
- Revision and addition of missing resources
- Minor typo fix and codepage fix in programs/winefile resource.
2003-06-30 20:22:35 +00:00
Christian Costa e8d977858d Added some stubs. 2003-06-30 02:04:05 +00:00
Michael Günnewig 9f67cfef42 - Fixed some signed/unsigned mismatches.
- Fixed bugs in AVISaveOptions dialog handling.
- Fixed bug in AVIFILE_LoadFile -- now check for more than
  MAX_AVISTREAMS streams in file.
- Implemented AVIMakeFileFromStreams and AVISaveVA method.
- Added IAVIEditStream interface.
- Implemented EditStream* methods.
- Added stubs for AVISaveVW, CreateEditableStream.
- Added stubs for clipboard handling.
2003-06-23 18:10:06 +00:00
Rok Mandeljc e36fa4551a Updated a bunch of translations for Slovenian language. 2003-06-16 01:32:09 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Igor Stepin 97b7bc1984 Added a lot of Russian translations. 2003-05-04 02:33:08 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Alexandre Julliard e048adab83 List 16-bit spec files explicitly to avoid problems with some versions
of make.
2003-03-23 20:00:02 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Francois Gouget 9b0b1e078a Remove (POINTER)NULL casts. 2003-01-14 23:43:41 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Dmitry Timoshkov 601a3abec1 Fix some types and function prototypes according to Platform SDK
definitions.
2002-10-31 01:04:39 +00:00
Patrik Stridvall c72255c715 Fixed some issues found by winapi_check. 2002-10-29 21:31:26 +00:00
Michael Günnewig 2c8e149fe8 Added dialog for AVISaveOptions. 2002-10-23 18:47:51 +00:00
Michael Günnewig a060446e1d Implemented AVIBuildFilterW and AVISaveOptions. 2002-10-23 18:47:39 +00:00
Michael Günnewig d48feb246f Fixed bug that prevented ICCompressorChoose from working. 2002-10-23 18:47:20 +00:00
Michael Günnewig b0719b1273 New AVI streamhandlers for audio and video streams. 2002-10-21 23:41:01 +00:00
Michael Günnewig 115260c452 - Fixed usage of handler instead of type in AVIMakeCompressedStream.
- Implemented AVIBuildFilterA.
- Started to implement AVIBuildFilterW.
2002-10-21 23:40:38 +00:00
Michael Günnewig 4828568478 - Fixed many bugs which prevents writing.
- Fixed segfault while parsing invalid index.
- Keep parsing of index even if streamheader says it's empty
- Fixed bug in AVIFILE_SaveIndex when stream is empty.
- Fixed bug in AVIFILE_WriteBlock, when chunk is not of even size.
2002-10-21 23:40:09 +00:00
Michael Günnewig 45af492211 - Fixed loading of wave files.
- Corrected AVIFILEINFOW structure updates.
- Implemented saving of wave files.
2002-10-19 00:12:06 +00:00
Michael Günnewig 6b953ffcac Fixed very slow loading of index. 2002-10-19 00:11:32 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Michael Günnewig 4c04e1fd87 - Add wavefile handler.
- Add implementation for IGetFrame.
- Implemented loading and writing of AVIs.
- Add some more stubs for some API functions.
- Add resources to avifil32.dll.
- Implemented AVISaveOptionsFree.
- Declared IID_* as extern in avifil32.spec (avoids linker problem).
2002-10-18 00:24:41 +00:00
Michael Günnewig a26a2ca224 - Move the API into a new api.c file.
- Added IClassFactory implementation.
- Added IPersistFile implementation to the AVI-file handler.
2002-10-10 23:31:13 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Patrik Stridvall 5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard b6a7ca5855 Removed a bunch of multimedia code at Hidenori's request. 2002-05-02 01:29:18 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Hidenori Takeshima b5cb1a347a Fixes for compatibility. 2002-02-19 18:29:54 +00:00
Patrik Stridvall 74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall c01c1933bf Fixed some issues found by winapi_check. 2001-06-19 03:36:23 +00:00
Hidenori Takeshima c814a6ce76 Implemented some part of AVIFIL32. 2001-06-07 22:28:19 +00:00
Francois Gouget ee285b7ac8 Remove unnecessary single quoting of debugstr_xxx strings. 2001-05-11 20:03:40 +00:00
Patrik Stridvall d0a41774a3 Documentation ordinal fixes. 2001-02-14 23:11:17 +00:00
Alexandre Julliard 5be8e7d8e0 Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
David Elliott ea186796eb Remove libXXXX.so.1.0 lines from .cvsignore files. 2000-11-30 19:57:34 +00:00
Ove Kaaven 74eee411d5 Routed a couple of 16-bit avifile.dll handlers to the 32-bit
handlers... well, works for Civilization II.
2000-11-25 01:22:15 +00:00
Alexandre Julliard c95b1aa37f Avoid linking with ntdll where possible. 2000-11-16 04:15:08 +00:00
Alexandre Julliard 8c540c657e Replaced a few internal functions by exported ones. 2000-11-13 04:16:05 +00:00
Alexandre Julliard 27939f00fd Start using import tables for dlls that can already support it. 2000-11-12 03:50:10 +00:00
Alexandre Julliard eb58e1d597 Declare debug channels in all dlls that need them; added imports of
ntdll where necessary.
2000-11-05 04:53:07 +00:00
Alexandre Julliard e101f6db3b Cleaned up a few inter-dll dependencies. Added a few imports. 2000-08-14 14:42:41 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00
Alexandre Julliard 6c9d83aa4c Added imports of user32/gdi32/kernel32 wherever necessary. 2000-08-03 00:04:24 +00:00
Alexandre Julliard 76d3671bee Added 'owner' field to 16-bit spec files to specify the name of the
32-bit dll that contains it.
2000-07-28 00:07:18 +00:00
Eric Pouech 731e9f5309 - removed (now obsolete) driver.h file (it's content is now in mmsystem.h)
- upgraded vfw.h content
2000-07-26 18:07:04 +00:00
Alexandre Julliard 6953d6756c For dlls, derive SPEC_SRCS from MODULE and ALTNAMES. 2000-06-20 20:24:14 +00:00
Alexandre Julliard 84eb8334da Added some missing import directives. 2000-04-19 16:54:02 +00:00
Patrik Stridvall fcfacb95a7 Added/fixed some documentation reported by winapi_check. 2000-03-24 20:46:04 +00:00
Dimitrie Paun 014dccc71e Cleaned up debug channels a bit. 2000-03-12 20:16:51 +00:00
Alexandre Julliard 82a2b186e7 Added support for creating extra symlinks for .so files that contain
multiple dlls.
2000-03-05 13:08:24 +00:00
Alexandre Julliard d0edc5fecd Moved dll-specific make rules to a separate Makedll.rules file. 2000-03-04 22:31:27 +00:00
Alexandre Julliard e1d78899ea Made winmm a separate shared library. 2000-02-26 13:45:34 +00:00
Alexandre Julliard 318f4cefd2 Build most dlls as separate shared libraries. 2000-01-31 05:02:49 +00:00
Alexandre Julliard 0dd3655fd0 Removed debugstr.h. 2000-01-29 19:49:58 +00:00
Marcus Meissner bade58f2d2 Added *.spec.c, *.spec.glue.s, *.glue.c to .cvsignore that need them. 2000-01-23 22:00:06 +00:00
Alexandre Julliard 681c75bf17 Added debugstr_guid function and used it to replace
WINE_StringFromCLSID in all debugging messages.
2000-01-18 05:09:49 +00:00
Alexandre Julliard 6f715732e7 Make use of automatic ordinal allocation. 2000-01-01 22:06:18 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Francois Gouget 01c9ac401f Generalized the use of the new ICOM_VFIELD and ICOM_VTBL macros. 1999-10-31 01:59:23 +00:00
Patrik Stridvall d7da486c96 Added spec file declarations for already implemented functions. 1999-10-24 21:35:16 +00:00
Francois Gouget 6e74ec0015 Use the COM macros rather than directly accessing the lpvtbl field. 1999-10-13 14:01:40 +00:00
Ulrich Weigand 8336cc9e51 Adapted to glue code generation changes. 1999-08-15 12:45:53 +00:00
Ulrich Weigand 6c6da674ef Moved various DLLs to dlls/ 1999-08-04 09:49:49 +00:00
Patrik Stridvall 26ffb3cd76 Fixed/added missing/wrong function prototypes and made internal
functions static.
1999-07-31 14:41:43 +00:00
Ulrich Weigand daed93ee99 Moved .spec files to corresponding dlls/ directory. 1999-07-25 13:14:13 +00:00
Marcus Meissner 623c0d6f94 some small include fixes, some checks for NULL ptrs,
loader/elf.c: fixed the "lib" insertion
crtdll: added fsopen()
dinput: return that we are attached.
1999-07-03 16:01:42 +00:00
Paul Quinn 2305f3c06d Microsoft com vtable compatibility workaround for g++. Basically adds
an optional 8 bytes padding to COM objects where the RTTI would be.
1999-05-22 11:41:38 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00