(cherry picked from commit f91764acebc3b5a5eeee29ea1a913b826112c5e4)
(cherry picked from commit 9e3b05768fa8cbc6714867ffdcfa8151c6a37e9a)