forked from: flash on 2016-8-10

