Not perfect  but close! Sometimes times out if running in background. Restoring +40000 messages  I had to disable screen sleep and leave running overnight. Checks for duplicates which is critical if you time out.
November 12 2016