(cherry picked from commit de9605a1c13b8357ba6e9603d29dc741efbff0ec)
(cherry picked from commit 5d545a624f4cf372c5377a83748ebeb2c195b4f6)