(cherry picked from commit e6ea530532523ed033fd232fcea2da8f17b973f7) (cherry picked from commit 634da1519184a1cbfbce7ed7e9bcc7bc7e7cf1b2)
(cherry picked from commit e6ea530532523ed033fd232fcea2da8f17b973f7) (cherry picked from commit 634da1519184a1cbfbce7ed7e9bcc7bc7e7cf1b2)