```\\nfunction _createSenderIfNeeded(uint256 opIndex, UserOpInfo memory opInfo, bytes calldata initCode) internal {\\n    if (initCode.length != 0) {\\n        address sender = opInfo.mUserOp.sender;\\n        if (sender.code.length != 0) revert FailedOp(opIndex, "AA10 sender already constructed");\\n        address sender1 = senderCreator.createSender{gas : opInfo.mUserOp.verificationGasLimit}(initCode);\\n        if (sender1 == address(0)) revert FailedOp(opIndex, "AA13 initCode failed or OOG");\\n        if (sender1 != sender) revert FailedOp(opIndex, "AA14 initCode must return sender");\\n        if (sender1.code.length == 0) revert FailedOp(opIndex, "AA15 initCode must create sender");\\n        address factory = address(bytes20(initCode[0 : 20]));\\n        emit AccountDeployed(opInfo.userOpHash, sender, factory, opInfo.mUserOp.paymaster);\\n    }\\n}\\n```\\n