(cherry picked from commit a47b7eee96fa3ea2e585d2cdff3d97817493aced)
(cherry picked from commit cbff08286333b084ca6a375cec7c3f917b512bb6)