(cherry picked from commit 4928e31b) (cherry picked from commit 91767679) (cherry picked from commit 39f444c3) (cherry picked from commit 40664df3) (cherry picked from commit ff81edf3)