(cherry picked from commit 8c38eb064a843b689fa9741797bab78e3836624c)
(cherry picked from commit 93c634a471864905d124ae364e2356679ee6410d)