(cherry picked from commit eb864d35d6c5f0c0af67032d5f6925aa123273af) (cherry picked from commit 9e87f59dea25ebb90e7bc3ae640da25c4b8e9a82)
(cherry picked from commit eb864d35d6c5f0c0af67032d5f6925aa123273af) (cherry picked from commit 9e87f59dea25ebb90e7bc3ae640da25c4b8e9a82)