(cherry picked from commit 7d10cab9765ed662b5088f791c8635fd8cc63e44)
(cherry picked from commit 5ec2fa24a9ebe3cf59c033ebd9b0e9f81c1264ed)