(cherry picked from commit ca6063d6790f27ef39fb17c5ec7e917c99d83dce)
(cherry picked from commit bf77add8989f50981ef08fb7dd0ae7dd059be6c8)