(cherry picked from commit 43e5fa840aff2b1d1495b0e4b8e5d6824578e4ef)
(cherry picked from commit ab4aee71d67f643ed3d275ad906a1fe5d783a025)