(cherry picked from commit 18e4b1f33eb5bb803bc35100f80b61fd82642645)
(cherry picked from commit d796af204093535d862d91cdc694312dfbfbab5e)