(cherry picked from commit ae057d0a)
(cherry picked from commit dd556951)
(cherry picked from commit a771f5d7)