emergencyResume does not handle the afterDepositCancellation case correctly
The `emergencyResume` function is intended to recover the vault's liquidity following an `emergencyPause`. It operates under the assumption of a successful deposit call. However, if the deposit call is cancelled by GMX, the `emergencyResume` function does not account for this scenario, potentially locking funds.\\nWhen `emergencyResume` is invoked, it sets the vault's status to "Resume" and deposits all LP tokens back into the pool. The function is designed to execute when the vault status is "Paused" and can be triggered by an approved keeper.\\n```\\nfunction emergencyResume(\\n    GMXTypes.Store storage self\\n  ) external {\\n    GMXChecks.beforeEmergencyResumeChecks(self);\\n\\n    self.status = GMXTypes.Status.Resume;\\n\\n    self.refundee = payable(msg.sender);\\n\\n    GMXTypes.AddLiquidityParams memory _alp;\\n\\n    _alp.tokenAAmt = self.tokenA.balanceOf(address(this));\\n    _alp.tokenBAmt = self.tokenB.balanceOf(address(this));\\n    _alp.executionFee = msg.value;\\n\\n    GMXManager.addLiquidity(\\n      self,\\n      _alp\\n    );\\n  }\\n```\\n\\nShould the deposit fail, the callback contract's `afterDepositCancellation` is expected to revert, which does not impact the continuation of the GMX execution. After the cancellation occurs, the vault status is "Resume", and the liquidity is not re-added to the pool.\\n```\\nfunction afterDepositCancellation(\\n    bytes32 depositKey,\\n    IDeposit.Props memory /* depositProps */,\\n    IEvent.Props memory /* eventData */\\n  ) external onlyController {\\n    GMXTypes.Store memory _store = vault.store();\\n\\n    if (_store.status == GMXTypes.Status.Deposit) {\\n      if (_store.depositCache.depositKey == depositKey)\\n        vault.processDepositCancellation();\\n    } else if (_store.status == GMXTypes.Status.Rebalance_Add) {\\n      if (_store.rebalanceCache.depositKey == depositKey)\\n        vault.processRebalanceAddCancellation();\\n    } else if (_store.status == GMXTypes.Status.Compound) {\\n      if (_store.compoundCache.depositKey == depositKey)\\n        vault.processCompoundCancellation();\\n    } else {\\n      revert Errors.DepositCancellationCallback();\\n    }\\n  }\\n```\\n\\nGiven this, another attempt to execute `emergencyResume` will fail because the vault status is not "Paused".\\n```\\nfunction beforeEmergencyResumeChecks (\\n    GMXTypes.Store storage self\\n  ) external view {\\n    if (self.status != GMXTypes.Status.Paused)\\n      revert Errors.NotAllowedInCurrentVaultStatus();\\n  }\\n```\\n\\nIn this state, an attempt to revert to "Paused" status via `emergencyPause` could fail in GMXManager.removeLiquidity, as there are no tokens to send back to the GMX pool, leading to a potential fund lock within the contract.
To address this issue, handle the afterDepositCancellation case correctly by allowing emergencyResume to be called again.
The current implementation may result in funds being irretrievably locked within the contract.
```\\nfunction emergencyResume(\\n    GMXTypes.Store storage self\\n  ) external {\\n    GMXChecks.beforeEmergencyResumeChecks(self);\\n\\n    self.status = GMXTypes.Status.Resume;\\n\\n    self.refundee = payable(msg.sender);\\n\\n    GMXTypes.AddLiquidityParams memory _alp;\\n\\n    _alp.tokenAAmt = self.tokenA.balanceOf(address(this));\\n    _alp.tokenBAmt = self.tokenB.balanceOf(address(this));\\n    _alp.executionFee = msg.value;\\n\\n    GMXManager.addLiquidity(\\n      self,\\n      _alp\\n    );\\n  }\\n```\\n