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