(cherry picked from commit adc22efcb1e20eda3c0c3b897e5c5456ccf67b98)
(cherry picked from commit 6320e580ae556df683d50b5145e39039968ad9ad)