wine
13 years agomsvcrt: Added sprintf_p_l implementation.
Piotr Caban [Wed, 27 Apr 2011 10:09:01 +0000 (12:09 +0200)] 
msvcrt: Added sprintf_p_l implementation.

13 years agouser32: GetTabbedTextExtent() returns non-zero value when nCount == 0.
Tim Hentenaar [Sat, 23 Apr 2011 11:36:12 +0000 (07:36 -0400)] 
user32: GetTabbedTextExtent() returns non-zero value when nCount == 0.

13 years agorpcrt4: Handle non-conformant bogus structures.
Huw Davies [Wed, 27 Apr 2011 08:53:38 +0000 (09:53 +0100)] 
rpcrt4: Handle non-conformant bogus structures.

13 years agocomctl32/syslink: Call default procedure directly when needed.
Nikolay Sivov [Sun, 24 Apr 2011 03:49:33 +0000 (07:49 +0400)] 
comctl32/syslink: Call default procedure directly when needed.

13 years agocomctl32/tests: Remove practically unused parameters from test functions.
Nikolay Sivov [Sat, 23 Apr 2011 19:37:34 +0000 (23:37 +0400)] 
comctl32/tests: Remove practically unused parameters from test functions.

13 years agomsxml3: COM cleanup in domdoc.c.
Michael Stefaniuc [Tue, 26 Apr 2011 21:47:48 +0000 (23:47 +0200)] 
msxml3: COM cleanup in domdoc.c.

13 years agoshell32/tests: COM cleanup in shlfolder.c.
Michael Stefaniuc [Tue, 26 Apr 2011 21:45:13 +0000 (23:45 +0200)] 
shell32/tests: COM cleanup in shlfolder.c.

13 years agowinedbg: Copy the x86 implementation of fetch_integer for ARM.
André Hentschel [Tue, 26 Apr 2011 21:11:06 +0000 (23:11 +0200)] 
winedbg: Copy the x86 implementation of fetch_integer for ARM.

13 years agowinedbg: Fill the dbg_internal_var array for ARM.
André Hentschel [Tue, 26 Apr 2011 21:10:42 +0000 (23:10 +0200)] 
winedbg: Fill the dbg_internal_var array for ARM.

13 years agomsxml3: Mark internal symbols as hidden.
Marcus Meissner [Tue, 26 Apr 2011 16:41:22 +0000 (18:41 +0200)] 
msxml3: Mark internal symbols as hidden.

13 years agoshell32: Mark internal symbols as hidden.
Marcus Meissner [Tue, 26 Apr 2011 17:23:52 +0000 (19:23 +0200)] 
shell32: Mark internal symbols as hidden.

13 years agowined3d: Merge the IWineD3DSurface::Unmap() implementations.
Henri Verbeet [Tue, 26 Apr 2011 17:24:19 +0000 (19:24 +0200)] 
wined3d: Merge the IWineD3DSurface::Unmap() implementations.

13 years agowined3d: Merge the IWineD3DSurface::Map() implementations.
Henri Verbeet [Tue, 26 Apr 2011 17:24:18 +0000 (19:24 +0200)] 
wined3d: Merge the IWineD3DSurface::Map() implementations.

13 years agowined3d: Merge the IWineD3DSurface::Release() implementations.
Henri Verbeet [Tue, 26 Apr 2011 17:24:17 +0000 (19:24 +0200)] 
wined3d: Merge the IWineD3DSurface::Release() implementations.

13 years agowined3d: Only invalidate the INDRAWABLE location for onscreen surfaces in surface_rea...
Henri Verbeet [Tue, 26 Apr 2011 17:24:16 +0000 (19:24 +0200)] 
wined3d: Only invalidate the INDRAWABLE location for onscreen surfaces in surface_realize_palette().

For offscreen surfaces this might actually remove the texture we just loaded.

13 years agowined3d: Rename "pCaps" to "caps".
Henri Verbeet [Tue, 26 Apr 2011 17:24:15 +0000 (19:24 +0200)] 
wined3d: Rename "pCaps" to "caps".

