Copyright (c) 2005-2006 Nexedi SARL
Thanks to Intelliant for their help.