(cherry picked from commit a736b5da15084e8eb93d2f68f8eccc506ff7bea7) (cherry picked from commit 7b62c9684d517394d1d360eb8d6dee36ff659062)