Synchronized with the source at ff2aa9ae29f8d56c9f311ce0a4e44b8e0f818555.