(cherry picked from commit af86106723b8b46537029a3cafcfae48f61630fa)
(cherry picked from commit 8fcdcb0769e5b1a3e9cdb48b21b09a26f8fdc3be)