(cherry picked from commit 954f6507d9ffd59ecb209e05422e6b95fd3c0e55)
(cherry picked from commit b46059368641b70c78e71c64ed944b1325435ac1)