(cherry picked from commit 098893ea77b6288ddce57d8413f71e953d34c33f)
(cherry picked from commit 2af3481079b4942d4ec9bb1f8ea071be684dc99d)