+
    ˜°³jBB  ã                  óŒ  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIHtHt ^ R	IHt ]'       d   ^ R
IHt ^ RIHtH t H!t!H"t" ]! ]#4      PI                  4       PJ                  t&]&PJ                  t' ! R R]4      t(Rt)R R lt*]! R4      t+]! R4      t,R R lt-R R lt.]P^                  R R l4       t0]Pb                  R R l4       t2R R lt3 ! R R4      t4R-R R  llt5R.R! R" llt6R# R$ lt7R% R& lt8R' R( lt9 ! R) R*4      t: ! R+ R,]]+,          4      t;R# )/é    )ÚannotationsN)Úis_dataclass)ÚautoÚEnum)ÚPath©Úpformat)ÚAnyÚGenericÚTYPE_CHECKINGÚTypeVar)Úassert_neverÚSelf)ÚCodeTemplate)Ú	Namespace)ÚCallableÚIterableÚIteratorÚSequencec                  ój   € ] tR t^%t]! 4       t]! 4       t]! 4       t]! 4       t]! 4       t	]! 4       t
RtR# )ÚTarget© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú
DEFINITIONÚDECLARATIONÚREGISTRATIONÚANONYMOUS_DEFINITIONÚNAMESPACED_DEFINITIONÚNAMESPACED_DECLARATIONÚ__static_attributes__r   ó    ÚO/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/utils.pyr   r   %   s/   † á“€JÙ“&€Ká“6€Lá›6Ðá ›FÐÙ!›VÔr$   r   z(^|\W){}($|\W)c               ó    € V ^8„  d   QhRRRR/# )é   ÚschemaÚstrÚreturnztuple[str, list[str]]r   )Úformats   "r%   Ú__annotate__r,   8   s   € ÷ $ñ $˜cð $Ð&;ñ $r$   c                óž   € \         P                  ! R V 4      pVf   \        RV  24      hVP                  4       w  r#pW$P	                  R4      3# )z(\w+)(\.\w+)?\((.*)\)zUnsupported function schema: ú, )ÚreÚmatchÚRuntimeErrorÚgroupsÚsplit)r(   ÚmÚnameÚ_Úparamss   &    r%   Úsplit_name_paramsr8   8   sL   € Ü
�ŠÐ)¨6Ó2€AØ‚yÜÐ:¸6¸(ÐCÓDÐDØ—h‘h“j�O€DˆVØ—‘˜dÓ#Ð#Ð#r$   ÚTÚSc               ó$   € V ^8„  d   QhRRRRRR/# )r'   ÚfunczCallable[[T], S | None]ÚxsúIterable[T]r*   úIterator[S]r   )r+   s   "r%   r,   r,   H   s"   € ÷ ñ Ð*ð °ð Àñ r$   c              #  óD   "  € V F  pV ! V4      pVf   K  Vx € K  	  R # 5i©Nr   )r<   r=   ÚxÚrs   &&  r%   ÚmapMayberD   H   s"   é € ÛˆÙ�‹GˆØŒ=ØŒGó ùs   ‚ –
 c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r<   zCallable[[T], Sequence[S]]r=   r>   r*   r?   r   )r+   s   "r%   r,   r,   P   s"   € ÷ ñ Ð.ð °Kð ÀKñ r$   c              #  óD   "  € V F  pV ! V4       R j  x€L
  K  	  R #  L
