decorator pattern for num in range( )fibprevfib fibfib fibprev return fib if __name__ ="__main__" print("fibonacci number for {}{}format(nfib( ))nowlet' extend the code so we can pass in an option to display the elapsed time in either milliseconds or seconds import time from functools import wraps def profiling_decorator_with_unit(unit)def profiling_decorator( )@wraps(fdef wrap_f( )start_time time time(result (nend_time time time(if unit ="seconds"elapsed_time (end_time start_time elseelapsed_time (end_time start_timeprint("[time elapsed for {}{}format(nelapsed_time)return result return wrap_f return profiling_decorator @profiling_decorator_with_unit("seconds"def fib( )print("inside fib"if return