```\n    function testswapExactTokensForETHStuckTokens() public {\n        address wrappedTokenA = IChilizWrapperFactory(wrapperFactory).wrappedTokenFor(address(tokenA));\n\n        tokenA.approve(address(wrapperFactory), type(uint256).max);\n        wrapperFactory.wrap(address(this), address(tokenA), 100);\n\n        IERC20(wrappedTokenA).approve(address(router), 100 ether);\n        router.addLiquidityETH{value: 100 ether}(wrappedTokenA, 100 ether, 0, 0, address(this), type(uint40).max);\n\n        address pairAddress = factory.getPair(address(WETH), wrapperFactory.wrappedTokenFor(address(tokenA)));\n\n        uint256 pairBalance = JalaPair(pairAddress).balanceOf(address(this));\n\n        address[] memory path = new address[](2);\n        path[0] = wrappedTokenA;\n        path[1] = address(WETH);\n\n        vm.startPrank(user0);\n        console.log("ETH user balance before:       ", user0.balance);\n        console.log("TokenA user balance before:    ", tokenA.balanceOf(user0));\n        console.log("WTokenA router balance before: ", IERC20(wrappedTokenA).balanceOf(address(masterRouter)));\n\n        tokenA.approve(address(masterRouter), 550);\n        masterRouter.swapExactTokensForETH(address(tokenA), 550, 0, path, user0, type(uint40).max);\n        vm.stopPrank();\n\n        console.log("ETH user balance after:       ", user0.balance);\n        console.log("TokenA user balance after:    ", tokenA.balanceOf(user0));\n        console.log("WTokenA router balance after: ", IERC20(wrappedTokenA).balanceOf(address(masterRouter)));\n    }\n```\n