(cherry picked from commit 75d181067dd774bfb9045dc514b2ec2f07db7fe9)
(cherry picked from commit 44de63136aefa1492ecbea2734e31e2ce8c039a6)