(cherry picked from commit 4115d519c48c775ee8867146a09697e5aaed49e4)
(cherry picked from commit 9f8965b4a7a723c5925463046fb8795a2d55b166)