5irA   r   )r<   r=   rB   s   && r%   Ú	concatMaprG   P   s   é € ÛˆÙ˜“7×Òó Ùùs   ‚ “” c               ó    € V ^8„  d   QhRRRR/# )r'   Úmsg_fnzCallable[[], str]r*   zIterator[None]r   )r+   s   "r%   r,   r,   Y   s   € ÷ 	ñ 	Ð%ð 	¨.ñ 	r$   c              #  ó  "  €  R x € R #   \          dq   pT ! 4       p\        P                  ! TR4      pTP                  '       d   TP                  ^ ,           RT 2MTpT3TP                  R,          ,           Tn        h R p?ii ; i5i)Nz  Ú
ºé   NN)Ú	ExceptionÚtextwrapÚindentÚargs)rI   ÚeÚmsgs   &  r%   ÚcontextrT   X   sn   é € ðÝøÜô á‹hˆÜ�oŠo˜c 4Ó(ˆØ'(§v§v v�—‘˜•�˜2˜c˜UÑ#°3ˆØ�˜!Ÿ&™& �*Õ$ˆŒØûðüs%   ‚B„
 ˆBŠB•A+B Â BÂBc               ó    € V ^8„  d   QhRRRR/# )r'   Útemplate_fnr)   r*   r   r   )r+   s   "r%   r,   r,   f   s   € ÷ /ñ / ð /¨ñ /r$   c                ó.   € \         P                  ! V 4      # rA   )r   Ú	from_file)rV   s   &r%   Ú_read_templaterY   e   s   € ä×!Ò! +Ó.Ð.r$   c               ó    € V ^8„  d   QhRRRR/# )r'   Úsr)   r*   Úintr   )r+   s   "r%   r,   r,   k   s   € ÷ 4ñ 4˜#ð 4 #ñ 4r$   c                óš   € \         P                  ! V P                  R 4      RR7      P                  4       p\        P                  VRR7      # )Úlatin1F)ÚusedforsecurityÚlittle)Ú	byteorder)ÚhashlibÚsha1ÚencodeÚdigestr\   Ú
from_bytes)r[   rc   s   & r%   Ústring_stable_hashrg   k   s7   € Ü�<Š<˜Ÿ™ Ó*¸EÔB×IÑIÓK€DÜ�>‰>˜$¨(ˆ>Ó3Ð3r$   c                  ó¨   € ] tR t^stR R lt]R R l4       tR R ltR R ltR	 R
 lt	R R lt
RR/R R lltRR/R R lltR R ltR R ltRtR# )ÚFileManagerc               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   Úinstall_dirú
str | PathÚtemplate_dirÚdry_runÚboolr*   ÚNoner   )r+   s   "r%   r,   ÚFileManager.__annotate__t   s2   € ÷ 	ñ 	àð	ð !ð	ð ð		ð
 
