(cherry picked from commit 7161b71265c13afc9b7cc61cef472f6af00a342b)
(cherry picked from commit cd517b9eede8b15c6748e9984130cf386c08a387)