    parser.add_argument("--upload", action="store_true", help="Upload the new segment to the CI bucket")
    parser.add_argument("route", type=str, help="The source route")
    parser.add_argument("seg", type=int, help="Segment in source route")
    args = parser.parse_args()
    regen_and_save(args.route, args.seg, args.upload)
 
</s> remove   rpath = regen_segment(lr, {'roadCameraState': fr}, outdir=outdir, disable_tqdm=disable_tqdm)
 </s> add     device_type = next(iter(lr)).initData.deviceType
    if device_type == 'tici':
      wfr = FrameReader(f"cd:/{route.replace('|', '/')}/{sidx}/ecamera.hevc")
    else:
      wfr = None
  
  frs = {'roadCameraState': fr}
  if wfr is not None:
    frs['wideRoadCameraState'] = wfr
  rpath = regen_segment(lr, frs, outdir=outdir, disable_tqdm=disable_tqdm) </s> remove def regen_and_save(route, sidx, upload=False, use_route_meta=True, outdir=FAKEDATA, disable_tqdm=False):
 </s> add def regen_and_save(route, sidx, upload=False, use_route_meta=False, outdir=FAKEDATA, disable_tqdm=False): </s> remove       'ignore_alive': ['wideRoadCameraState'],  # TODO: Add to regen
 </s> add       'ignore_alive': [], 
  regen_and_save(args.route, args.seg, args.upload, outdir=args.outdir)
    parser.add_argument("--upload", action="store_true", help="Upload the new segment to the CI bucket")
    parser.add_argument("route", type=str, help="The source route")
    parser.add_argument("seg", type=int, help="Segment in source route")
    args = parser.parse_args()
  regen_and_save(args.route, args.seg, args.upload, outdir=args.outdir)
keep keep keep keep replace
 regen: ecamera support (#27999)

* Add wideRoadCameraState support in regen

* Fix for ecam FrameReader when use_route_meta

* Pylint fixes 
selfdrive/test/process_replay/regen.py