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