(cherry picked from commit be7e2881b921013076f2f05b578eae53e6fd778d)
(cherry picked from commit f3d203c40deabf5e2f2f38574768070bc760383c)