13 years agosane.ds: Mark internal functions as hidden.
Marcus Meissner [Tue, 26 Apr 2011 17:11:44 +0000 (19:11 +0200)] 
sane.ds: Mark internal functions as hidden.

13 years agotwain_32: Mark some functions static and other internal ones hidden.
Marcus Meissner [Tue, 26 Apr 2011 09:10:28 +0000 (11:10 +0200)] 
twain_32: Mark some functions static and other internal ones hidden.

13 years agodbghelp: Implement sparc_map_dwarf_register.
André Hentschel [Tue, 26 Apr 2011 17:00:45 +0000 (19:00 +0200)] 
dbghelp: Implement sparc_map_dwarf_register.

13 years agod3dx9/tests: Added tests for ID3DXMesh::GenerateAdjacency.
Dylan Smith [Tue, 26 Apr 2011 16:56:09 +0000 (12:56 -0400)] 
d3dx9/tests: Added tests for ID3DXMesh::GenerateAdjacency.

13 years agod3dx9: Implement ID3DXMesh::GenerateAdjacency.
Dylan Smith [Tue, 26 Apr 2011 16:56:02 +0000 (12:56 -0400)] 
d3dx9: Implement ID3DXMesh::GenerateAdjacency.

13 years agod3dx9: Support the option flags for D3DXCreateMesh.
Dylan Smith [Tue, 26 Apr 2011 16:55:50 +0000 (12:55 -0400)] 
d3dx9: Support the option flags for D3DXCreateMesh.

13 years agopo: Update Lithuanian translation.
Aurimas Fišeras [Tue, 26 Apr 2011 15:26:05 +0000 (18:26 +0300)] 
po: Update Lithuanian translation.

13 years agogphoto2.ds: Mark internal symbols as hidden.
Marcus Meissner [Tue, 26 Apr 2011 08:51:31 +0000 (10:51 +0200)] 
gphoto2.ds: Mark internal symbols as hidden.

13 years agod3dx9: Remove some redundant and compiler-unfriendly pixel format checking code.
Matteo Bruni [Tue, 5 Apr 2011 15:26:57 +0000 (17:26 +0200)] 
d3dx9: Remove some redundant and compiler-unfriendly pixel format checking code.

Spotted by Gerald Pfeifer and Nicolas Le Cam.

13 years agod3dx9: Print a FIXME when encountering an unknown surface format.
Matteo Bruni [Mon, 24 Jan 2011 20:52:01 +0000 (21:52 +0100)] 
d3dx9: Print a FIXME when encountering an unknown surface format.

13 years agowinealsa: Zero buffer, only write data if needed.
Maarten Lankhorst [Tue, 26 Apr 2011 11:22:45 +0000 (13:22 +0200)] 
winealsa: Zero buffer, only write data if needed.

13 years agod3d8: Add more tests for NULL render targets.
Stefan Dösinger [Mon, 25 Apr 2011 18:22:50 +0000 (20:22 +0200)] 
d3d8: Add more tests for NULL render targets.

13 years agod3d8: Don't reapply the old DS if SetDepthStencilSurface failed.
Stefan Dösinger [Mon, 25 Apr 2011 14:51:27 +0000 (16:51 +0200)] 
d3d8: Don't reapply the old DS if SetDepthStencilSurface failed.

13 years agodinput: Pass mouse messages through if the request to clip the cursor is rejected.
Alexandre Julliard [Tue, 26 Apr 2011 12:41:51 +0000 (14:41 +0200)] 
dinput: Pass mouse messages through if the request to clip the cursor is rejected.

13 years agodinput: Use a 1x1 clipping rect instead of warping the mouse in exclusive mode.
Alexandre Julliard [Tue, 26 Apr 2011 10:54:39 +0000 (12:54 +0200)] 
dinput: Use a 1x1 clipping rect instead of warping the mouse in exclusive mode.

