code: def __init_subclass__(cls, op: Callable, safe_op: Callable):
      cls.op = staticmethod(op)
      cls.safe_op = staticmethod(safe_op)
  
imports: from __future__ import annotations
  import itertools
  import math
  from abc import abstractmethod
  from itertools import combinations, product
  from typing import Callable
  import torch
  from botorch.exceptions import UnsupportedError
  from botorch.utils import safe_math
  from botorch.utils.constants import get_constants_like
  from botorch.utils.objective import compute_smoothed_feasibility_indicator
  from botorch.utils.safe_math import _pareto, cauchy, fatmax, fatmaximum, fatminimum, fatmoid, fatplus, log_fatmoid, log_fatplus, log_softplus, logdiffexp, logexpit, logmeanexp, logplusexp, sigmoid, smooth_amax
  from botorch.utils.testing import BotorchTestCase
  from torch import finfo, Tensor
  from torch.nn.functional import softplus
label_desc: Use image node_id 1 for calling the BinaryOpTestMixin obj's underlying member method code with example usage: obj.__init_subclass__(cls, op, safe_op) without return types