@functools.wraps(f)
        def factory(*args, **kwargs):
            
            
            
            f_sig = signature(f).bind(*args, **kwargs)
            
            f_sig.apply_defaults()
            
            with DAG(
                dag_id or f.__name__,
                description=description,
                schedule_interval=schedule_interval,
                timetable=timetable,
                start_date=start_date,
                end_date=end_date,
                full_filepath=full_filepath,
                template_searchpath=template_searchpath,
                template_undefined=template_undefined,
                user_defined_macros=user_defined_macros,
                user_defined_filters=user_defined_filters,
                default_args=default_args,
                concurrency=concurrency,
                max_active_tasks=max_active_tasks,
                max_active_runs=max_active_runs,
                dagrun_timeout=dagrun_timeout,
                sla_miss_callback=sla_miss_callback,
                default_view=default_view,
                orientation=orientation,