(cherry picked from commit 985d764f623e24402b1ba91562d2994b28d1aeec)
(cherry picked from commit 505f5cfa0c543f779abe43d6d77f260991486fdf)