(cherry picked from commit 8758d36a) (cherry picked from commit e7826648) (cherry picked from commit 7c94f4b8)