(cherry picked from commit 32382ac052f60d60f6970c1fbf1d39a92f1dbd2b) (cherry picked from commit f3a5c7cfe3c593712c7b804f1342f28729b808fd)