(cherry picked from commit b9b4f04e1d94c91b7df294a18f64015cd1c9b930)
(cherry picked from commit 16c9a42320db0c41d05d741bd1c029aaa03c3b70)