Synced with the source at a07adf1eb7cfcf15e641106b2e118ecde5da8e5d.