(cherry picked from commit 84ced330) (cherry picked from commit 664529ef) (cherry picked from commit 811b137d) (cherry picked from commit 39a53d4f)