(cherry picked from commit 158585670ccab231b7a0902f62b9d134af747d50)
(cherry picked from commit 39c92cb944e2b41007d1870d411f5255c9da1d70)