13 years agodinput: Add a helper function for mouse warping.
Alexandre Julliard [Tue, 26 Apr 2011 10:28:25 +0000 (12:28 +0200)] 
dinput: Add a helper function for mouse warping.

13 years agodinput: Get rid of some redundant coordinate mappings.
Alexandre Julliard [Tue, 26 Apr 2011 10:26:16 +0000 (12:26 +0200)] 
dinput: Get rid of some redundant coordinate mappings.

13 years agowinex11: Refuse to clip cursor to a 1x1 window if we don't have XInput2 support.
Alexandre Julliard [Tue, 26 Apr 2011 12:40:59 +0000 (14:40 +0200)] 
winex11: Refuse to clip cursor to a 1x1 window if we don't have XInput2 support.

13 years agoole2.dll16: Add a stub for ReleaseStgMedium.
Austin English [Mon, 25 Apr 2011 15:41:04 +0000 (10:41 -0500)] 
ole2.dll16: Add a stub for ReleaseStgMedium.

13 years agooleau32: Stop incorrectly parsing dates in bogus YDM order in European locales.
John Fremlin [Mon, 25 Apr 2011 17:29:42 +0000 (17:29 +0000)] 
oleau32: Stop incorrectly parsing dates in bogus YDM order in European locales.

13 years agod3dx9: Fix flags for annotation structures.
Rico Schüller [Tue, 26 Apr 2011 07:21:17 +0000 (09:21 +0200)] 
d3dx9: Fix flags for annotation structures.

13 years agod3dx9: Improve get_parameter_by_name().
Rico Schüller [Tue, 26 Apr 2011 07:21:00 +0000 (09:21 +0200)] 
d3dx9: Improve get_parameter_by_name().

13 years agod3dx9: Improve ID3DXBaseEffect::GetParameter().
Rico Schüller [Tue, 26 Apr 2011 07:20:51 +0000 (09:20 +0200)] 
d3dx9: Improve ID3DXBaseEffect::GetParameter().

13 years agosecur32: Mark internal symbols with hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:37:02 +0000 (11:37 +0200)] 
secur32: Mark internal symbols with hidden visibility.

13 years agojscript: Mark internal symbols as having hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:22:45 +0000 (11:22 +0200)] 
jscript: Mark internal symbols as having hidden visibility.

13 years agorpcrt4: Mark internal symbols with hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:33:26 +0000 (11:33 +0200)] 
rpcrt4: Mark internal symbols with hidden visibility.

13 years agodsound: Mark internal symbols as having hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:25:41 +0000 (11:25 +0200)] 
dsound: Mark internal symbols as having hidden visibility.

13 years agocomdlg32: Mark internal symbols as having hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:16:53 +0000 (11:16 +0200)] 
comdlg32: Mark internal symbols as having hidden visibility.

13 years agogdiplus: Mark internal symbols as having hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:11:01 +0000 (11:11 +0200)] 
gdiplus: Mark internal symbols as having hidden visibility.

13 years agowininet: Mark internal symbols as hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 09:09:16 +0000 (11:09 +0200)] 
wininet: Mark internal symbols as hidden visibility.

13 years agourlmon: Mark internal functions as hidden.
Marcus Meissner [Thu, 21 Apr 2011 07:19:14 +0000 (09:19 +0200)] 
urlmon: Mark internal functions as hidden.

13 years agowinspool.drv: Fix uninitialized variable warning.
Nicolas Le Cam [Tue, 26 Apr 2011 01:22:32 +0000 (03:22 +0200)] 
winspool.drv: Fix uninitialized variable warning.

13 years agomshtml: Fix uninitialized variable warning.
Nicolas Le Cam [Tue, 26 Apr 2011 01:20:20 +0000 (03:20 +0200)] 
mshtml: Fix uninitialized variable warning.

13 years agomsctf/tests: Fix uninitialized variable warning.
Nicolas Le Cam [Tue, 26 Apr 2011 01:14:34 +0000 (03:14 +0200)] 
msctf/tests: Fix uninitialized variable warning.

