(cherry picked from commit dd4482fad23664897d7155cc15e6e046ec6ef19f)
(cherry picked from commit a1fd3afc3226889617b48591dde42927bd9f502b)