(cherry picked from commit 70978db98c3af3fe72100fa6646780c7a5a13daa)
(cherry picked from commit c65f76f56278f74082c4fa792ed49104d5d33c38)