  from openpilot.tools.sim.bridge.common import SimulatorBridge
  from openpilot.tools.sim.bridge.carla import CarlaBridge
  
  
  def parse_args(add_args=None):
    parser = argparse.ArgumentParser(description='Bridge between CARLA and openpilot.')
    parser.add_argument('--joystick', action='store_true')
    parser.add_argument('--high_quality', action='store_true')
 
</s> remove   rk = Ratekeeper(hz)
 </s> add   rk = Ratekeeper(hz, None) </s> remove     self.send_panda_state(simulator_state)
 </s> add     if self.idx % 50 == 0: # only send panda states at 2hz
      self.send_panda_state(simulator_state)
from openpilot.tools.sim.bridge.metadrive import MetaDriveBridge
  from openpilot.tools.sim.bridge.common import SimulatorBridge
  from openpilot.tools.sim.bridge.carla import CarlaBridge
from openpilot.tools.sim.bridge.metadrive import MetaDriveBridge
  
  
  def parse_args(add_args=None):
    parser = argparse.ArgumentParser(description='Bridge between CARLA and openpilot.')
    parser.add_argument('--joystick', action='store_true')
    parser.add_argument('--high_quality', action='store_true')
keep add keep keep keep keep keep keep
 Simulator: add metadrive as optional simulator (#29935)

* Add metadrive sim

* use monotonic

* don't use cuda if it's not available

* Cleanup metadrive patches

* PR suggestions

* fix typo 
tools/sim/run_bridge.py