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