(cherry picked from commit e54915edb9f3058efcb91ab2d4eea299657bf51b)
(cherry picked from commit 321c5846a217f4db53a21f14d6a0bc9040894ae2)