(cherry picked from commit 6cb43cac824d57e0ebafc3b00bb15104ff78d4be)
(cherry picked from commit e7e7c6494d2cbf739069f8d77278b9241ae6aeec)