(cherry picked from commit 2845d716) (cherry picked from commit af267c4d) (cherry picked from commit 106fc761)