Unified setup script