
    BVh>                     .    d Z ddlZddlmZ ddlmZ d Zy)zVarious context managers.    N)ops)tensor_array_opsc                     d |  t        j                  d              S t        | t        t        f      s| f} t	        fd| D              } t        j                  |       S )zCreate a TF control dependency on the return values of a function.

  If the function had no return value, a no-op context is returned.

  Args:
    return_value: The return value to set as control dependency.

  Returns:
    A context manager.
  c                 R    t        | t        j                        r| j                  S | S N)
isinstancer   TensorArrayflow)ts    b/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/autograph/utils/context_managers.pycontrol_dependency_handlez@control_dependency_on_returns.<locals>.control_dependency_handle"   s!    !%112VVmH    c               3      K   d  S r    r   r   r   <lambda>z/control_dependency_on_returns.<locals>.<lambda>(   s     er   c              3   .   K   | ]  } |        y wr   r   ).0r   r   s     r   	<genexpr>z0control_dependency_on_returns.<locals>.<genexpr>,   s     J03Js   )
contextlibcontextmanagerr   listtupler   control_dependencies)return_valuer   s    @r   control_dependency_on_returnsr      s\    
 5:$$_577	L4-	0 ?LJ\JJ,		!	!,	//r   )__doc__r   tensorflow.python.frameworkr   tensorflow.python.opsr   r   r   r   r   <module>r      s       + 20r   