(cherry picked from commit 156f8d44) (cherry picked from commit 261af80c) (cherry picked from commit 052745d3) (cherry picked from commit e134f0e4)