  class PointBuckets:
    def __init__(self, x_bounds, min_points, min_points_total):
      self.x_bounds = x_bounds
      self.buckets = {bounds: NPQueue(maxlen=POINTS_PER_BUCKET, rowsize=3) for bounds in x_bounds}
      self.buckets_min_points = dict(zip(x_bounds, min_points))
      self.min_points_total = min_points_total
  
    def bucket_lengths(self):
      return [len(v) for v in self.buckets.values()]
  
 
</s> remove   messages = list(zip(RADAR_A_MSGS + RADAR_B_MSGS, [20] * (msg_a_n + msg_b_n)))
 </s> add   messages = list(zip(RADAR_A_MSGS + RADAR_B_MSGS, [20] * (msg_a_n + msg_b_n), strict=True)) </s> remove   messages = list(zip(DELPHI_ESR_RADAR_MSGS, [20] * msg_n))
 </s> add   messages = list(zip(DELPHI_ESR_RADAR_MSGS, [20] * msg_n, strict=True)) </s> remove   chunk_sizes = {t.sha: sz for (t, sz) in zip(to, szs)}
 </s> add   chunk_sizes = {t.sha: sz for (t, sz) in zip(to, szs, strict=True)} </s> remove   for path, prob, _ in zip(m.laneLines, m.laneLineProbs, m.laneLineStds):
 </s> add   for path, prob, _ in zip(m.laneLines, m.laneLineProbs, m.laneLineStds, strict=True): </s> remove   for edge, std in zip(m.roadEdges, m.roadEdgeStds):
 </s> add   for edge, std in zip(m.roadEdges, m.roadEdgeStds, strict=True):
    self.buckets_min_points = dict(zip(x_bounds, min_points, strict=True))
  class PointBuckets:
    def __init__(self, x_bounds, min_points, min_points_total):
      self.x_bounds = x_bounds
      self.buckets = {bounds: NPQueue(maxlen=POINTS_PER_BUCKET, rowsize=3) for bounds in x_bounds}
    self.buckets_min_points = dict(zip(x_bounds, min_points, strict=True))
      self.min_points_total = min_points_total
  
    def bucket_lengths(self):
      return [len(v) for v in self.buckets.values()]
  
keep keep keep keep replace keep keep keep keep keep
 Ruff: b905 (strict zip) (#29336)

* added mutable default args

* most of the Bs

* add comment about lrucache

* b905 
selfdrive/locationd/torqued.py