(cherry picked from commit d62ea8705b22c8163fcbc6dcb7c70a42e7e745fe)
(cherry picked from commit 858b0157e56426ee0d56faae393fc85b361ffd90)