(cherry picked from commit 5de66f86283d2d838334bbfa6b026216519bbe38)
(cherry picked from commit dad733adf98705ffdcaf8cb68209d0f0e614a37a)