
    +j	              	       .    d dl mZ 	 d	dedededefdZdS )
    )IOFreceived_type
input_typestrictreturnc                    | |k    sdS | t           j        j        k    s|t           j        j        k    rdS | t           j        j        k    s|t           j        j        k    rdS t	          | t
                    r|t           j        j        k    rdS t	          | t                    rt	          |t                    sdS t          d | 	                    d          D                       }t          d |	                    d          D                       }t           j        j        |v st           j        j        |v rdS |r|
                    |          S t          |                    |                    dk    S )aq  
    received_type and input_type are both strings of the form "T1,T2,...".

    If strict is True, the input_type must contain the received_type.
      For example, if received_type is "STRING" and input_type is "STRING,INT",
      this will return True. But if received_type is "STRING,INT" and input_type is
      "INT", this will return False.

    If strict is False, the input_type must have overlap with the received_type.
      For example, if received_type is "STRING,BOOLEAN" and input_type is "STRING,INT",
      this will return True.

    Supports pre-union type extension behaviour of ``__ne__`` overrides.
    TFc              3   >   K   | ]}|                                 V  d S Nstrip.0ts     :/home/wildlama/comfy/ComfyUI/comfy_execution/validation.py	<genexpr>z&validate_node_input.<locals>.<genexpr>.   s*      EEqEEEEEE    ,c              3   >   K   | ]}|                                 V  d S r
   r   r   s     r   r   z&validate_node_input.<locals>.<genexpr>/   s*      ??Aaggii??????r   r   )r   AnyTypeio_type	MatchType
isinstancelistCombostrsetsplitissubsetlenintersection)r   r   r   received_typesinput_typess        r   validate_node_inputr#      sn   ( J&&t 
***jBJ<N.N.Nt ,,,
bl>R0R0Rt -&& :9I+I+It mS)) J1L1L u EEM,?,?,D,DEEEEEN??)9)9#)>)>?????K 
z^++rz/A[/P/Pt A&&{333 >..{;;<<q@@r   N)F)comfy_api.latestr   r   boolr#    r   r   <module>r'      sj          9>6A 6A6A$'6A156A	6A 6A 6A 6A 6A 6Ar   