```\\nfunction _transfer(\\n    address from,\\n    address to,\\n    uint256 amount\\n) internal override {\\n    require(from != address(0), "ERC20: transfer from the zero address");\\n    require(to != address(0), "ERC20: transfer to the zero address");\\n    require(!_blacklist[to] && !_blacklist[from], "You have been blacklisted from transfering tokens");\\n     if(amount == 0) {\\n        super._transfer(from, to, 0);\\n        return;\\n    }\\n\\n    if(limitsInEffect){\\n        if (\\n            from != owner() &&\\n            to != owner() &&\\n            to != address(0) &&\\n            to != address(0xdead) &&\\n            !swapping\\n        ){\\n            if(!tradingActive){\\n                require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");\\n            }\\n\\n            // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch.  \\n            if (transferDelayEnabled){\\n                if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)){\\n                    require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed.");\\n                    _holderLastTransferTimestamp[tx.origin] = block.number;\\n                }\\n            }\\n\\n            //when buy\\n            if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {\\n                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");\\n                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");\\n            }\\n\\n            //when sell\\n            else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {\\n                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");\\n            }\\n            else if(!_isExcludedMaxTransactionAmount[to]){\\n                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");\\n            }\\n        }\\n    }\\n\\n    // anti bot logic\\n    if (block.number <= (launchedAt + 0) && \\n            to != uniswapV2Pair && \\n            to != address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)\\n        ) { \\n        _blacklist[to] = false;\\n    }\\n\\nnt256 contractTokenBalance = balanceOf(address(this));\\n\\n    bool canSwap = contractTokenBalance >= swapTokensAtAmount;\\n\\n    if( \\n        canSwap &&\\n        swapEnabled &&\\n        !swapping &&\\n        !automatedMarketMakerPairs[from] &&\\n        !_isExcludedFromFees[from] &&\\n        !_isExcludedFromFees[to]\\n    ) {\\n        swapping = true;\\n\\n        swapBack();\\n\\n        swapping = false;\\n    }\\n\\n    if(!swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from]){\\n        autoBurnLiquidityPairTokens();\\n    }\\n\\n    bool takeFee = !swapping;\\n\\n    // if any account belongs to _isExcludedFromFee account then remove the fee\\n    if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {\\n        takeFee = false;\\n    }\\n\\n    uint256 fees = 0;\\n    // only take fees on buys/sells, do not take on wallet transfers\\n    if(takeFee){\\n        // on sell\\n        if (automatedMarketMakerPairs[to] && sellTotalFees > 0){\\n            fees = amount.mul(sellTotalFees).div(100);\\n            tokensForLiquidity += fees * sellLiquidityFee / sellTotalFees;\\n            tokensForDev += fees * sellDevFee / sellTotalFees;\\n            tokensForMarketing += fees * sellMarketingFee / sellTotalFees;\\n        }\\n        // on buy\\n        else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) {\\n    	    fees = amount.mul(buyTotalFees).div(100);\\n    	    tokensForLiquidity += fees * buyLiquidityFee / buyTotalFees;\\n            tokensForDev += fees * buyDevFee / buyTotalFees;\\n            tokensForMarketing += fees * buyMarketingFee / buyTotalFees;\\n        }\\n\\n        if(fees > 0){    \\n            super._transfer(from, address(this), fees);\\n        }\\n\\n    	amount -= fees;\\n    }\\n\\n    super._transfer(from, to, amount);\\n}\\n```\\n