```\\nfunction _validatePaymasterPrepayment(uint256 opIndex, UserOperation calldata op, UserOpInfo memory opInfo, uint256 requiredPreFund, uint256 gasUsedByValidateAccountPrepayment)\\ninternal returns (bytes memory context, uint256 validationData) {\\nunchecked {\\n    MemoryUserOp memory mUserOp = opInfo.mUserOp;\\n    uint256 verificationGasLimit = mUserOp.verificationGasLimit;\\n    require(verificationGasLimit > gasUsedByValidateAccountPrepayment, "AA41 too little verificationGas");\\n    uint256 gas = verificationGasLimit - gasUsedByValidateAccountPrepayment;\\n\\n    address paymaster = mUserOp.paymaster;\\n    DepositInfo storage paymasterInfo = deposits[paymaster];\\n    uint256 deposit = paymasterInfo.deposit;\\n    if (deposit < requiredPreFund) {\\n        revert FailedOp(opIndex, "AA31 paymaster deposit too low");\\n    }\\n    paymasterInfo.deposit = uint112(deposit - requiredPreFund);\\n    try IPaymaster(paymaster).validatePaymasterUserOp{gas : gas}(op, opInfo.userOpHash, requiredPreFund) returns (bytes memory _context, uint256 _validationData){\\n        context = _context;\\n        validationData = _validationData;\\n    } catch Error(string memory revertReason) {\\n        revert FailedOp(opIndex, string.concat("AA33 reverted: ", revertReason));\\n    } catch {\\n        revert FailedOp(opIndex, "AA33 reverted (or OOG)");\\n    }\\n}\\n}\\n```\\n