(cherry picked from commit 338839c6462fb2ab27669000c8661a75b9ad80bb)
(cherry picked from commit 53b00408775945543632c380fc1263d903b3eaa9)