(cherry picked from commit 7bc33b63c78c6ee9a04c0c1511ef16e63f7f3074) (cherry picked from commit 6ed8989a6f897437ab53c85c42fa8b58fe556359)