+
    &j                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ]'       d	   ^ RIHtH	t	  ! R R4      t
]R8X  d.   ]
! R4      t]! ]P                  R	^.R
^.^^RR.. R7      4       R# R# )    )annotationsN)TYPE_CHECKING)MappingSequencec                      ] tR t^t$ Rt]P                  ! ]]P                  4      tR]	R&   R]	R&   ]
R R l4       tRR R lltRR
 R lltRtR	# )CodeTemplatez-(^[^\n\S]*)?\$([^\d\W]\w*|\{,?[^\d\W]\w*\,?})strpatternfilenamec                    V ^8  d   QhRRRR/# )   r   r	   returnr    )formats   "n/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torchgen/code_template.py__annotate__CodeTemplate.__annotate__   s     4 4C 4L 4    c                	    \        V 4      ;_uu_ 4       p\        VP                  4       V 4      uuR R R 4       #   + '       g   i     R # ; iN)openr   read)r   fs   & r   	from_fileCodeTemplate.from_file   s)    (^^q(3 ^^^s	   9A
	c               $    V ^8  d   QhRRRRRR/# )r   r
   r	   r   r   Noner   )r   s   "r   r   r   #   s!     ! ! !s !D !r   c                	    Wn         W n        R # r   )r
   r   )selfr
   r   s   &&&r   __init__CodeTemplate.__init__#   s     r   Nc               $    V ^8  d   QhRRRRRR/# )r   envzMapping[str, object] | Nonekwargsobjectr   r	   r   )r   s   "r   r   r   '   s$     -< -<.-<AG-<	-<r   c                	   aaaa Sf   / oR VV3R lloR R loR VV3R llpV P                   P                  W0P                  4      # )Nc                    V ^8  d   QhRRRR/# )r   vr	   r   r%   r   )r   s   "r   r   -CodeTemplate.substitute.<locals>.__annotate__-   s     	8 	8c 	8f 	8r   c                T   < Sf   \        R4      hV S9   d
   SV ,          # SV ,          # )Nzenv must be non-None)AssertionError)r(   r#   r$   s   &r   lookup'CodeTemplate.substitute.<locals>.lookup-   s-    {$%;<< !V6!97Q7r   c               $    V ^8  d   QhRRRRRR/# )r   indentr	   r(   zSequence[object]r   r   )r   s   "r   r   r)   2   s'     	M 	M 	M)9 	Mc 	Mr   c                $   R P                  \        P                  P                  R V 4       4      4      p\        P
                  ! W R7      pR P                  \        \        P                  VP                  4       4      4      P                  4       # )
c              3  T   "   T F  p\        V4      P                  4       x  K   	  R # 5ir   )r	   
splitlines).0es   & r   	<genexpr>@CodeTemplate.substitute.<locals>.indent_lines.<locals>.<genexpr>4   s      -M1ac!f.?.?.A.A1s   &()prefix)
join	itertoolschainfrom_iterabletextwrapr/   mapr	   rstripr3   )r/   r(   contents   && r   indent_lines-CodeTemplate.substitute.<locals>.indent_lines2   sd    ii---M1-MMG oog=G99SW-?-?-ABCJJLLr   c                    V ^8  d   QhRRRR/# )r   matchzre.Match[str]r   r	   r   )r   s   "r   r   r)   :   s     	 	= 	S 	r   c                  < V P                  ^4      pV P                  ^4      pRpRpV^ ,          R8X  d4   V^R pV^ ,          R8X  d   RpVR,          pVR,          R8X  d   RpVRR pS	! V4      pVe"   \        V\        4      '       g   V.pS! W4      # \        V\        4      '       dL   RP                  V Uu. uF  p\	        V4      NK  	  up4      p\        V4      ^ 8X  d   V# W7,           V,           # \	        V4      # u upi )    {,z, :rF   NNN)group
isinstancelistr9   r	   len)
rD   r/   keycomma_beforecomma_afterr(   xmiddlerA   r,   s
   &       r   replace(CodeTemplate.substitute.<locals>.replace:   s    [[^F++a.CLK1v}!Biq6S=#'Lb'Cr7c>"&Kcr(CsA!!!T**A#F..At$$A#6AqCFA#67q6Q;!M#,{::1v $7s   ;D)substitutionsubr
   )r   r#   r$   rT   rA   r,   s   &fl @@r   
substituteCodeTemplate.substitute'   sF     ;C	8 	8
	M	 	4   $$Wll;;r   )r   r
   )rG   r   )__name__
__module____qualname____firstlineno__substitution_strrecompile	MULTILINErV   __annotations__staticmethodr   r    rX   __static_attributes__r   r   r   r   r      sH    G::.=LLM4 4!-< -<r   r   __main__z    int foo($args) {

        $bar
            $bar
        $a+$b
    }
    int commatest(int a${,stuff})
    int notest(int a${,empty,})
    hiwhatz	things...others)argsbarabstuffempty)
__future__r   r:   r_   r=   typingr   collections.abcr   r   r   rZ   cprintrX   r   r   r   <module>rt      s    "  	    1=< =<@ z			A 
	) 	 	
	 r   