(cherry picked from commit b4a5034a03a89882748dc058f7fcbff082985eb4)
(cherry picked from commit 1b484b82896737a63521a7c1dca12fd2b770c5fc)