(cherry picked from commit 9594157dbd986435c30bd6e29f813df6aaf029c3)
(cherry picked from commit 1560580ab1c9905cc2654299d57f4773ff05a50f)