| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -6,7 +6,7 @@ from selfdrive.car.hyundai.hyundaicanfd import CanBus | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \ | 
					 | 
					 | 
					 | 
					from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            EV_CAR, HYBRID_CAR, LEGACY_SAFETY_MODE_CAR, Buttons | 
					 | 
					 | 
					 | 
					                                                            EV_CAR, HYBRID_CAR, LEGACY_SAFETY_MODE_CAR, Buttons | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR | 
					 | 
					 | 
					 | 
					from selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.car import STD_CARGO_KG, create_button_event, get_safety_config | 
					 | 
					 | 
					 | 
					from selfdrive.car import create_button_event, get_safety_config | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.car.interfaces import CarInterfaceBase | 
					 | 
					 | 
					 | 
					from selfdrive.car.interfaces import CarInterfaceBase | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.car.disable_ecu import disable_ecu | 
					 | 
					 | 
					 | 
					from selfdrive.car.disable_ecu import disable_ecu | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -62,180 +62,180 @@ class CarInterface(CarInterfaceBase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning) | 
					 | 
					 | 
					 | 
					    CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if candidate in (CAR.SANTA_FE, CAR.SANTA_FE_2022, CAR.SANTA_FE_HEV_2022, CAR.SANTA_FE_PHEV_2022): | 
					 | 
					 | 
					 | 
					    if candidate in (CAR.SANTA_FE, CAR.SANTA_FE_2022, CAR.SANTA_FE_HEV_2022, CAR.SANTA_FE_PHEV_2022): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3982. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3982. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.766 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.766 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      # Values from optimizer | 
					 | 
					 | 
					 | 
					      # Values from optimizer | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.55  # 13.8 is spec end-to-end | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.55  # 13.8 is spec end-to-end | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.82 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.82 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.SONATA, CAR.SONATA_HYBRID): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.SONATA, CAR.SONATA_HYBRID): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1513. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1513. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.84 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.84 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27 * 1.15   # 15% higher at the center seems reasonable | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27 * 1.15   # 15% higher at the center seems reasonable | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.SONATA_LF: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.SONATA_LF: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1536. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1536. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.804 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.804 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27 * 1.15   # 15% higher at the center seems reasonable | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27 * 1.15   # 15% higher at the center seems reasonable | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.PALISADE: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.PALISADE: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1999. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1999. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.90 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.90 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 15.6 * 1.15 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 15.6 * 1.15 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.63 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.63 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1275. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1275. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 15.4            # 14 is Stock | Settled Params Learner values are steerRatio: 15.401566348670535 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 15.4            # 14 is Stock | Settled Params Learner values are steerRatio: 15.401566348670535 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385    # stiffnessFactor settled on 1.0081302973865127 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385    # stiffnessFactor settled on 1.0081302973865127 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
					 | 
					 | 
					 | 
					      ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA_2021: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA_2021: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = (2800. * CV.LB_TO_KG) + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2800. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.72 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.72 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA_HEV_2021: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.ELANTRA_HEV_2021: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = (3017. * CV.LB_TO_KG) + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3017. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.72 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.72 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.HYUNDAI_GENESIS: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.HYUNDAI_GENESIS: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2060. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2060. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.01 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.01 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.5 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.minSteerSpeed = 60 * CV.KPH_TO_MS | 
					 | 
					 | 
					 | 
					      ret.minSteerSpeed = 60 * CV.KPH_TO_MS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KONA, CAR.KONA_EV, CAR.KONA_HEV, CAR.KONA_EV_2022): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KONA, CAR.KONA_EV, CAR.KONA_HEV, CAR.KONA_EV_2022): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = {CAR.KONA_EV: 1685., CAR.KONA_HEV: 1425., CAR.KONA_EV_2022: 1743.}.get(candidate, 1275.) + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = {CAR.KONA_EV: 1685., CAR.KONA_HEV: 1425., CAR.KONA_EV_2022: 1743.}.get(candidate, 1275.) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.6 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.6 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.42  # Spec | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.42  # Spec | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.IONIQ, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV_2019, CAR.IONIQ_HEV_2022, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.IONIQ, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV_2019, CAR.IONIQ_HEV_2022, CAR.IONIQ_EV_2020, CAR.IONIQ_PHEV): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1490. + STD_CARGO_KG  # weight per hyundai site https://www.hyundaiusa.com/ioniq-electric/specifications.aspx | 
					 | 
					 | 
					 | 
					      ret.mass = 1490.  # weight per hyundai site https://www.hyundaiusa.com/ioniq-electric/specifications.aspx | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.73  # Spec | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.73  # Spec | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if candidate in (CAR.IONIQ, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV_2019): | 
					 | 
					 | 
					 | 
					      if candidate in (CAR.IONIQ, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV_2019): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.VELOSTER: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.VELOSTER: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2917. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2917. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 * 1.15 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 * 1.15 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.TUCSON: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.TUCSON: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3520. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3520. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.67 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.67 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.00 * 1.15 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.00 * 1.15 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.TUCSON_4TH_GEN, CAR.TUCSON_HYBRID_4TH_GEN): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.TUCSON_4TH_GEN, CAR.TUCSON_HYBRID_4TH_GEN): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1630. + STD_CARGO_KG  # average | 
					 | 
					 | 
					 | 
					      ret.mass = 1630.  # average | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 16. | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 16. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.SANTA_CRUZ_1ST_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.SANTA_CRUZ_1ST_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1870. + STD_CARGO_KG  # weight from Limited trim - the only supported trim | 
					 | 
					 | 
					 | 
					      ret.mass = 1870.  # weight from Limited trim - the only supported trim | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.000 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.000 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      # steering ratio according to Hyundai News https://www.hyundainews.com/assets/documents/original/48035-2022SantaCruzProductGuideSpecsv2081521.pdf | 
					 | 
					 | 
					 | 
					      # steering ratio according to Hyundai News https://www.hyundainews.com/assets/documents/original/48035-2022SantaCruzProductGuideSpecsv2081521.pdf | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.2 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.2 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # Kia | 
					 | 
					 | 
					 | 
					    # Kia | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SORENTO: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SORENTO: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1985. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1985. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.78 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.78 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.4 * 1.1   # 10% higher at the center seems reasonable | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.4 * 1.1   # 10% higher at the center seems reasonable | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_NIRO_EV, CAR.KIA_NIRO_EV_2ND_GEN, CAR.KIA_NIRO_PHEV, CAR.KIA_NIRO_HEV_2021, CAR.KIA_NIRO_HEV_2ND_GEN): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_NIRO_EV, CAR.KIA_NIRO_EV_2ND_GEN, CAR.KIA_NIRO_PHEV, CAR.KIA_NIRO_HEV_2021, CAR.KIA_NIRO_HEV_2ND_GEN): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3543. * CV.LB_TO_KG + STD_CARGO_KG  # average of all the cars | 
					 | 
					 | 
					 | 
					      ret.mass = 3543. * CV.LB_TO_KG  # average of all the cars | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.7 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6  # average of all the cars | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6  # average of all the cars | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.385 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_NIRO_PHEV: | 
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_NIRO_PHEV: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SELTOS: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SELTOS: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1337. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1337. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.63 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.63 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.56 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.56 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SPORTAGE_5TH_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SPORTAGE_5TH_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1700. + STD_CARGO_KG  # weight from SX and above trims, average of FWD and AWD versions | 
					 | 
					 | 
					 | 
					      ret.mass = 1700.  # weight from SX and above trims, average of FWD and AWD versions | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6  # steering ratio according to Kia News https://www.kiamedia.com/us/en/models/sportage/2023/specifications | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6  # steering ratio according to Kia News https://www.kiamedia.com/us/en/models/sportage/2023/specifications | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_OPTIMA_G4, CAR.KIA_OPTIMA_G4_FL, CAR.KIA_OPTIMA_H): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_OPTIMA_G4, CAR.KIA_OPTIMA_G4_FL, CAR.KIA_OPTIMA_H): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3558. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3558. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_OPTIMA_G4: | 
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_OPTIMA_G4: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
					 | 
					 | 
					 | 
					        ret.minSteerSpeed = 32 * CV.MPH_TO_MS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_STINGER, CAR.KIA_STINGER_2022): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_STINGER, CAR.KIA_STINGER_2022): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1825. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1825. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.78 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.78 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.4 * 1.15   # 15% higher at the center seems reasonable | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.4 * 1.15   # 15% higher at the center seems reasonable | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_FORTE: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_FORTE: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2878. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2878. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.80 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_CEED: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_CEED: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1450. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1450. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.65 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.75 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_K5_2021, CAR.KIA_K5_HEV_2020): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_K5_2021, CAR.KIA_K5_HEV_2020): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3381. * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3381. * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.85 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.85 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27  # 2021 Kia K5 Steering Ratio (all trims) | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.27  # 2021 Kia K5 Steering Ratio (all trims) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_EV6: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_EV6: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2055 + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2055 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.9 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.9 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 16. | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 16. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.IONIQ_5, CAR.IONIQ_6): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.IONIQ_5, CAR.IONIQ_6): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1948 + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1948 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.97 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.97 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.26 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.26 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
					 | 
					 | 
					 | 
					      ret.tireStiffnessFactor = 0.65 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SPORTAGE_HYBRID_5TH_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_SPORTAGE_HYBRID_5TH_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1767. + STD_CARGO_KG  # SX Prestige trim support only | 
					 | 
					 | 
					 | 
					      ret.mass = 1767.  # SX Prestige trim support only | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.756 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.6 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_SORENTO_4TH_GEN, CAR.KIA_SORENTO_PHEV_4TH_GEN): | 
					 | 
					 | 
					 | 
					    elif candidate in (CAR.KIA_SORENTO_4TH_GEN, CAR.KIA_SORENTO_PHEV_4TH_GEN): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.81 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.81 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.5  # average of the platforms | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.5  # average of the platforms | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_SORENTO_4TH_GEN: | 
					 | 
					 | 
					 | 
					      if candidate == CAR.KIA_SORENTO_4TH_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ret.mass = 3957 * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					        ret.mass = 3957 * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      else: | 
					 | 
					 | 
					 | 
					      else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ret.mass = 4537 * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					        ret.mass = 4537 * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_CARNIVAL_4TH_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.KIA_CARNIVAL_4TH_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2087. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2087. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.09 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.09 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.23 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.23 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # Genesis | 
					 | 
					 | 
					 | 
					    # Genesis | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV60_EV_1ST_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV60_EV_1ST_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2205 + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2205 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.9 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.9 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      # https://www.motor1.com/reviews/586376/2023-genesis-gv60-first-drive/#:~:text=Relative%20to%20the%20related%20Ioniq,5%2FEV6%27s%2014.3%3A1. | 
					 | 
					 | 
					 | 
					      # https://www.motor1.com/reviews/586376/2023-genesis-gv60-first-drive/#:~:text=Relative%20to%20the%20related%20Ioniq,5%2FEV6%27s%2014.3%3A1. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.6 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.6 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G70: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G70: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerActuatorDelay = 0.1 | 
					 | 
					 | 
					 | 
					      ret.steerActuatorDelay = 0.1 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1640.0 + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1640.0 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.84 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.84 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.56 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 13.56 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G70_2020: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G70_2020: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 3673.0 * CV.LB_TO_KG + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 3673.0 * CV.LB_TO_KG | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.83 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.83 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.9 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV70_1ST_GEN: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV70_1ST_GEN: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 1950. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 1950. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.87 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.87 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.6 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.6 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G80: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G80: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2060. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2060. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.01 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.01 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.5 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 16.5 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G90: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_G90: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2200. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2200. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.15 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 3.15 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.069 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 12.069 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV80: | 
					 | 
					 | 
					 | 
					    elif candidate == CAR.GENESIS_GV80: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.mass = 2258. + STD_CARGO_KG | 
					 | 
					 | 
					 | 
					      ret.mass = 2258. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.95 | 
					 | 
					 | 
					 | 
					      ret.wheelbase = 2.95 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.14 | 
					 | 
					 | 
					 | 
					      ret.steerRatio = 14.14 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |