(cherry picked from commit d4966246e68dbdcdab45ec5c5141362834d74425)
(cherry picked from commit a5529df3e1a4c08a120e8c05203a7d885b0fe8d8)