
    +jt                     n    S SK r S SKrS SKrS SKJr  S SKJrJr  0 S4S jr0 SS4S jr	S	 r
S
 rS rS rg)    N)args)	ImageFileUnidentifiedImageErrorFc                     / nU  Hc  nUS   US   R                  5       /nU H1  nX   nU(       a  US   R                  US 5      nUb  X-   nXuS   U'   M3     UR                  U5        Me     U$ )Nr      )copygetappend)	conditioningvaluesr
   ctnkvalold_vals	            ,/home/wildlama/comfy/ComfyUI/node_helpers.pyconditioning_set_valuesr   	   s}    
AqT1Q499;A)CA$((1d+&!-CaDG  	
  H                  ?c           
         X#:  a  [         R                  " SU SU S35        U $ Sn/ nU  H  nUS   R                  SS5      nUS   R                  SS	5      n[        X'5      n	[	        X85      n
X:  a  UR                  U5        M[  X:  a!  UR                  [        U/XyU-
  S
.5      5        UR                  [        U/0 UEXS
.E5      5        X:  d  M  UR                  [        U/X-   US
.5      5        M     U$ )z
Apply values to conditioning only during [start_percent, end_percent], keeping the
original conditioning active outside that range. Respects existing per-entry ranges.
zstart_percent (z) must be <= end_percent ()gh㈵>r   start_percentr   end_percentr   )r   r   )loggingwarningr	   maxminr
   extendr   )r   r   r   r   EPSr   r   
cond_startcond_endintersect_startintersect_ends              r   +conditioning_set_values_with_timestep_ranger&      s   
 "/-8RS^R__`ab
C
AqTXXos3
qTXXms3m8k6+HHQK'HH,aSJqt_t2uvw	(!.x.x/.xyz#HH,aSMDWhp2qrs! " Hr   c                     S n U " U5      nUb  U[        l        U$ ! [         [        [        4 a&    [        R                  nS[        l        U " U5      n NJf = f! Ub  U[        l        f f = f)NT)OSErrorr   
ValueErrorr   LOAD_TRUNCATED_IMAGES)fnarg
prev_valuexs       r   pillowr/   7   su    J9sG !.8I+H +Z8 44
*.	'sG
 !.8I+ "s!    8AA AA A+c                      [         R                  [         R                  [         R                  [         R                  S.n U [
        R                     $ )N)md5sha1sha256sha512)hashlibr1   r2   r3   r4   r   default_hashing_function)	hashfuncss    r   hasherr8   D   s8    {{....	I T2233r   c                     U S:X  a  [         R                  $ U S:X  a  [         R                  $ U S:X  a  [         R                  $ g )Nfp32fp16bf16)torchfloat32float16bfloat16)strings    r   string_to_torch_dtyperB   M   s=    }}}}~~ r   c                    U R                   S   UR                   S   :  a  USS U R                   S   24   nX4$ U R                   S   UR                   S   :  a/  [        R                  R                  R	                  US5      nSUS'   X4$ )N.)r   r   r   ).rD   )shaper=   nn
functionalpad)destinationsources     r   image_alpha_fixrK   U   s    v||B//2[..r2223  
		2	b!1	1$$((8wr   )r5   r=   r   comfy.cli_argsr   PILr   r   r   r&   r/   r8   rB   rK    r   r   <module>rO      sD        113E   FHWZhk <4r   