ñ	r$   c                	óp   € \        V4      V n        \        V4      V n        \        4       V n        W0n        R # rA   )r   rk   rm   ÚsetÚfilesrn   )Úselfrk   rm   rn   s   &&&&r%   Ú__init__ÚFileManager.__init__t   s,   € ô   Ó,ˆÔÜ  Ó.ˆÔÜ #£ˆŒ
ØŽr$   c               ó   € V ^8„  d   QhRR/# )r'   r*   zfrozenset[str]r   )r+   s   "r%   r,   rq   €   s   € ÷ Cñ C˜>ñ Cr$   c                	óp   € \        V P                   Uu0 uF  qP                  4       kK  	  up4      # u upi rA   )Ú	frozensetrt   Úas_posix)ru   Úfiles   & r%   Ú	filenamesÚFileManager.filenames   s'   € ä°d·j²jÓA±j¨dŸ-™-ž/±jÑAÓBÐBùÒAs   ”3c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úfilenamerl   Úcontentsr)   r*   rp   r   )r+   s   "r%   r,   rq   ƒ   s!   € ÷ 
8ñ 
8¨*ð 
8Àð 
8Èñ 
8r$   c                	óØ   € \        V4      pR p VP                  RR7      pW$8w  d3   VP                  P	                  RRR7       VP                  VRR7       R # R #   \         d     LGi ; i)Nzutf-8)ÚencodingT)ÚparentsÚexist_ok)r   Ú	read_textÚOSErrorÚparentÚmkdirÚ
write_text)ru   r€   r�   r|   Úold_contentss   &&&  r%   Ú_write_if_changedÚFileManager._write_if_changedƒ   sm   € Ü�H‹~ˆØ#'ˆð	ØŸ>™>°7˜>Ó;ˆLð Ô#à�K‰K×Ñ d°TÐÔ:Ø�O‰O˜H¨wˆOÖ7ñ $øô ô 	Ùð	ús   �A ÁA)Á(A)c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rV   rl   Úenv_callableú"Callable[[], str | dict[str, Any]]r*   r)   r   )r+   s   "r%   r,   rq   �   s(   € ÷ 3ñ 3àð3ð 9ð3ð 
ñ	3r$   c                	ó6  € \        V4      P                  4       '       d   \        R V 24      hV P                  V,          pV! 4       p\	        V\
        4      '       dÕ   RV9  dŠ   \        R,          p \        \        P                  R,          P                  ;'       g    T4      P                  4       p VP                  \        4      P                  4       p/ VCRRRV RV 2,           /Cp\%        V4      pVP'                  V4      p	\(        P*                  ! RRV	\(        P,                  R	7      # \	        V\.        4      '       d   V# \1        V4       R
#   \        \        3 d    TP                  4       p LÅi ; i  \          d    TP"                  p L¾i ; i)ztemplate_fn must be relative: Úgenerated_commentzgen.pyÚ__main__Ú@zgenerated by z from zô
                (""")\n+             # match triple quotes
                (
                    (\s*@.+\n)*     # match decorators if any
                    \s*(class|def)  # match class/function definition
                )
                z\g<1>\n\n\g<2>)ÚflagsN)r   Úis_absoluteÚAssertionErrorrm   Ú
isinstanceÚdictÚTORCHGEN_ROOTÚsysÚmodulesÚ__file__ÚabsoluteÚKeyErrorÚAttributeErrorÚrelative_toÚ	REPO_ROOTr{   Ú
ValueErrorr5   rY   Ú
substituter/   ÚsubÚVERBOSEr)   r   )
ru   rV   r�   Útemplate_pathÚenvÚgenerator_defaultÚ	generatorÚgenerator_pathÚtemplateÚsubstitute_outs
   &&&       r%   Úsubstitute_with_templateÚ$FileManager.substitute_with_template�   s~  € ô
 �Ó×(Ñ(×*Ò*Ü Ð#AÀ+ÀÐ!OÓPÐPØ×)Ñ)¨KÕ7ˆÙ‹nˆÜ�cœ4× Ò Ø"¨#Ô-Ü$1°HÕ$<Ð!ð=Ü $ÜŸ™ JÕ/×8Ñ8×MÐMÐ<Mó!ç‘h“jð ð4Ø%.×%:Ñ%:¼9Ó%E×%NÑ%NÓ%P�NðØðà'Ø ¨nÐ-=¸VÀKÀ=ÐQÕQñ�ô & mÓ4ˆHØ%×0Ñ0°Ó5ˆNô —6’6ðð "ØÜ—j‘jôð ô �cœ3×ÒØˆJÜ�SÖøôG !¤.Ð1ô =Ø 1× :Ñ :Ó <’Ið=ûô
 "ô 4Ø%.§^¡^’Nð4ús*   Á3,E Â E Â6#E> Å!E;Å:E;Å>FÆFc               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   r€   rl   rV   r�   r�   r*   rp   r   )r+   s   "r%   r,   rq   Å   s8   € ÷ Kñ KàðKð  ðKð 9ð	Kð
 
ñKr$   c                	ón  € \        V4      pVP                  4       '       d   \        R V 24      hV P                  V,          pW@P                  9   d   \        RV 24      hV P                  P                  V4       V P                  '       g(   V P                  VVR7      pV P                  WER7       R# R# )úfilename must be relative: zduplicate file write )rV   r�   )r€   r�   N)	r   r–   r—   rk   rt   Úaddrn   r®   rŒ   )ru   r€   rV   r�   r|   r­   s   &&&&  r%   Úwrite_with_templateÚFileManager.write_with_templateÅ   s¨   € ô ˜“>ˆØ×Ñ×!Ò!Ü Ð#>¸x¸jÐ!IÓJÐJØ×Ñ (Õ*ˆØ—:‘:ÔÜ Ð#8¸¸Ð!?Ó@Ð@Ø�
‰
�‰�tÔØ�|�|ˆ|Ø!×:Ñ:Ø'Ø)ð ;ó ˆNð ×"Ñ"¨DÐ"ÖJñ r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r€   rl   r�   r�   r*   rp   r   )r+   s   "r%   r,   rq   Ù   s-   € ÷ Cñ CàðCð 9ðCð 
ñ	Cr$   c                	ó*   € V P                  WV4       R # rA   )r´   )ru   r€   r�   s   &&&r%   ÚwriteÚFileManager.writeÙ   s   € ð
 	× Ñ  °\ÖBr$   Úbase_envNc               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r'   r€   rl   Úitemsr>   Úkey_fnúCallable[[T], str]r�   ú#Callable[[T], dict[str, list[str]]]Ú
num_shardsr\   rº   údict[str, Any] | NoneÚsharded_keysúset[str]r*   rp   r   )r+   s   "r%   r,   rq   à   sZ   € ÷ 
ñ 
àð
ð ð
ð
 #ð
ð :ð
ð ð
ð (ð
ð ð
ð 
ñ
r$   c               	ó8   € V P                  VVVVVVVVR 7       R# ))r½   r�   rÀ   rº   rÂ   N)Úwrite_sharded_with_template)ru   r€   r¼   r½   r�   rÀ   rº   rÂ   s   &&&$$$$$r%   Úwrite_shardedÚFileManager.write_shardedà   s/   € ð 	×(Ñ(ØØØØØ%Ø!ØØ%ð 	)ö 		
r$   c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r'   r€   rl   rV   r¼   r>   r½   r¾   r�   r¿   rÀ   r\   rº   rÁ   rÂ   rÃ   r*   rp   r   )r+   s   "r%   r,   rq   ö   so   € ÷ =Xñ =Xàð=Xð  ð=Xð ð	=Xð #ð=Xð :ð=Xð ð=Xð (ð=Xð ð=Xð 
ñ=Xr$   c               	óª  aa€ \        V4      p	V	P                  4       '       d   \        R V 24      hRR/p
\        V4       Uu. uF
  pRRV 2/NK  	  ppV
.V,           pVe   V F  oSP	                  V4       K  	  S F\  pV FS  oVS9   dE   \        SV,          \        4      '       g   \        R4      hSV,          P                  4       SV&   KN  . SV&   KU  	  K^  	  R V3R llpV P                  '       d   R	pV F>  pV! V4      p\        V4      V,          pV! V4      pV! VV,          V4       V! V
V4       K@  	  V F@  oSR,          pV P                  V	P                  V	P                   V 24      VV3R l4       KB  	  V P                  P                  V P                  V	P                  V	P                   R24      ,          4       R# u upi )
r²   Úshard_idÚ
Everythingr6   Nz'sharded keys in base_env must be a listc               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úintozdict[str, list[str]]Úfrom_r*   rp   r   )r+   s   "r%   r,   Ú=FileManager.write_sharded_with_template.<locals>.__annotate__  s$   € ÷ 	ñ 	Ð0ð 	Ð9Mð 	ÐRVñ 	r$   c                óŒ   <€ VP                  4        F.  w  r#VS9  d   \        R V 24      hW;;,          V,          uu&   K0  	  R# )zundeclared sharded key N)r¼   r—   )rÍ   rÎ   ÚkÚvrÂ   s   &&  €r%   Ú	merge_envÚ:FileManager.write_sharded_with_template.<locals>.merge_env  s;   ø€ ØŸ™ž‘�Ø˜LÔ(Ü(Ð+BÀ1À#Ð)FÓGÐGØ—˜1••ó &r$   c                 ó   <€ S # rA   r   )Úshards   €r%   Ú<lambda>Ú9FileManager.write_sharded_with_template.<locals>.<lambda>/  s   ø€ ™r$   r   )r   r–   r—   ÚrangeÚupdater˜   ÚlistÚcopyrn   rg   r´   Ú	with_stemÚstemrt   Údiscardrk   )ru   r€   rV   r¼   r½   r�   rÀ   rº   rÂ   r|   Ú
everythingÚiÚshardsÚ
all_shardsÚkeyrÓ   ÚitemÚsidr¨   rÊ   rÖ   s   &&&&$$$$d           @r%   rÅ   Ú'FileManager.write_sharded_with_templateö   sÂ  ù€ ô �H‹~ˆØ×Ñ×ÒÜ Ð#>¸x¸jÐ!IÓJÐJØ&0°,Ð%?ˆ
ä+0°Ô+<ó(
Ù+< aˆZ˜1˜Q˜C˜Ó!Ñ+<ð 	ð (
ð !�\ FÕ*ˆ
àÒÛ#�Ø—‘˜XÖ&ñ $ó  ˆCÛ#�Ø˜%”<Ü% e¨C¥j´$×7Ò7Ü,Ð-VÓWÐWØ!& s¥§¡Ó!2�E˜#“Jà!#�E˜#“Jó $ñ  ÷	ð 	ð �<�<ˆ<àˆEãˆDÙ˜“,ˆCÜ$ SÓ)¨JÕ6ˆCÙ˜tÓ$ˆCá�f˜S•k 3Ô'Ù�j #Ö&ñ ó  ˆEØ˜ZÕ(ˆHØ×$Ñ$Ø—‘ $§)¡) ¨X¨JÐ7Ó8ØÜöñ  ð 	�
‰
×Ñ˜4×+Ñ+¨d¯n©nÀÇ	Á	¸{È*Ð=UÓ.VÕVÖWùò[(
s   ÁGc               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úvariable_namer)   r€   rl   r*   rp   r   )r+   s   "r%   r,   rq   5  s!   € ÷ 2ñ 2¨3ð 2¸*ð 2Èñ 2r$   c                óŒ   € RP                  RV.R \        V P                  4       4       ORN54      pV P                  W#4       R# )zSWrite a file containing the list of all outputs which are generated by this script.rK   zset(c              3  óJ   "  € T F  pR VP                  4        R2x € K  	  R# 5i)z    "Ú"N)r{   )Ú.0r|   s   & r%   Ú	<genexpr>Ú,FileManager.write_outputs.<locals>.<genexpr><  s"   é € ÐLÑ9K°�E˜$Ÿ-™-›/Ð*¨!Õ,Ó9Kùs   ‚!#Ú)N)ÚjoinÚsortedrt   rŒ   )ru   ré   r€   Úcontents   &&& r%   Úwrite_outputsÚFileManager.write_outputs5  sN   € à—)‘)àØðñ M¼ÀÇ
Á
Ô9KÓLð	ð
 ñó
ˆð 	×Ñ˜xÖ1r$   c               ó   € V ^8„  d   QhRR/# ©r'   r*   r)   r   )r+   s   "r%   r,   rq   B  s   € ÷ Mñ M¨3ñ Mr$   c                ó˜   € \         P                  P                  V P                  \         P                  P	                  \
        4      4      # )zÉ
This needs to be deterministic. The template dir is an absolute path
that varies across builds. So, just use the path relative to this file,
which will point to the codegen source but will be stable.
)ÚosÚpathÚrelpathrm   Údirnamer�   ©ru   s   &r%   Útemplate_dir_for_commentsÚ%FileManager.template_dir_for_commentsB  s,   € ô �w‰w�‰˜t×0Ñ0´"·'±'·/±/Ä(Ó2KÓLÐLr$   )rn   rt   rk   rm   )r   r   r   r   rv   Úpropertyr}   rŒ   r®   r´   r¸   rÆ   rÅ   rô   rþ   r#   r   r$   r%   ri   ri   s   sf   † õ	ð ôCó ðCõ
8õ3õjKõ(Cð
ð +/÷
ð,=Xð +/÷=Xõ~2÷Mñ Mr$   ri   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úoptionsr   rk   zstr | Path | Noner*   ri   r   )r+   s   "r%   r,   r,   L  s&   € ÷ 
ñ 
Øð
à"ð
ð ñ
r$   c                ó²   € \         P                  P                  V P                  R 4      pV'       d   TMV P                  p\        VVV P                  R7      # )Ú	templates)rk   rm   rn   )rù   rú   rñ   Úsource_pathrk   ri   rn   )r  rk   rm   s   && r%   Úmake_file_managerr  L  sG   € ô —7‘7—<‘< × 3Ñ 3°[ÓA€Lß!,‘+°'×2EÑ2E€KÜØØ!Ø—‘ôð r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   Úobjr
   rP   r\   Úwidthr*   r)   r   )r+   s   "r%   r,   r,   Z  s0   € ÷ 'ñ 'Ø	ð'àð'ð ð'ð 	ñ	'r$   c                ó   € \        WV4      # rA   r   )r  rP   r	  s   &&&r%   Údataclass_reprr  Z  s   € ô
 �3 Ó&Ð&r$   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r'   Úattrzdict[Any, Any]rP   r\   r	  Úcurr_indentr*   r)   r   )r+   s   "r%   r,   r,   b  sA   € ÷ Dñ DØ
ðDàðDð ðDð ð	Dð
 	ñDr$   c           
     ó$  € W1^,           ,          p. pV P                  4        F^  w  rV\        V4      p\        V4      '       d   \        WaW#\	        V4      ,           4      M
\        V4      pVP                  V RV 24       K`  	  \        WAW#RR4      # )é   z: Ú{Ú})r¼   Úreprr   r	   ÚlenÚappendÚ_format)	r  rP   r	  r  Ú	dict_reprrÑ   rÒ   Úk_reprÚv_strs	   &&&&     r%   Ú_format_dictr  b  sŠ   € ð ˜A•:Õ€KØ€IØ—
‘
–‰ˆÜ�a“ˆô ˜A�Šô �A˜u´C¸³KÕ&?Ô@ä�a“ð 	ð
 	×Ñ˜F˜8 2 e WÐ-Ö.ñ ô �9 e¸#¸sÓCÐCr$   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r'   r  z&list[Any] | set[Any] | tuple[Any, ...]rP   r\   r	  r  r*   r)   r   )r+   s   "r%   r,   r,   v  sA   € ÷ Fñ FØ
0ðFàðFð ðFð ð	Fð
 	ñFr$   c           	     óê   € W1^,           ,          pV  Uu. uF+  p\        V4      '       d   \        WAW#4      M
\        V4      NK-  	  pp\        V \        4      '       d   RMRw  rg\        WQW#Wg4      # u upi )rM   )Ú[Ú])Ú(rð   )r   r	   r  r˜   rÛ   r  )r  rP   r	  r  ÚlÚ	list_reprÚstartÚends   &&&&    r%   Ú_format_listr$  v  su   € ð ˜A•:Õ€Kñ óáˆAô 3?¸q·/²/Œ�˜5Ô.ÄtÈAÃwÒNÙð ð ô  *¨$´×5Ò5‘¸:�J€EÜ�9 e¸%ÓEÐEùòs   ”1A0c               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# )r'   Ú
fields_strz	list[str]rP   r\   r	  r  r"  r)   r#  r*   r   )r+   s   "r%   r,   r,   …  sN   € ÷ -ñ -Øð-àð-ð ð-ð ð	-ð
 ð-ð 
ð-ð 	ñ-r$   c                ó¢   € R R rv\        \        V 4      4      V8¼  d   RpRV,          pRV,          pRV V 2P                  V 4      p	V V V	 V 2# )Ú rK   Ú r.   )r  r  rñ   )
r&  rP   r	  r  r"  r#  Ú	delimiterÚcurr_indent_strÚ
indent_strÚbodys
   &&&&&&    r%   r  r  …  sh   € ð "$ Rˆä
Œ4�
ÓÓ Ô%Øˆ	Ø Õ+ˆà�v•€JØ�	ˆ{˜?Ð+Ð,×1Ñ1°*Ó=€DØˆW�Z�L   s eÐ,Ð,r$   c                  ó–   € ] tR tRtRtRR R llt]RR R ll4       t]R R l4       t	]R	 R
 l4       t
]R R l4       tRR R lltRtR# )ÚNamespaceHelperi˜  zæA helper for constructing the namespace open and close strings for a nested set of namespaces.

e.g. for namespace_str torch::lazy,

prologue:
namespace torch {
namespace lazy {

epilogue:
} // namespace lazy
} // namespace torch
c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   Únamespace_strr)   Úentity_nameÚ	max_levelr\   r*   rp   r   )r+   s   "r%   r,   ÚNamespaceHelper.__annotate__¦  s2   € ÷ (ñ (àð(ð ð(ð ð	(ð
 
ñ(r$   c                	ó\  € VP                  R 4      p\        V4      V8”  d   \        RV RV R24      hWn        RP	                  V Uu. uF	  pRV R2NK  	  up4      V n        RP	                  \        V4       Uu. uF  pRV 2NK
  	  up4      V n        W@n        W n	        R# u upi u upi )	ú::z"Codegen doesn't support more than z# level(s) of custom namespace. Got Ú.rK   z
namespace z {z} // namespace N)
r3   r  r—   Úcpp_namespace_rñ   Ú	prologue_ÚreversedÚ	epilogue_Únamespaces_Úentity_name_)ru   r1  r2  r3  Úcpp_namespacesÚns   &&&&  r%   rv   ÚNamespaceHelper.__init__¦  s¿   € ð '×,Ñ,¨TÓ2ˆÜˆ~Ó Ô*Ü Ø4°Y°Kð @)Ø)6¨°qð:óð ð ,ÔØŸ™ÁÓ#PÁ¸A j°°°3Ó$7ÁÑ#PÓQˆŒØŸ™Ü-5°nÔ-EÓFÑ-E¨Ð ˜sÓ#Ñ-EÑFó
ˆŒð *ÔØ'Öùò $QùâFs   Á	B$Á<B)c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Únamespaced_entityr)   r3  r\   r*   r/  r   )r+   s   "r%   r,   r4  ¼  s&   € ÷ 
ñ 
Øð
àð
ð 
ñ
r$   c                óx   € V P                  R4      pVR,          pRP                  VRR 4      p\        WCVR7      # )za
Generate helper from nested namespaces as long as class/function name. E.g.: "torch::lazy::add"
r6  N)r1  r2  r3  éÿÿÿÿ)r3   rñ   r/  )rB  r3  Únamesr2  r1  s   &&   r%   Úfrom_namespaced_entityÚ&NamespaceHelper.from_namespaced_entity»  sC   € ð "×'Ñ'¨Ó-ˆØ˜B•iˆØŸ	™	 %¨¨ *Ó-ˆÜØ'ÈIô
ð 	
r$   c               ó   € V ^8„  d   QhRR/# r÷   r   )r+   s   "r%   r,   r4  Ë  ó   € ÷ ñ ˜#ñ r$   c                	ó   € V P                   # rA   )r9  rý   s   &r%   ÚprologueÚNamespaceHelper.prologueÊ  ó   € à�~‰~Ðr$   c               ó   € V ^8„  d   QhRR/# r÷   r   )r+   s   "r%   r,   r4  Ï  rI  r$   c                	ó   € V P                   # rA   )r;  rý   s   &r%   ÚepilogueÚNamespaceHelper.epilogueÎ  rM  r$   c               ó   € V ^8„  d   QhRR/# r÷   r   )r+   s   "r%   r,   r4  Ó  s   € ÷ !ñ !˜Sñ !r$   c                	ó   € V P                   # rA   )r=  rý   s   &r%   r2  ÚNamespaceHelper.entity_nameÒ  s   € à× Ñ Ð r$   c               ó    € V ^8„  d   QhRRRR/# )r'   Údefaultr)   r*   r   )r+   s   "r%   r,   r4  ×  s   € ÷ Gñ G¨ð G°cñ Gr$   c                óB   € V P                   '       d   V P                   # T# )z‹
Return the namespace string from joining all the namespaces by "::" (hence no leading "::").
Return default if namespace string is empty.
)r8  )ru   rV  s   &&r%   Úget_cpp_namespaceÚ!NamespaceHelper.get_cpp_namespace×  s    € ð
 '+×&9×&9Ð&9ˆt×"Ñ"ÐF¸wÐFr$   )r8  r=  r;  r<  r9  N)r(  r'   )r'   )r(  )r   r   r   r   Ú__doc__rv   ÚstaticmethodrF  r   rK  rP  r2  rX  r#   r   r$   r%   r/  r/  ˜  sh   † ñ÷(ð* ö
ó ð
ð ôó ðð ôó ðð ô!ó ð!÷Gó Gr$   r/  c                  ó¨   € ] tR tRt$ R]R&   RR R lltR R ltR	 R
 ltR R ltR R lt	R R lt
]R R l4       tR R ltR R ltR R ltRtR# )Ú
OrderedSetiß  zdict[T, None]ÚstorageNc               ó    € V ^8„  d   QhRRRR/# )r'   ÚiterablezIterable[T] | Noner*   rp   r   )r+   s   "r%   r,   ÚOrderedSet.__annotate__â  s   € ÷ 3ñ 3Ð!3ð 3¸tñ 3r$   c                	óT   € Vf
   / V n         R # \        P                  V4      V n         R # rA   )r^  r™   Úfromkeys)ru   r`  s   &&r%   rv   ÚOrderedSet.__init__â  s   € ØÒØˆDŽLäŸ=™=¨Ó2ˆDŽLr$   c               ó    € V ^8„  d   QhRRRR/# )r'   rå   r9   r*   ro   r   )r+   s   "r%   r,   ra  è  s   € ÷ $ñ $ ð $ tñ $r$   c                	ó   € WP                   9   # rA   ©r^  ©ru   rå   s   &&r%   Ú__contains__ÚOrderedSet.__contains__è  s   € Ø—|‘|Ñ#Ð#r$   c               ó   € V ^8„  d   QhRR/# )r'   r*   zIterator[T]r   )r+   s   "r%   r,   ra  ë  s   € ÷ )ñ )˜+ñ )r$   c                	óH   € \        V P                  P                  4       4      # rA   )Úiterr^  Úkeysrý   s   &r%   Ú__iter__ÚOrderedSet.__iter__ë  s   € Ü�D—L‘L×%Ñ%Ó'Ó(Ð(r$   c               ó    € V ^8„  d   QhRRRR/# )r'   r¼   úOrderedSet[T]r*   rp   r   )r+   s   "r%   r,   ra  î  s   € ÷ +ñ +˜Mð +¨dñ +r$   c                	óP   € V P                   P                  VP                   4       R # rA   )r^  rÚ   )ru   r¼   s   &&r%   rÚ   ÚOrderedSet.updateî  s   € Ø�‰×Ñ˜EŸM™MÖ*r$   c               ó    € V ^8„  d   QhRRRR/# )r'   rå   r9   r*   rp   r   )r+   s   "r%   r,   ra  ñ  s   € ÷ "ñ "˜ð "˜dñ "r$   c                	ó$   € R V P                   V&   R # rA   rg  rh  s   &&r%   r³   ÚOrderedSet.addñ  s   € Ø!ˆ�‰�TÓr$   c               ó   € V ^8„  d   QhRR/# )r'   r*   rr  r   )r+   s   "r%   r,   ra  ô  s   € ÷ ñ �mñ r$   c                	óX   € \        4       pV P                  P                  4       Vn        V# rA   )r]  r^  rÜ   )ru   Úrets   & r%   rÜ   ÚOrderedSet.copyô  s"   € Ü'›\ˆØ—l‘l×'Ñ'Ó)ˆŒØˆ
r$   c               ó    € V ^8„  d   QhRRRR/# )r'   rQ   rr  r*   r   )r+   s   "r%   r,   ra  ú  s   € ÷ ñ �]ð  }ñ r$   c                 	óv   € V ^ ,          P                  4       pV R,           F  pVP                  V4       K  	  V# )r   rL   )rÜ   rÚ   )rQ   rz  r[   s   *  r%   ÚunionÚOrderedSet.unionù  s1   € à�1�g�l‰l‹nˆØ�b—�ˆAØ�J‰J�qŽMñ àˆ
r$   c               ó    € V ^8„  d   QhRRRR/# )r'   Úotherrr  r*   r   )r+   s   "r%   r,   ra     s   € ÷ -ñ -˜Mð -¨mñ -r$   c                	ó,   € \         P                  W4      # rA   )r]  r~  ©ru   r�  s   &&r%   Ú__or__ÚOrderedSet.__or__   s   € Ü×Ñ Ó,Ð,r$   c               ó    € V ^8„  d   QhRRRR/# )r'   r�  rr  r*   r   r   )r+   s   "r%   r,   ra    s   € ÷ ñ ˜]ð ¨tñ r$   c                	ó(   € V P                  V4       V # rA   )rÚ   rƒ  s   &&r%   Ú__ior__ÚOrderedSet.__ior__  s   € Ø�‰�EÔØˆr$   c               ó    € V ^8„  d   QhRRRR/# )r'   r�  Úobjectr*   ro   r   )r+   s   "r%   r,   ra    s   € ÷ 5ñ 5˜Fð 5 tñ 5r$   c                	ó¬   € \        V\        4      '       d   V P                  VP                  8H  # \        V P                  P	                  4       4      V8H  # rA   )r˜   r]  r^  rs   rn  rƒ  s   &&r%   Ú__eq__ÚOrderedSet.__eq__  s?   € Ü�eœZ×(Ò(Ø—<‘< 5§=¡=Ñ0Ð0ä�t—|‘|×(Ñ(Ó*Ó+¨uÑ4Ð4r$   rg  rA   )r   r   r   r   Ú__annotations__rv   ri  ro  rÚ   r³   rÜ   r[  r~  r„  rˆ  r�  r#   r   r$   r%   r]  r]  ß  sN   ‡ ØÓ÷3õ$õ)õ+õ"õð
 ôó ðõ-õ÷5ñ 5r$   r]  rA   )r   éP   )<Ú
__future__r   Ú
contextlibÚ	functoolsrb   rù   r/   r›   rO   Údataclassesr   Úenumr   r   Úpathlibr   Úpprintr	   Útypingr
   r   r   r   Útyping_extensionsr   r   Útorchgen.code_templater   Úargparser   Úcollections.abcr   r   r   r   r�   rž   rˆ   rš   r¢   r   ÚIDENT_REGEXr8   r9   r:   rD   rG   ÚcontextmanagerrT   ÚcacherY   rg   ri   r  r  r  r$  r  r/  r]  r   r$   r%   Ú<module>r      s  ðÝ "ã Û Û Û 	Û 	Û 
Û Ý $ß Ý Ý ß 7Ó 7ß 0å /÷ Ý"ßFÓFñ �X“×'Ñ'Ó)×0Ñ0€Ø× Ñ €	ô
$ˆTô 
$ð  €õ$ñ ˆCƒL€ÙˆCƒL€õõð ×Ñô	ó ð	ð ‡�ô/ó ð/õ
4÷UMñ UM÷r
÷'õDõ(Fõ-÷&DGñ DGôN,5�˜•ö ,5r$   