(cherry picked from commit 3fb7ebfeebd277dd8318c248d48ce31bc46807dc)
(cherry picked from commit 38eafc659f42a351678eeb3fd2ea1e4496f62a80)