Synced with the source at df1a88a6d16042c9c85034ad8190d283898f7b60.