13 years agowined3d: Enable SM3 if ARB_shader_texture_lod is supported.
Henri Verbeet [Mon, 25 Apr 2011 20:54:15 +0000 (22:54 +0200)] 
wined3d: Enable SM3 if ARB_shader_texture_lod is supported.

13 years agowined3d: Either set SM3 for both vertex and fragment shaders or for neither.
Henri Verbeet [Mon, 25 Apr 2011 20:54:14 +0000 (22:54 +0200)] 
wined3d: Either set SM3 for both vertex and fragment shaders or for neither.

13 years agowined3d: Merge surface_base.c into surface.c.
Henri Verbeet [Mon, 25 Apr 2011 20:54:13 +0000 (22:54 +0200)] 
wined3d: Merge surface_base.c into surface.c.

13 years agowined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface.
Henri Verbeet [Mon, 25 Apr 2011 20:54:12 +0000 (22:54 +0200)] 
wined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface.

13 years agocomctl32: Return if there's no current selection in TAB_EnsureSelectionVisible().
Henri Verbeet [Mon, 25 Apr 2011 20:54:11 +0000 (22:54 +0200)] 
comctl32: Return if there's no current selection in TAB_EnsureSelectionVisible().

13 years agocrypt32: Rework Base64WithHeaderAndTrailerToBinaryA and Base64WithHeaderAndTrailerToB...
Andrew Bogott [Sat, 23 Apr 2011 15:18:55 +0000 (10:18 -0500)] 
crypt32: Rework Base64WithHeaderAndTrailerToBinaryA and Base64WithHeaderAndTrailerToBinaryW so that they accept a wider variety of headers and trailers.

13 years agocrypt32/tests: Demonstrate that CryptStringToBinary can take arbitrary key headers...
Andrew Bogott [Sat, 23 Apr 2011 15:18:40 +0000 (10:18 -0500)] 
crypt32/tests: Demonstrate that CryptStringToBinary can take arbitrary key headers and trailers.

13 years agommdevapi/tests: Add tests for IAudioClient::GetCurrentPadding.
Andrew Eikum [Fri, 22 Apr 2011 20:25:43 +0000 (15:25 -0500)] 
mmdevapi/tests: Add tests for IAudioClient::GetCurrentPadding.

13 years agowinecoreaudio.drv: Add mmdevapi driver.
Andrew Eikum [Fri, 22 Apr 2011 20:25:35 +0000 (15:25 -0500)] 
winecoreaudio.drv: Add mmdevapi driver.

13 years agowinealsa.drv: Add mmdevapi driver.
Andrew Eikum [Fri, 22 Apr 2011 20:25:21 +0000 (15:25 -0500)] 
winealsa.drv: Add mmdevapi driver.

Maarten Lankhorst also contributed to this driver.

13 years agommdevapi: Reimplement using a driver system.
Andrew Eikum [Fri, 22 Apr 2011 20:25:14 +0000 (15:25 -0500)] 
mmdevapi: Reimplement using a driver system.

13 years agogdi32/test: SelectObject doesn't work with palettes, use SelectPalette instead.
Amine Khaldi [Sun, 24 Apr 2011 16:42:35 +0000 (17:42 +0100)] 
gdi32/test: SelectObject doesn't work with palettes, use SelectPalette instead.

13 years agomsvcrt: Removed pf_vnsprintf internal function.
Piotr Caban [Wed, 20 Apr 2011 12:43:02 +0000 (14:43 +0200)] 
msvcrt: Removed pf_vnsprintf internal function.

13 years agomsvcrt: Use callback based printf in sprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:48 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in sprintf functions family.

13 years agomsvcrt: Use callback based printf in fprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:36 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in fprintf functions family.

13 years agomsvcrt: Use callback based printf in cprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:26 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in cprintf functions family.

