(cherry picked from commit 5009ad4a7f712fc578b461ecec53f7f97eaaed0c) (cherry picked from commit d39039d54df7934297f39c11215f2954b8803200)