(cherry picked from commit 66a1af5d1b951a5c2c538e273683771ec461eb09)
(cherry picked from commit b3aa1827d1d3a861dc6ddbc188e2818ce977b04f)