(cherry picked from commit e1baab1dc61accd009a902e8aab80b243044e27c)
(cherry picked from commit da0d88a79c88619ce4398925f930a6bfa88a825d)