(cherry picked from commit e8cf2ad1ecfc271c6bacf3ccc3b346e0af97ebd5)
(cherry picked from commit 20da79b186efbee01bdc8a1aa542a97358e35367)