13 years agomsvcrt: Copy and reorganize printf implementation.
Piotr Caban [Wed, 20 Apr 2011 12:42:16 +0000 (14:42 +0200)] 
msvcrt: Copy and reorganize printf implementation.

13 years agomsvcrt/tests: Added fprintf tests.
Piotr Caban [Wed, 20 Apr 2011 12:41:39 +0000 (14:41 +0200)] 
msvcrt/tests: Added fprintf tests.

13 years agocomctl32: Don't draw text when the number of text lines has been set to zero.
Amine Khaldi [Sun, 24 Apr 2011 16:56:30 +0000 (17:56 +0100)] 
comctl32: Don't draw text when the number of text lines has been set to zero.

13 years agowindowscodecs: Treat samples as unspecified if there's no ExtraSamples tag.
Vincent Povirk [Mon, 25 Apr 2011 09:02:48 +0000 (04:02 -0500)] 
windowscodecs: Treat samples as unspecified if there's no ExtraSamples tag.

13 years agokernel32: Add a stub for SetThreadPreferredUILanguages.
Austin English [Sat, 23 Apr 2011 22:40:56 +0000 (17:40 -0500)] 
kernel32: Add a stub for SetThreadPreferredUILanguages.

13 years agomsi: Mark internal symbols as visibility hidden.
Marcus Meissner [Thu, 21 Apr 2011 09:03:25 +0000 (11:03 +0200)] 
msi: Mark internal symbols as visibility hidden.

13 years agowinmm: Mark internal symbols with visibility hidden.
Marcus Meissner [Thu, 21 Apr 2011 09:06:33 +0000 (11:06 +0200)] 
winmm: Mark internal symbols with visibility hidden.

13 years agocrypt32: Mark internal symbols as hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:52:29 +0000 (10:52 +0200)] 
crypt32: Mark internal symbols as hidden visibility.

13 years agoole32: Mark internal symbols has hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:45:36 +0000 (10:45 +0200)] 
ole32: Mark internal symbols has hidden visibility.

13 years agontdll: Mark internal functions as hidden.
Marcus Meissner [Thu, 21 Apr 2011 08:32:31 +0000 (10:32 +0200)] 
ntdll: Mark internal functions as hidden.

13 years agogdi32: Mark internal symbols as hidden.
Marcus Meissner [Thu, 21 Apr 2011 08:25:40 +0000 (10:25 +0200)] 
gdi32: Mark internal symbols as hidden.

13 years agopo: Add message contexts (and French translations) for some polysemic English transla...
Frédéric Delanoy [Sun, 24 Apr 2011 02:33:09 +0000 (04:33 +0200)] 
po: Add message contexts (and French translations) for some polysemic English translation entries.

13 years agod3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface.
Michael Stefaniuc [Sun, 24 Apr 2011 19:34:30 +0000 (21:34 +0200)] 
d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface.

13 years agod3d9: Pass an object instead of an iface to IDirect3DDevice9Impl_CreateSurface().
Michael Stefaniuc [Sun, 24 Apr 2011 19:27:59 +0000 (21:27 +0200)] 
d3d9: Pass an object instead of an iface to IDirect3DDevice9Impl_CreateSurface().

13 years agod3d9: Use impl_from_IDirect3DDevice9Ex instead of casting iface to object.
Michael Stefaniuc [Sun, 24 Apr 2011 19:24:51 +0000 (21:24 +0200)] 
d3d9: Use impl_from_IDirect3DDevice9Ex instead of casting iface to object.

13 years agomsvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf.
Eric Pouech [Sun, 24 Apr 2011 09:01:59 +0000 (11:01 +0200)] 
msvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf.

13 years agomsvcrt: Added tests in fileops with different buffer management modes.
Eric Pouech [Sun, 24 Apr 2011 09:01:48 +0000 (11:01 +0200)] 
msvcrt: Added tests in fileops with different buffer management modes.

