(cherry picked from commit da729e5b386ca0fd32344dcc1fd63d14c0bb39ab)
(cherry picked from commit ffaf58f0a98bd987bbe76e8669bb22c405dcd62a)