(cherry picked from commit 96d39460f1b4a49fad5b5f89f3a2cef41841900f)
(cherry picked from commit 2e36b500497d53c915daae3d2eaf686642b004c9)