    if candidate is None:
      cloudlog.warning("car doesn't match any fingerprints: %r", fingerprints)
      candidate = "mock"
  
    CarInterface, CarController = interfaces[candidate]
    car_params = CarInterface.get_params(candidate, fingerprints, has_relay, car_fw)
    car_params.carVin = vin
    car_params.carFw = car_fw
    car_params.fingerprintSource = source
  
 
</s> remove   return CarInterface(car_params, CarController), car_params
 </s> add   return CarInterface(car_params, CarController, CarState), car_params </s> remove       ret[model_name] = (CarInterface, CarController)
 </s> add       ret[model_name] = (CarInterface, CarController, CarState) </s> remove def get_can_parser(CP):
  signals, checks = get_can_signals(CP)
  bus_pt = 1 if CP.isPandaBlack and CP.carFingerprint in HONDA_BOSCH else 0
  return CANParser(DBC[CP.carFingerprint]['pt'], signals, checks, bus_pt)


def get_cam_can_parser(CP):
  signals = []

  if CP.carFingerprint in HONDA_BOSCH:
    signals += [("ACCEL_COMMAND", "ACC_CONTROL", 0),
                ("AEB_STATUS", "ACC_CONTROL", 0)]
  else:
    signals += [("COMPUTER_BRAKE", "BRAKE_COMMAND", 0),
                ("AEB_REQ_1", "BRAKE_COMMAND", 0),
                ("FCW", "BRAKE_COMMAND", 0),
                ("CHIME", "BRAKE_COMMAND", 0),
                ("FCM_OFF", "ACC_HUD", 0),
                ("FCM_OFF_2", "ACC_HUD", 0),
                ("FCM_PROBLEM", "ACC_HUD", 0),
                ("ICONS", "ACC_HUD", 0)]


  # all hondas except CRV, RDX and 2019 Odyssey@China use 0xe4 for steering
  checks = [(0xe4, 100)]
  if CP.carFingerprint in [CAR.CRV, CAR.ACURA_RDX, CAR.ODYSSEY_CHN]:
    checks = [(0x194, 100)]

  bus_cam = 1 if CP.carFingerprint in HONDA_BOSCH  and not CP.isPandaBlack else 2
  return CANParser(DBC[CP.carFingerprint]['pt'], signals, checks, bus_cam)

 </s> add 
  CarInterface, CarController, CarState = interfaces[candidate]
    if candidate is None:
      cloudlog.warning("car doesn't match any fingerprints: %r", fingerprints)
      candidate = "mock"
  
  CarInterface, CarController, CarState = interfaces[candidate]
    car_params = CarInterface.get_params(candidate, fingerprints, has_relay, car_fw)
    car_params.carVin = vin
    car_params.carFw = car_fw
    car_params.fingerprintSource = source
  
keep keep keep keep replace keep keep keep keep keep
 get_can_parser and get_cam_can_parser are now standard static methods (#1136) 
selfdrive/car/car_helpers.py