(cherry picked from commit 139cc752d21c30bf4d1ca263bb4b0717c48b2c0a)
(cherry picked from commit 625039ef20e6011ab360131d70582a6e4bf2ec1d)