13 years agoservices: Be sure to unlock the current database in all error cases in service_start_...
Eric Pouech [Sat, 23 Apr 2011 20:20:54 +0000 (22:20 +0200)] 
services: Be sure to unlock the current database in all error cases in service_start_process.

13 years agowinex11: Release the clip cursor grab when the clipping window loses focus.
Alexandre Julliard [Mon, 25 Apr 2011 08:49:49 +0000 (10:49 +0200)] 
winex11: Release the clip cursor grab when the clipping window loses focus.

13 years agoshdocvw: Deactivate document in InternetExplorer destructor.
Jacek Caban [Fri, 22 Apr 2011 12:07:33 +0000 (14:07 +0200)] 
shdocvw: Deactivate document in InternetExplorer destructor.

13 years agomshtml: Added proper support for weak references.
Jacek Caban [Fri, 22 Apr 2011 12:07:18 +0000 (14:07 +0200)] 
mshtml: Added proper support for weak references.

13 years agowined3d: Scale the depthbias factor by the depth buffer's depth.
Stefan Dösinger [Wed, 20 Apr 2011 14:28:05 +0000 (16:28 +0200)] 
wined3d: Scale the depthbias factor by the depth buffer's depth.

13 years agod3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
Stefan Dösinger [Thu, 21 Apr 2011 20:36:11 +0000 (22:36 +0200)] 
d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.

ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.

13 years agoserver: Set the fd user when duplicating a mapping file descriptor into a new file.
Alexandre Julliard [Fri, 22 Apr 2011 15:07:45 +0000 (17:07 +0200)] 
server: Set the fd user when duplicating a mapping file descriptor into a new file.

13 years agowinex11: Allow changing the clipping rectangle while the mouse is grabbed.
Alexandre Julliard [Fri, 22 Apr 2011 14:58:20 +0000 (16:58 +0200)] 
winex11: Allow changing the clipping rectangle while the mouse is grabbed.

13 years agowinex11: Add separate helper functions for pointer grabbing and ungrabbing.
Alexandre Julliard [Fri, 22 Apr 2011 14:28:25 +0000 (16:28 +0200)] 
winex11: Add separate helper functions for pointer grabbing and ungrabbing.

13 years agowinex11: Store a message window with the desktop when the cursor is clipped.
Alexandre Julliard [Fri, 22 Apr 2011 14:22:09 +0000 (16:22 +0200)] 
winex11: Store a message window with the desktop when the cursor is clipped.

This ensures that the thread can be notified when the clip rectangle is reset.

13 years agouser32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset...
Alexandre Julliard [Fri, 22 Apr 2011 13:22:07 +0000 (15:22 +0200)] 
user32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset because of focus change.

13 years agowinetest: Cowardly refuse to submit results that have too many failed tests.
Alexandre Julliard [Fri, 22 Apr 2011 11:20:49 +0000 (13:20 +0200)] 
winetest: Cowardly refuse to submit results that have too many failed tests.

13 years agokernel32: Mark more internal symbols as invisible.
Marcus Meissner [Thu, 21 Apr 2011 08:23:57 +0000 (10:23 +0200)] 
kernel32: Mark more internal symbols as invisible.

13 years agouser32: Mark internal functions with hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:21:26 +0000 (10:21 +0200)] 
user32: Mark internal functions with hidden visibility.

13 years agowininet: Use wrappers for HeapReAlloc calls.
Jacek Caban [Fri, 22 Apr 2011 10:35:05 +0000 (12:35 +0200)] 
wininet: Use wrappers for HeapReAlloc calls.

13 years agowinex11: Clip out the top-level windows when repainting the desktop.
Alexandre Julliard [Fri, 22 Apr 2011 10:16:33 +0000 (12:16 +0200)] 
winex11: Clip out the top-level windows when repainting the desktop.

13 years agowininet: Prevent a race condition which results in handles being leaked.
Thomas Mullaly [Tue, 19 Apr 2011 19:41:20 +0000 (15:41 -0400)] 
wininet: Prevent a race condition which results in handles being leaked.