
    %h                     0   d dl mZmZ d dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZ d dlmZmZmZmZmZ  ed ed e	 ee                               ed eej                  dd          d	          Z ed
 ed
 e	 ee                               ed eej                  dd          d	          Z ed ed ee                     ed eej                  dd          d	          Z ed ed ee                     ed eej                  dd          d	          Zdddedededee         def
dZdededee         fdZdede
fdZdedee         fdZdedee         fdZdededee         fdZ dS )    )ListOptional)
dispatcher)	BaseCTypeBindingboolTConstRefCTypeCTypelongT
NamedCTypetensorT)ArgumentBaseTyBaseTypeFunctionSchemaNativeFunctionsViewGroupbase)nametypeN)r   r   default
annotation)r   nctypeargumentr   mutated_viewmutated_view_idxreapply_views)r   g
is_reverseinclude_namespacereturnc                :   ||sJ |r9| j         J | j         j        j                                        }|rd| dS | dS |sJ | j         J |r#| j        j        j                                        n"| j         j        j                                        }d| dS )Nz+at::functionalization::FunctionalInverses::_inversez
at::_ops::z::call)	view_copyfuncr   unambiguous_nameview)r   r   r   r   api_names        ^/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/torchgen/api/functionalization.pyr   r   K   s      z 
) {&&&;#(99;; 	)SSSSS((((;""" 	6))+++["3355 
 )((((    r$   c                    | j         j        }|d         j        t          t          j                  k    sJ |dd          }d |D             }t          g|z   }|S )Nr      c                 :    g | ]}t          j        |d           S )T)remove_non_owning_ref_typesr   r   .0as     r(   
<listcomp>z%capture_arguments.<locals>.<listcomp>s   s5       EF
A4@@@  r)   )	argumentsflat_allr   r   r   Tensorreapply_views_binding)r$   r   argsnon_self_argsnon_self_value_bindingsall_bindingss         r(   capture_argumentsr;   l   sq     >"D7<8FM222222HM JW   **-DDLr)   c                     t          | j                  dk    sJ | j        D ]}|j                                        sJ t	          t
                    S )Nr+   )lenreturnsr   is_tensor_liker   r   )r$   rets     r(   returns_typerA   z   s[    t|!!!!| ) )x&&(((((( Wr)   c                 J    | rt           t          t          gS t           t          gS )N)base_bindingmutated_view_bindingmutated_view_idx_binding)r   s    r(   outer_argumentsrF      s%     824LMM677r)   c                     t          | j                  dk    s<t          | j                  dk    r+| j        d         j                                        rt          S d S )Nr+   r   )r=   r>   r   is_list_likerE   )r$   s    r(   inner_call_indexrI      sS     4<1DLQ4<?#7#D#D#F#F''4r)   c                 4   | j         j        }|d         j        t          t          j                  k    sJ |dd          }d |D             }|st          g|z   S t          |           }|t          t          t          |g|z   S t          t          t          g|z   S )Nr   r+   c                 6    g | ]}t          j        |          S  r.   r/   s     r(   r2   z#inner_arguments.<locals>.<listcomp>   s#    GGGA,Q//GGGr)   )
r3   r4   r   r   r   r5   rC   rI   rD   r6   )r$   r   r7   r8   non_self_bindingsindex_bindings         r(   inner_argumentsrO      s    >"D7<8FM222222HM HGGGG "~ 111
 )..$$%	
 "" " $% "	" "r)   )!typingr   r   torchgen.apir   torchgen.api.typesr   r   r   r	   r
   r   r   r   torchgen.modelr   r   r   r   r   r5   rC   rD   rE   boolr6   strr   r;   rA   rF   rI   rO   rL   r)   r(   <module>rV      s   ! ! ! ! ! ! ! ! # # # # # #	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	             2 w	:6ii6H6H(I(IJJJX((6=114D      w	:>ii>P>P0Q0QRRRX((6=114D       #7	:-IIe4D4DEEEX((6=114D        	:?51A1ABBBX88FK#8#8$SW      " %)) ) )) ) 	)
 D>) 	) ) ) )BN 4 DM    ~ %    84 8DM 8 8 8 8> hw.?    ". "d "tG} " " " " " "r)   