require(!Factory.paused(), "Swap contract is paused, users can only remove liquidity");
require(amount0Out > 0 || amount1Out > 0, 'Gravity Finance: INSUFFICIENT_OUTPUT_AMOUNT');
require(amount0Out < _reserve0 && amount1Out < _reserve1, 'Gravity Finance: INSUFFICIENT_LIQUIDITY');
require(to != _token0 && to != _token1, 'Gravity Finance: INVALID_TO');
require(amount0In > 0 || amount1In > 0, 'Gravity Finance: INSUFFICIENT_INPUT_AMOUNT');
require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(10000**2), 'Gravity Finance: K');