Ë
    M²j Š  ã                   ó6  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlZd dlZd dlZd dlmc mZ d dlmZ d dlmZ d dlmZmZ d dlmZ  ej6                  e«      Z	 d dlZd	ej>                  d
e fd„Z!d„ Z"e G d„ d«      «       Z#deddd
efd„Z$ G d„ dej                  jJ                  «      Z& G d„ d«      Z' G d„ d«      Z(dZ)g d¢Z*d dl,m-Z. d
e/fd„Z0d
e1fd„Z2d„ Z3 G d „ d!e«      Z4 G d"„ d#e«      Z5 e3«        d$„ Z6y# e+$ r	 dZ)g d¢Z*Y ŒCw xY w)%é    N)ÚCallable)Ú	dataclass)ÚAny)ÚTorchDynamoException)Údynamo_timed)ÚArgumentÚTarget)Úsympy_interpÚeÚreturnc                 ó  ‡
‡— t        j                  | «      st        d| › �«      ‚dt         j                  dt        t
           fd„}t        j                  | «      } t        j                  | «      st        d| › �«      ‚t        j                  | «      st        j                  | «      r| j                  «       S | j                  «       }|j                  «       Št        |«      } || «      }‰t         j                  k(  rd}�nÚ‰t         j                  t         j                   fv rˆ
ˆfd„Š
 ‰
| «      }�n¨‰t         j"                  k(  rÂ| j%                  «       dk7  rt        d	| j%                  «       › �«      ‚| j'                  d
«      }t        j                  |«      st        d«      ‚|j                  «       j                  «       }t         j(                  dt         j*                  dt         j,                  di}||v rá||   } ||«      }nÓ‰t         j.                  t         j0                  fv rd| j%                  «       dk7  rt        d	| j%                  «       › �«      ‚t3        | j'                  d
«      «      }|j5                  d«      rd|dd  z   S |S ‰t         j6                  k(  r:| j%                  «       d
k7  rt        d| j%                  «       › �«      ‚t        |«      S |dz   dj9                  |«      z   }	d|	j;                  «       › d�S )Nzunsupported expression type: r   r   c                 óŠ   — t        | j                  «       «      D �cg c]  }t        | j                  |«      «      ‘Œ c}S c c}w ©N)ÚrangeÚnum_argsÚz3strÚarg)r   Úis     ú^/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/fx/experimental/validator.pyÚget_args_strzz3str.<locals>.get_args_strA   s-   € Ü-2°1·:±:³<Ó-@ÖA¨”E˜!Ÿ%™% ›(•OÒAÐAùÒAs   œ!A zcan't print Z3 expression: Úpowc           	      ó  •— t        j                  | «      r!| j                  «       j                  «       ‰k(  st	        | «      gS t        | j                  «       «      D ��cg c]   } ‰| j                  |«      «      D ]  }|‘Œ Œ" c}}S c c}}w r   )Úz3Úis_appÚdeclÚkindr   r   r   r   )r   r   ÚxÚcollect_str_argsr   s      €€r   r   zz3str.<locals>.collect_str_args\   s|   ø€ ÜŸ	™	 !œ¨¯©«¯©«¸DÒ)@Ü! !›H˜:Ð%ô "' q§z¡z£|Ó!4÷àÙ!1°!·%±%¸³(Ó!;òð ò ðØóð ùó s   Á %B	é   zExpected 1 arg, got r   zExpected z3 appz!=ú>ú<z(/z(idivé   zExpected 0 args, got ú ú(ú))r   Úis_exprÚAssertionErrorÚExprRefÚlistÚstrÚsimplifyr   Ú
ValueErrorÚis_int_valueÚis_rational_valueÚ	as_stringr   r   ÚZ3_OP_POWERÚ	Z3_OP_ADDÚ	Z3_OP_MULÚ	Z3_OP_NOTr   r   ÚZ3_OP_EQÚZ3_OP_LEÚZ3_OP_GEÚZ3_OP_TO_INTÚZ3_OP_TO_REALr   Ú
startswithÚZ3_OP_UNINTERPRETEDÚjoinÚrstrip)r   r   r   ÚopÚargsr   ÚargkindÚlogic_inverseÚargstrÚstringr   r   s             @@r   r   r   =   s�  ù€ Ü�z‰z˜!Œ}Ü Ð#@ÀÀÐ!DÓEÐEð	BœBŸJ™Jð 	B¬4´©9ó 	Bô
 �K‰K˜‹Nˆô �y‰y˜Œ|ÜÐ:¸1¸#Ð>Ó?Ð?ä�?‰?˜1Ô¤×!5Ñ!5°aÔ!8Ø—;‘;“=Ð à�v‰v‹xˆØ�y‰y‹{ˆÜ�‹YˆÙ˜A‹ˆà”2—>‘>Ò!ØŠBà”b—l‘l¤B§L¡LÐ1Ñ1õñ $ AÓ&ŠDà”R—\‘\Ò!ð �z‰z‹|˜qÒ Ü$Ð';¸A¿J¹J»L¸>Ð%JÓKÐKØ—%‘%˜“(ˆCä—9‘9˜S”>Ü$Ð%6Ó7Ð7Ø—h‘h“j—o‘oÓ'ˆGô —‘˜TÜ—‘˜SÜ—‘˜SðˆMð ˜-Ñ'Ø" 7Ñ+�Ù# CÓ(‘à”b—o‘o¤r×'7Ñ'7Ð8Ñ8Ø�z‰z‹|˜qÒ Ü$Ð';¸A¿J¹J»L¸>Ð%JÓKÐKÜ˜1Ÿ5™5 ›8“_ˆFð × Ñ  Ô&Ø ¨¨ Ñ+Ð+ð ˆMà”R×+Ñ+Ò+Ø�z‰z‹|˜qÒ Ü$Ð'<¸Q¿Z¹Z»\¸NÐ%KÓLÐLÜ�t“9Ðà�c‘˜CŸH™H T›NÑ*ˆØ�6—=‘=“?Ð# 1Ð%Ð%ó    c                 óF   ‡ ‡— t        j                  ‰ «      ˆ ˆfd„«       }|S )Nc                 óŠ   •— ‰�t        d„ |D «       «      r ‰|Ž S t        d„ |D «       «      }t        j                   ‰|Ž «      S )Nc              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wr   )Ú
isinstancer   ÚBoolRef)Ú.0r   s     r   ú	<genexpr>z/_bitwise_op.<locals>.wrapper.<locals>.<genexpr>š   s    è ø€ ò -Ø03”
˜3¤§
¡
×+ñ-ùs   ‚$&c              3   óH   K  — | ]  }t        j                  |d «      –— Œ y­w)é@   N)r   ÚInt2BV)rI   Úas     r   rJ   z/_bitwise_op.<locals>.wrapper.<locals>.<genexpr>Ÿ   s   è ø€ Ò @°a¤§¡¨1¨b×!1Ñ @ùs   ‚ ")ÚallÚtupler   ÚBV2Int)Úselfr>   Úwrapped_argsÚbitwise_funcÚ	bool_funcs      €€r   Úwrapperz_bitwise_op.<locals>.wrapper˜   sN   ø€ àÐ$¬ñ -Ø7;ô-ô *ñ ! $Ð'Ð'ä Ñ @¸4Ô @Ó@ˆLÜ—9‘9™\¨<Ð8Ó9Ð9rC   )Ú	functoolsÚwraps)rT   rU   rV   s   `` r   Ú_bitwise_oprY   —   s%   ù€ Ü	�‰˜Ó	&ô	:ó 
'ð	:ð ˆrC   c                   óÄ  — e Zd ZU ded<   edej                  dej                  fd„«       Zedej                  dej                  fd„«       Zdej                  dej                  fd„Z	d	ej                  d
ej                  dej                  fd„Z
dej                  dej                  fd„Zd	ej                  d
ej                  dej                  fd„Zdej                  dej                  fd„Zdej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  fd„Zdej                  dej                  fd„Zdej                  dej                  fd„Z eej0                  ej2                  «      Z eej6                  ej8                  «      Z eej<                  d«      Z eej>                  d«      Zy)Ú_Z3OpsÚTranslationValidatorÚ	validatorr   r   c                 óP   — | j                  «       r| S t        j                  | «      S r   )Úis_realr   ÚToReal©r   s    r   Úto_realz_Z3Ops.to_real³   s   € àŸ	™	œ�1Ð5¬¯©°1«Ð5rC   c                 óP   — | j                  «       r| S t        j                  | «      S r   )Úis_intr   ÚToIntra   s    r   Úto_intz_Z3Ops.to_int¸   s   € àŸ™œ
�1Ð3¬¯©°«Ð3rC   r>   c                 ó   — t        |«      S r   )Úsum)rR   r>   s     r   Úsym_sumz_Z3Ops.sym_sum¼   s   € Ü�t“9ÐrC   Ú	numeratorÚdenominatorc                 ó”   — | j                   j                  |dk7  «       t        j                  |«      t        j                  |«      z  S ©Nr   )r]   Úadd_assertionr[   rb   ©rR   rj   rk   s      r   Údivz
_Z3Ops.divÀ   s6   € Ø�N‰N×(Ñ(¨¸Ñ)9Ô:Ü—>‘> )Ó,¬v¯~©~¸kÓ/JÑJÐJrC   Únumberc                 ó,   — t         j                  |«      S r   )r[   rf   ©rR   rq   s     r   Úfloorz_Z3Ops.floorÄ   s   € ä—=‘= Ó(Ð(rC   c                 óÂ   — |j                  «       xs |j                  «       }t        j                  | j                  ||«      «      }|rt        j	                  |«      S |S r   )r_   r[   rf   rp   rb   )rR   rj   rk   Úcast_result_to_realÚresults        r   Úfloordivz_Z3Ops.floordivÊ   sS   € ð #,×"3Ñ"3Ó"5Ò"N¸×9LÑ9LÓ9NÐÜ—]‘] 4§8¡8¨I°{Ó#CÓDˆFñ .A”6—>‘> &Ó)ÐLÀfÐLrC   c                 óx   — t        j                  | j                  |«      |k  | j                  |dz   «      |«      S ©Nr   )r   ÚIfrt   rs   s     r   Úceilz_Z3Ops.ceilÓ   s0   € Ü—5‘5˜Ÿ™ FÓ+¨fÑ4°d·j±jÀÈ!ÁÓ6LÈfÓUÐUrC   c                 ór   — t        j                  |dk\  | j                  |«      | j                  |«      «      S rm   )r   r{   rt   r|   rs   s     r   Útruncz_Z3Ops.truncÖ   s+   € Ü—5‘5˜ 1™ d§j¡j°Ó&8¸$¿)¹)ÀFÓ:KÓLÐLrC   rN   Úbc                 ó6   — t        j                  ||kD  ||«      S r   ©r   r{   ©rR   rN   r   s      r   Úmaxz
_Z3Ops.maxÙ   ó   € Ü—5‘5˜˜Q™  1Ó%Ð%rC   c                 ó6   — t        j                  ||k  ||«      S r   r�   r‚   s      r   Úminz
_Z3Ops.minÜ   r„   rC   ÚpÚqc                 ó2   — || j                  ||«      |z  z
  S r   )rx   ©rR   r‡   rˆ   s      r   Úmodz
_Z3Ops.modá   s   € Ø�t—}‘} Q¨Ó*¨QÑ.Ñ.Ð.rC   ÚbaseÚexpc                 óv   — | j                   j                  t        j                  |dk7  |dkD  «      «       ||z  S rm   )r]   rn   r   ÚOr©rR   rŒ   r�   s      r   r   z
_Z3Ops.powä   s1   € à�N‰N×(Ñ(¬¯©¨t°q©y¸#À¹'Ó)BÔCØ˜‘9ÐrC   c                 ór   — t         j                  |«      }| j                  j                  |dk\  «       |dz  S )Nr   ç      à?)r[   rb   r]   rn   rs   s     r   Úsqrtz_Z3Ops.sqrté   s4   € ô —^‘^ FÓ+ˆFð �N‰N×(Ñ(¨°1©Ô5Ø˜3‘;ÐrC   c                 ó,   — t        j                  |«      S r   )r   ÚAbsrs   s     r   Úabsz
_Z3Ops.absò   s   € Ü—6‘6˜&“>Ð!rC   c                 óÄ   — t        j                  | j                  |t        j                  d«      «      dk(  | j	                  |dz
  «      | j                  |dz   «      «      S )Nr"   r’   )r   r{   r‹   ÚIntValr|   rt   rs   s     r   Úround_to_intz_Z3Ops.round_to_intõ   sP   € ô —5‘5Ø—‘˜¤§¡¨1£Ó.°#Ñ5Ø—	‘	˜& 3™,Ó'Ø—
‘
˜6 C™<Ó(óð rC   N) Ú__name__Ú
__module__Ú__qualname__Ú__annotations__Ústaticmethodr   ÚArithRefrb   rf   ri   rp   rt   rx   r|   r~   rƒ   r†   r‹   r   r“   r–   r™   rY   ÚoperatorÚand_ÚAndÚbitwise_andÚor_r�   Ú
bitwise_orÚlshiftÚrshift© rC   r   r[   r[   ©   sZ  … ð *Ó)ð 
ð	6�r—{‘{ð 	6 r§{¡{ò 	6ó 
ð	6ð 
ð	4�b—k‘kð 	4 b§k¡kò 	4ó 
ð	4ð	 §¡ð 	°·±ó 	ð	K §¡ð 	K¸2¿;¹;ð 	KÈ2Ï;É;ó 	Kð	) §¡ð 	)°·±ó 	)ð	MØŸ[™[ð	MØ79·{±{ð	Mà�[‰[ó	Mð	V˜rŸ{™{ð 	V¨r¯{©{ó 	Vð	M §¡ð 	M°·±ó 	Mð	&˜Ÿ™ð 	&¨¯©ð 	&¸¿¹ó 	&ð	&˜Ÿ™ð 	&¨¯©ð 	&¸¿¹ó 	&ð
	/˜Ÿ™ð 	/¨¯©ð 	/¸¿¹ó 	/ð	˜BŸK™Kð 	¨b¯k©kð 	¸b¿k¹kó 	ð
	˜rŸ{™{ð 	¨r¯{©{ó 	ð	"˜bŸk™kð 	"¨b¯k©kó 	"ð	 r§{¡{ð 	°r·{±{ó 	ñ " (§-¡-°·±Ó8ˆÙ  §¡¨r¯u©uÓ5ˆ
Ù˜XŸ_™_¨dÓ3ˆÙ˜XŸ_™_¨dÓ3‰rC   r[   r=   r]   r\   c                 óŒ  ‡— t         j                  h}| |v Šˆfd„}t        |«      }i t         j                   |t        j                  «      “t         j
                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j                   ||j                  «      “t         j"                   ||j$                  «      “t&        j(                   ||j(                  «      “t&        j*                   ||j*                  «      “t&        j,                   ||j,                  «      “t.        j0                   ||j2                  «      “t.        j4                   ||j6                  «      “t.        j8                   ||j:                  «      “t.        j<                   ||j<                  «      “t.        j>                   |d„ «      t.        j@                   ||jB                  «      t.        jD                  t.        jD                  i¥}| |v r||    S  || «      S )Nc                 ót   •‡ ‡— dt         j                  fˆfd„Št        j                  ‰ «      ˆ ˆfd„«       }|S )Nr   c                 ó  •— t        | t        j                  t        j                  f«      r| S t        | t        «      s‰r.t        | t
        «      rt        j                  t	        | «      «      S t        | t
        t        j                  f«      rt        j                  t        | «      «      S t        | t        t        j                  f«      rt        j                  t        | «      «      S t        dt        | «      › �«      ‚)Nzcan't lift type: )rG   r   rŸ   rH   ÚboolÚintÚBoolValÚsympyÚIntegerr˜   ÚfloatÚFloatÚRealValr,   Útype)rN   Úas_bools    €r   Úwrapz z3op.<locals>.lift.<locals>.wrap  s¬   ø€ Ü˜a¤"§+¡+¬r¯z©zÐ!:Ô;Ø�Hô ˜a¤Ô&©7´zÀ!ÄSÔ7IÜŸ:™:¤d¨1£gÓ.Ð.Ü˜a¤#¤u§}¡}Ð!5Ô6ÜŸ9™9¤S¨£VÓ,Ð,Ü˜a¤%¬¯©Ð!5Ô6ÜŸ:™:¤e¨A£hÓ/Ð/Ü Ð#4´T¸!³W°IÐ!>Ó?Ð?rC   c                  ó¶   •— t        | «      dk(  r2t        | d   t        t        f«      rt        ˆfd„| d   D «       «      f}nt        ˆfd„| D «       «      } ‰|Ž S )Nr   r   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   r¨   ©rI   rN   r¶   s     €r   rJ   z6z3op.<locals>.lift.<locals>.wrapper.<locals>.<genexpr>,  s   øè ø€ Ò)C°a©$¨q¯'Ñ)Cùó   ƒc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   r¨   r¹   s     €r   rJ   z6z3op.<locals>.lift.<locals>.wrapper.<locals>.<genexpr>.  s   øè ø€ Ò(?°Q©¨a¯Ñ(?ùrº   )ÚlenrG   r)   rP   )r>   rS   Úfuncr¶   s     €€r   rV   z#z3op.<locals>.lift.<locals>.wrapper(  sS   ø€ ô �t“9 ’>¤j°°a±¼4Ä¸-Ô&HÜ$)Ó)C¸4À¹7Ô)CÓ$CÐ#E‘Lä#(Ó(?¸$Ô(?Ó#?�Lá˜\Ð*Ð*rC   )r   r(   rW   rX   )r½   rV   r¶   rµ   s   ` @€r   Úliftzz3op.<locals>.lift  s9   ú€ ð@œ2Ÿ:™:õ @ô �_‰_˜TÓ"ô+ó #ð+ð ˆNrC   c                 ó0   — t        j                  | ||«      S r   r�   )r   ÚtÚfs      r   ú<lambda>zz3op.<locals>.<lambda>J  s   € ´·±°a¸¸A³€ rC   )#r    Únot_r[   r   ÚNotr¡   r£   r¤   r¥   r¦   r§   rx   Útruedivrp   r‹   r–   ÚbuiltinsÚroundr™   Úmathr|   rt   r~   ÚtorchÚ	sym_floatrb   Úsym_maxrƒ   Úsym_minr†   ri   Úsym_iteÚ	_sym_sqrtr“   Ú_assert)r=   r]   Úboolean_opsr¾   ÚopsÚreplacement_maprµ   s         @r   Úz3oprÓ     s)  ø€ ô
  —}‘}�oˆØ˜Ð#ˆô	ô4 �YÓˆð
ä�M‰M™4¤§¡›<ð
ô �M‰M™4 §¡Ó0ð
ô �L‰L™$˜sŸ~™~Ó.ð	
ô
 �O‰O™T #§*¡*Ó-ð
ô �O‰O™T #§*¡*Ó-ð
ô ×Ñ™t C§L¡LÓ1ð
ô ×Ñ™d 3§7¡7›mð
ô �L‰L™$˜sŸw™w›-ð
ô �L‰L™$˜sŸw™w›-ð
ô �N‰N™D ×!1Ñ!1Ó2ð
ô �I‰I‘t˜CŸH™H“~ð
ô �J‰J™˜SŸY™Y›ð
ô �J‰J™˜SŸY™Y›ð
ô" �O‰O™T #§+¡+Ó.ð#
ô$ �M‰M™4 §¡›=ð%
ô& �M‰M™4 §¡›=ð'
ô( �M‰M™4 §¡Ó,ð)
ô* �M‰M™4Ñ >Ó?Ü�O‰O™T #§(¡(›^ô �M‰Mœ5Ÿ=™=ñ3
ˆð6 ')¨OÑ&;ˆ˜rÑ"ÐIÁÀbÃÐIrC   c                   ó¬   ‡ — e Zd Zdej                  j
                  ddfˆ fd„Zdedee	df   de
eef   d	efd
„Zdedee	df   de
eef   d	efˆ fd„Zˆ xZS )ÚPopulateValidatorÚgraphr]   r\   c                 óx   •— || _         t        j                  j                  i |¬«      }t        ‰| �  |d¬«       y )N)ÚrootrÖ   T)Úgarbage_collect_values)r]   rÉ   ÚfxÚGraphModuleÚsuperÚ__init__)rR   rÖ   r]   ÚmoduleÚ	__class__s       €r   rÝ   zPopulateValidator.__init__\  s7   ø€ à&ˆDŒNô —X‘X×)Ñ)¨r¸Ð)Ó?ˆFÜ‰GÑ˜V¸DÐÕArC   Útargetr>   .Úkwargsr   c                 óf   — t        j                  «       d   }| j                  j                  |«      S )NÚsymbol)Úfx_tracebackÚget_current_metar]   Úz3var)rR   rà   r>   rá   rã   s        r   ÚplaceholderzPopulateValidator.placeholderd  s,   € ô "×2Ñ2Ó4°XÑ>ˆFØ—>‘>×'Ñ'¨Ó/Ð/rC   c                 óü   •— |t         j                  ur%t        ‰| �  t	        || j
                  «      ||«      S t        |«      dk7  rt        dt        |«      › d�«      ‚| j
                  j                  |d   «       y )Nr   z'expected 1 argument on assertion. Got: r#   r   )	rÉ   rÏ   rÜ   Úcall_functionrÓ   r]   r¼   r'   Úadd_source_expr)rR   rà   r>   rá   rß   s       €r   ré   zPopulateValidator.call_functionj  ss   ø€ ð œUŸ]™]Ñ*ä‘wÑ,¬T°&¸$¿.¹.Ó-IÈ4ÐQWÓXÐXô �4‹y˜AŠ~Ü$Ø=¼cÀ$»i¸[ÈÐJóð ð �N‰N×*Ñ*¨4°©7Õ3rC   )rš   r›   rœ   rÉ   rÚ   ÚGraphrÝ   r	   rP   r   Údictr*   r   rç   ré   Ú__classcell__)rß   s   @r   rÕ   rÕ   [  s•   ø„ ð	B %§(¡(§.¡.ð 	BÐ=Sõ 	Bð	0Ø ð	0Ø(-¨h¸¨mÑ(<ð	0ØFJÈ3ÐPSÈ8Ánð	0àó	0ð	4Ø ð	4Ø(-¨h¸¨mÑ(<ð	4ØFJÈ3ÐPSÈ8Ánð	4à÷	4ñ 	4rC   rÕ   c                   ó¸  — e Zd Zh d£Z	 	 	 	 d d„Zdedej                  dej                  fd„Z
dej                  dej                  dej                  fd	„Zdej                  dej                  dej                  fd
„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdej                  dej                  dej                  fd„Zdedefd„Zdej8                  dej                  fd„Zy)!Ú	SympyToZ3>   ÚeqÚgeÚgtÚleÚltÚneÚaddÚmulr   Nc                 óF   — || _         t        | j                   «      | _        y r   )Ú
_validatorr[   Ú_ops)rR   r]   s     r   rÝ   zSympyToZ3.__init__�  s   € ð (ˆDŒOÜ˜tŸ™Ó/ˆD�IrC   ÚvalueÚdtypec                 ó>  — |t         j                  u rt        j                  t	        |«      «      S |t         j
                  u rt        j                  t        |«      «      S |t         j                  u rt        j                  t        |«      «      S t        d|› �«      ‚)Nzunsupported dtype (SympyToZ3): )rÉ   Úint64r   r˜   r­   Údoubler³   r±   r¬   r®   r,   )rR   rû   rü   s      r   ÚconstantzSympyToZ3.constantˆ  sr   € àœŸ™Ñ#Ü—y‘y¤ U£Ó,Ð,ØœŸ™Ñ$Ü—z‘z¤%¨£,Ó/Ð/ØœŸ
™
Ñ"Ü—z‘z¤$ u£+Ó.Ð.ÜÐ>¸u¸gÐFÓGÐGrC   r   c                 óp   — |t         j                  k(  rt        j                  |«      S t	        d|› d�«      ‚)Nz	to_dtype z NYI)rÉ   Úfloat64r   r`   ÚNotImplementedError©rR   r   rü   s      r   Úto_dtypezSympyToZ3.to_dtype’  s0   € ØœŸ™Ò%Ü—y‘y “|Ð#Ü%¨	°%°¸Ð&=Ó>Ð>rC   c                 ó,   — t        j                  |«      S r   )r   re   r  s      r   Útrunc_to_intzSympyToZ3.trunc_to_int—  s   € Ü—8‘8˜A“;ÐrC   c                 ó8   — | j                   j                  |«      S r   )rú   r™   r  s      r   r™   zSympyToZ3.round_to_intš  s   € Ø—9‘9×)Ñ)¨!Ó,Ð,rC   rj   rk   c                 ó:   — | j                   j                  ||«      S r   ©rú   rp   ro   s      r   Úint_truedivzSympyToZ3.int_truediv�  ó   € ð —9‘9—=‘= ¨KÓ8Ð8rC   c                 ó:   — | j                   j                  ||«      S r   r
  ro   s      r   rÅ   zSympyToZ3.truediv¢  r  rC   c                 ó:   — | j                   j                  ||«      S r   ©rú   rx   ro   s      r   rx   zSympyToZ3.floordiv§  s   € ð —9‘9×%Ñ% i°Ó=Ð=rC   c                 ó:   — | j                   j                  ||«      S r   r  ro   s      r   rp   zSympyToZ3.div¬  s   € Ø—9‘9×%Ñ% i°Ó=Ð=rC   rŒ   r�   c                 ó:   — | j                   j                  ||«      S r   ©rú   r   r�   s      r   r   zSympyToZ3.pow¯  ó   € Ø—9‘9—=‘=  sÓ+Ð+rC   c                 ó:   — | j                   j                  ||«      S r   r  r�   s      r   Úpow_by_naturalzSympyToZ3.pow_by_natural²  r  rC   r‡   rˆ   c                 ó:   — | j                   j                  ||«      S r   ©rú   r‹   rŠ   s      r   r‹   zSympyToZ3.modµ  ó   € Ø—9‘9—=‘=  AÓ&Ð&rC   c                 ó:   — | j                   j                  ||«      S r   r  rŠ   s      r   Ú
python_modzSympyToZ3.python_mod¸  r  rC   c                 ó8   — | j                   j                  |«      S r   )rú   r|   r  s      r   Úceil_to_intzSympyToZ3.ceil_to_int»  s   € Ø—9‘9—>‘> !Ó$Ð$rC   c                 ó8   — | j                   j                  |«      S r   )rú   rt   r  s      r   Úfloor_to_intzSympyToZ3.floor_to_int¾  s   € Ø—9‘9—?‘? 1Ó%Ð%rC   Únamec                 ó  — t         j                  t         j                  t         j                  | j                  j
                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  dœ}||v r||   S || j                  v rt        t        |«      S t!        d|› �«      ‚)N)r¡   r¤   rÃ   r£   r¥   r¦   r§   rt   r|   ÚminimumÚmaximumzunhandled operator: )r   r¢   r�   rÄ   rú   r£   r¥   r¦   r§   rt   r|   r†   rƒ   ÚOPERATOR_HANDLESÚgetattrr    ÚAttributeError)rR   r  ÚREPLACEMENTs      r   Ú__getattr__zSympyToZ3.__getattr__Á  sÁ   € äŸ™Ü—u‘uÜŸ™Ø#Ÿy™y×4Ñ4Ø"Ÿi™i×2Ñ2ØŸ)™)×*Ñ*ØŸ)™)×*Ñ*ØŸ™Ÿ™ØŸ	™	Ÿ™ØŸ9™9Ÿ=™=ØŸ9™9Ÿ=™=ñˆKð �{Ñ"Ø" 4Ñ(Ð(Ø�t×,Ñ,Ñ,Üœx¨Ó.Ð.Ü Ð#7¸°vÐ!>Ó?Ð?rC   Úexprc                 óD   — t        | | j                  j                  |«      S r   )r
   rù   Úsymbols)rR   r(  s     r   ÚrunzSympyToZ3.runÖ  s   € Ü  d§o¡o×&=Ñ&=¸tÓDÐDrC   )r]   r\   r   N)rš   r›   rœ   r#  rÝ   r   rÉ   rü   r   r(   r   rŸ   r  r  r™   r  rÅ   rx   rp   r   r  r‹   r  r  r  r*   r'  r¯   ÚBasicr+  r¨   rC   r   rï   rï   ~  sp  „ ÚMÐð	0à-ð	0ð ó	0ð	H #ð 	H¨e¯k©kð 	H¸b¿j¹jó 	Hð	?˜bŸk™kð 	?°%·+±+ð 	?À"Ç+Á+ó 	?ð
	 "§+¡+ð 	°e·k±kð 	ÀbÇkÁkó 	ð	- "§+¡+ð 	-°e·k±kð 	-ÀbÇkÁkó 	-ð	9ØŸ[™[ð	9Ø79·{±{ð	9à�[‰[ó	9ð
	9ØŸ[™[ð	9Ø79·{±{ð	9à�[‰[ó	9ð
	>ØŸ[™[ð	>Ø79·{±{ð	>à�[‰[ó	>ð
	> §¡ð 	>¸2¿;¹;ð 	>È2Ï;É;ó 	>ð	,˜BŸK™Kð 	,¨b¯k©kð 	,¸b¿k¹kó 	,ð	, r§{¡{ð 	,¸¿¹ð 	,ÈÏÉó 	,ð	'˜Ÿ™ð 	'¨¯©ð 	'¸¿¹ó 	'ð	' §¡ð 	'°·±ð 	'ÀÇÁó 	'ð	% §¡ð 	%°U·[±[ð 	%ÀRÇ[Á[ó 	%ð	& "§+¡+ð 	&°e·k±kð 	&ÀbÇkÁkó 	&ð	@ Cð 	@¨Có 	@ð*	E˜EŸK™Kð 	E¨B¯J©Jô 	ErC   rï   c                   ó^  — e Zd Zdd„Zdej
                  dej                  fd„Zdej
                  de	dej                  fd„Z
dej                  ddfd	„Zdej                  dej                  fd
„Zdej                  ddfd„Zdd„Zdej                  ej                  z  ddfd„Zdd„Zdd„Zy)r\   r   Nc                 ó–   — t         j                  d«       i | _        t        «       | _        t        «       | _        t        «       | _        y )Nznew instance)ÚlogÚdebugr*  ÚsetÚ_source_exprsÚ_target_exprsÚ_assertions©rR   s    r   rÝ   zTranslationValidator.__init__è  s;   € Ü�I‰I�nÔ%ð <>ˆDŒLô
 36³%ˆDÔô
 36³%ˆDÔô 14³ˆDÕrC   rã   c                 óX   — || j                   vrt        d|› �«      ‚| j                   |   S )NzZ3 variable not found for: )r*  r'   )rR   rã   s     r   ræ   zTranslationValidator.z3varý  s0   € Ø˜TŸ\™\Ñ)Ü$Ð'BÀ6À(Ð%KÓLÐLØ—<‘< Ñ'Ð'rC   r´   c                 ó  — || j                   v r| j                   |   S t        j                  d|j                  |j                  «       |t
        u rJt        j                  |j                  «      }|j                  r}| j                  j                  |dkD  «       n^|t        u r t        j                  |j                  «      }n6|t        u r t        j                  |j                  «      }nt        d|› �«      ‚|| j                   |<   |S )Nznew variable: %s (%s)r   z"unsupported type for Z3 variable: )r*  r/  r0  r  rš   r­   r   ÚIntÚis_positiver3  rö   r±   ÚRealr¬   ÚBoolÚRuntimeError)rR   rã   r´   Úvars       r   Úadd_varzTranslationValidator.add_var  sÊ   € Ø˜Ÿ™Ñ%Ø—|‘| FÑ+Ð+ä�I‰IÐ-¨v¯{©{¸D¿M¹MÔJà”s‰{Ü—f‘f˜VŸ[™[Ó)�ð ×%Ò%Ø×&Ñ&×*Ñ*¨3°©7Õ3Øœ‘Ü—g‘g˜fŸk™kÓ*‘Øœ‘Ü—g‘g˜fŸk™kÓ*‘ä"Ð%GÈÀvÐ#NÓOÐOà#&ˆD�L‰L˜Ñ ØˆJrC   r   c                 óª   — |j                   D ]D  }t        |t        j                  «      st	        dt        |«      › �«      ‚| j                  |«       ŒF y )NzExpected sympy.Symbol, got )Úfree_symbolsrG   r¯   ÚSymbolr'   r´   ræ   )rR   r   Úss      r   Ú_check_freesymbolsz'TranslationValidator._check_freesymbols  sG   € Ø—^‘^ò �Ü! !¤U§\¡\Ô2Ü(Ð+FÄtÈAÃwÀiÐ)PÓQÐQð —
‘
˜1•ñrC   c                 óŠ   — t        | «      j                  |«      }t        |t        j                  «      st        d|› �«      ‚|S )Nz"expected boolean expression. Got: )rï   r+  rG   r   rH   r'   ©rR   r   Úz3exprs      r   Úto_z3_boolean_exprz'TranslationValidator.to_z3_boolean_expr#  s<   € Ü˜t“_×(Ñ(¨Ó+ˆFÜ˜f¤b§j¡jÔ1Ü$Ð'IÈ&ÈÐ%RÓSÐSØˆMrC   c                 ó”   — || j                   vrt        j                  dt        |«      «       | j                   j	                  |«       y )Nzadd source guard: %s)r2  r/  r0  r   rö   )rR   r   s     r   rê   z$TranslationValidator.add_source_expr)  s7   € Ø˜×*Ñ*Ñ*Ü—	‘	Ð0´%¸³(Ô;Ø×Ñ×"Ñ" 1Õ%rC   c                 óØ   — | j                  |«       | j                  |«      }|| j                  vrt        j	                  dt        |«      «       | j                  j                  |«       y )Nzadd target guard: %s)rC  rG  r3  r/  r0  r   rö   rE  s      r   Úadd_target_exprz$TranslationValidator.add_target_expr.  sU   € Ø×#Ñ# AÔ&Ø×,Ñ,¨QÓ/ˆFØ˜×*Ñ*Ñ*Ü—	‘	Ð0´%¸³-Ô@Ø×Ñ×"Ñ" 6Õ*rC   c                 ót  — t        |t        j                  «      r#| j                  |«       | j	                  |«      }n|}t        |t
        j                  «      st        dt        |«      › �«      ‚|| j                  vrt        j                  dt        |«      «       | j                  j                  |«       y )NzExpected z3.BoolRef, got zadd assertion: %s)rG   r¯   r,  rC  rG  r   rH   r'   r´   r4  r/  r0  r   rö   )rR   r   Úrefs      r   rn   z"TranslationValidator.add_assertion5  s�   € Ü˜!œUŸ[™[Ô)Ø×'Ñ'¨Ô*Ø×-Ñ-¨aÓ0‘à�Ü˜c¤2§:¡:Ô.Ü$Ð'@ÄÀcÃÀÐ%LÓMÐMØ˜$×*Ñ*Ñ*Ü—	‘	Ð-¬u°S«zÔ:Ø×Ñ× Ñ  Õ%rC   c                 ód   — t        d«      5  | j                  «       cd d d «       S # 1 sw Y   y xY w)NzTranslationValidator.validate)r   Ú	_validater5  s    r   ÚvalidatezTranslationValidator.validateA  s*   € ÜÐ=Ó>ñ (Ø—~‘~Ó'÷(÷ (ò (ús   Œ&¦/c                 ó¨  — t        | j                  «      dk(  st        | j                  «      dk(  ry t        j                  d«      }|j                  t        «       ¬«       | j                  D ]  }|j                  |«       Œ |j                  t        j                  t        j                  | j                  Ž «      «        |j                  | j                  Ž  t        j                  d«       |j                  «       }|t        j                  k(  r]|j                  «       }t!        || j                  | j                  | j                  D �cg c]  }|j#                  |«      rŒ|‘Œ c}¬«      ‚|t        j$                  k(  rt        j'                  d«       y |t        j(                  k7  rt+        d|› �«      ‚t        j                  d«       y c c}w )	Nr   ÚQF_NRA)Útimeoutztranslation validation: start)Úfailed_source_exprsz:translation validation: could not validate: got z3.unknownzExpected z3.unsat, got ztranslation validation: success)r¼   r2  r3  r   Ú	SolverForr1  Útranslation_validation_timeoutr4  rö   rÄ   r¢   r/  r0  ÚcheckÚsatÚmodelÚValidationExceptionÚevaluateÚunknownÚwarningÚunsatr'   )rR   ÚsolverÚ	assertionÚrrX  Úinps         r   rN  zTranslationValidator._validateE  sr  € Ü�4×%Ñ%Ó&¨!Ò+¬s°4×3EÑ3EÓ/FÈ!Ò/Kð ô —\‘\ (Ó+ˆFà�J‰JÔ=Ó?ˆJÔ@ð "×-Ñ-ò &�	Ø—
‘
˜9Õ%ð&ð
 �J‰J”r—v‘vœbŸf™f d×&8Ñ&8Ð9Ó:Ô;ØˆF�J‰J˜×*Ñ*Ñ+ä�I‰IÐ5Ô6Ø—‘“ˆAØ”B—F‘FŠ{ð Ÿ™›�Ü)ØØ×$Ñ$Ø×&Ñ&à'+×'9Ñ'9ö)Ø #ÀÇÁÐPSÕATšò)ô	ð ð œŸ
™
’?ô —K‘KØTõð
 œBŸH™H’}Ü,Ð/FÀqÀcÐ-JÓKÐKÜ—I‘IÐ?Õ@ùò!)s   ÅGÅ#G)r   N)r   zsympy.logic.boolalg.Booleanr   N)rš   r›   rœ   rÝ   r¯   rA  r   r(   ræ   r´   r>  r,  rC  rH   rG  rê   rJ  rn   rO  rN  r¨   rC   r   r\   r\   ç  s½   „ ó	6ð*	( §¡ð 	(°·±ó 	(ð	 %§,¡,ð 	°dð 	¸r¿z¹zó 	ð0	¨¯©ð 	¸ó 	ð	¨¯©ð 	¸¿
¹
ó 	ð	& R§Z¡Zð 	&°Dó 	&ó
	+ð
	& 2§:¡:°·±Ñ#;ð 
	&Àó 
	&ó	(ô7	ArC   T)	r   rÓ   rÕ   rï   r\   Útranslation_validation_enabledrU  rY  ÚBisectValidationExceptionF)rb  rU  rY  rc  )Ú_configc                  óF   — t        «        t        xr t        j                  S r   )Ú_assert_z3_installed_if_tv_setÚ_HAS_Z3ÚconfigÚtranslation_validationr¨   rC   r   rb  rb  š  s   € ô #Ô$ÜÒ4”v×4Ñ4Ð4rC   c                  ó"   — t         j                  S r   )rh  rU  r¨   rC   r   rU  rU  ¡  s   € Ü×0Ñ0Ð0rC   c                  óH   — t         st        j                  rt        d«      ‚y y )Nzotranslation validation requires Z3 package. Please, either install z3-solver or disable translation validation.)rg  rh  ri  r'   r¨   rC   r   rf  rf  ¥  s&   € Ýœ6×8Ò8Üð;ó
ð 	
ð 9ˆGrC   c                   ó   — e Zd Zd„ Zd„ Zy)rY  c                 óx  ‡— t         st        d«      ‚dt        fˆfd„}dt        fd„} |t        t	        |‰«      «      «      } |t        t	        t
        |«      «      «      } |t        t	        t
        |«      «      «      }	 |t        t	        t
        |«      «      «      }
d| _        d|› d|› d|	› d	|
› �| _        y )
NzZ3 is requiredr   c                 ó   •— | › d‰|    › �S )Nú: r¨   )ÚsymrX  s    €r   Ú	symbolstrz/ValidationException.__init__.<locals>.symbolstr²  s   ø€ Ø�U˜"˜U 3™Z˜LÐ)Ð)rC   c                 ó2   — dj                  d„ | D «       «      S )Nú
c              3   ó&   K  — | ]	  }d |› �–— Œ y­w)z  ==> Nr¨   )rI   r   s     r   rJ   zBValidationException.__init__.<locals>.joinlines.<locals>.<genexpr>¶  s   è ø€ Ò6¨a˜v a Sœ\Ñ6ùs   ‚)r;   )Úxss    r   Ú	joinlinesz/ValidationException.__init__.<locals>.joinlinesµ  s   € Ø—9‘9Ñ6°2Ô6Ó6Ð6rC   ztranslation validation failed.zModel:
z

Assertions:
z

Target Expressions:
z

Failed Source Expressions:
)rg  r'   r*   ÚsortedÚmapr   ÚmsgÚdetails)rR   rX  Ú
assertionsÚtarget_exprsrS  rq  rv  Ú	model_strÚassertions_strÚtarget_exprs_strÚfailed_source_exprs_strs    `         r   rÝ   zValidationException.__init__®  sÈ   ø€ ÝÜ Ð!1Ó2Ð2ð	*œcõ 	*ð	7œSó 	7ñ œf¤S¨°EÓ%:Ó;Ó<ˆ	Ù"¤6¬#¬e°ZÓ*@Ó#AÓBˆÙ$¤V¬C´°|Ó,DÓ%EÓFÐÙ"+¬F´3´uÐ>QÓ3RÓ,SÓ"TÐà3ˆŒðà
€ð ð Ð ð ð Ð ð ð Ð ðˆ�rC   c                 ó8   — | j                   › d| j                  › �S ©Nú

©ry  rz  r5  s    r   Ú__str__zValidationException.__str__Ë  ó   € Ø—(‘(�˜4 §¡˜~Ð.Ð.rC   N©rš   r›   rœ   rÝ   r…  r¨   rC   r   rY  rY  ­  s   „ òó:/rC   rY  c                   ó   — e Zd Zd„ Zd„ Zy)rc  c                 óh   — d|› d|› �| _         d|j                  «       › d|j                  › �| _        y )Nz#translation validation failed when ro  z)Failure occurred while running node:
    rƒ  )ry  Úformat_noderz  )rR   Úvalidation_excr(  Úfailed_actionÚtraced_nodes        r   rÝ   z"BisectValidationException.__init__Ð  sD   € Ø8¸¸ÀrÈ$ÈÐPˆŒðà×ÑÓÐð  à×ÑÐ ð	ˆ�rC   c                 ó8   — | j                   › d| j                  › �S r‚  r„  r5  s    r   r…  z!BisectValidationException.__str__Ø  r†  rC   Nr‡  r¨   rC   r   rc  rc  Ï  s   „ òó/rC   rc  c           	      ót  ‡‡‡‡‡‡— ddl mŠmŠm} ddlm}m}mŠ | j                  Šdt        j                  j                  d|fˆˆfd„}d|dt        fˆˆfd„Šd|d	t        t           d z  dt        d z  fˆfd
„Šdt        j                  j                  dt        d z  fˆˆˆˆfd„} ‰| | j                  «       «      }|st         j#                  d«       y | j$                  rt&        j(                  r|‚i }| j*                  j,                  D �cg c]!  }|j.                  t        j0                  u sŒ |‘Œ# }	}ddt3        |	«      dz
  }}}
 ||	|   «      ||<   |
|k  rH|
|z   dz  }|	|   }t         j5                  d| ||«      «        ||«      ||<   ||   r|}n|dz   }
|
|k  rŒH|
|v rt7        ||
   t        «      st9        d«      ‚|	|
   } ||«      }|j;                  «       rd}n |j=                  «       st9        d|› �«      ‚d}|j>                  }|€t9        d«      ‚t3        |«      dk  r$t9        d|j@                  › dt3        |«      › �«      ‚t7        |d   tB        jD                  «      s't9        d|j@                  › dtG        |d   «      › �«      ‚tI        ||
   |d   ||jJ                  |   ¬«      ‚c c}w )Nr   )ÚFakeTensorMetaÚreplay_shape_env_eventsÚShapeEnvEvent)ÚCURRENT_NODE_KEYÚShapeEnvÚSHAPEENV_EVENT_KEYÚnoder   c                 óZ   •— ‰| j                   vrt        d«      ‚‰| j                   ‰      S )Nz#SHAPEENV_EVENT_KEY not in node.meta)Úmetar'   )r–  r•  Úeventss    €€r   Úget_node_eventzbisect.<locals>.get_node_event÷  s0   ø€ Ø T§Y¡YÑ.Ü Ð!FÓGÐGØ�d—i‘iÐ 2Ñ3Ñ4Ð4rC   Ú	shape_envc           	      óh  •‡ — t        |t        «      r|S t        |t        j                  «      r.t        j                  |j                  j                  ‰ «      «      S t        |t        j                  «      r.t        j                  |j                  j                  ‰ «      «      S t        |‰«      st        dt        |«      › �«      ‚ ‰t        ˆˆ fd„|j                  «       D «       «      t        ˆˆ fd„|j                  «       D «       «       ‰‰ |j                  «       «      |j                  «      S )NzExpected FakeTensorMeta, got c              3   ó0   •K  — | ]  } ‰‰|«      –— Œ y ­wr   r¨   ©rI   rB  Únew_with_shape_envr›  s     €€r   rJ   z5bisect.<locals>.new_with_shape_env.<locals>.<genexpr>  s   øè ø€ ÒH°qÑ$ Y°×2ÑHùó   ƒc              3   ó0   •K  — | ]  } ‰‰|«      –— Œ y ­wr   r¨   rž  s     €€r   rJ   z5bisect.<locals>.new_with_shape_env.<locals>.<genexpr>  s   øè ø€ ÒJ°qÑ$ Y°×2ÑJùr   )rG   r­   rÉ   ÚSymIntr–  Úwith_shape_envÚSymFloatr'   r´   rP   ÚsizeÚstrideÚstorage_offsetÚ	is_nested)r›  Úfaker�  rŸ  s   ` €€r   rŸ  z"bisect.<locals>.new_with_shape_env  sÚ   ù€ Ü�dœCÔ ØˆKÜ�dœEŸL™LÔ)Ü—<‘< §	¡	× 8Ñ 8¸Ó CÓDÐDÜ�dœEŸN™NÔ+Ü—>‘> $§)¡)×":Ñ":¸9Ó"EÓFÐFÜ˜$ Ô/Ü Ð#@ÄÀdÃÀÐ!MÓNÐNÙÜÔH¸D¿I¹I»KÔHÓHÜÔJ¸D¿K¹K»MÔJÓJÙ˜y¨$×*=Ñ*=Ó*?Ó@Ø�N‰Nó	
ð 	
rC   Útracked_fakesc           	      ó6  •— |€t        d«      ‚	 | j                  |D �cg c]  } ‰| |j                  «      ‘Œ c}|D �cg c]  }|j                  ‘Œ c}|D �cg c]  }|j                  ‘Œ c}¬«       y c c}w c c}w c c}w # t
        $ r}|cY d }~S d }~ww xY w)Nztracked_fakes is None)Úinput_contexts)r'   Úproduce_guardsr©  ÚsourceÚsymbolic_contextrY  )r›  rª  rN   r   rŸ  s       €r   Úcheck_shapeenv_failsz$bisect.<locals>.check_shapeenv_fails  s™   ø€ ð Ð Ü Ð!8Ó9Ð9ð	ð ×$Ñ$Ø@MÖN¸1Ñ# I¨q¯v©vÕ6ÒNØ#0Ö1˜a�—“Ò1Ø<IÖJ°q × 2Ó 2ÒJð %ô ð
 ùò	 OùÚ1ùÚJøô #ò 	Ø�Hûð	úsD   �B ŸA4¹B ¿A9
ÁB ÁA>Á+B Á4B Â	BÂBÂBÂBc                 óž   •— | j                   ‰   } ‰‰d |dz    «      }|j                  j                  «         ‰|‰|   j                  «      S rz   )r˜  rÖ   Úlintrª  )r–  rq   r›  r•  r°  r™  r‘  s      €€€€r   Úcheck_node_failsz bisect.<locals>.check_node_fails&  sN   ø€ Ø—‘Ð-Ñ.ˆá+¨F°<°V¸a±ZÐ,@ÓAˆ	Ø�‰×ÑÔÙ# I¨v°f©~×/KÑ/KÓLÐLrC   z2translation validation succeeded: no errors found.r   r"   zbisecting at %s: %sz-Expected ValidationException at bisect resultÚ
evaluatingzunexpected event type: zadding runtime assertzevent.args is Nonezbisecting expects z/ to have at least 2 positional arguments. Got: z9 to have a SymPy expression as its second argument. Got: )r(  rŒ  r�  )&Útorch.fx.experimental.recordingr�  r‘  r’  Ú%torch.fx.experimental.symbolic_shapesr“  r”  r•  r™  rÉ   rÚ   ÚNoder   r)   rY  Ú_snapshot_tracked_fakesr/  ÚinfoÚshould_record_eventsrh  Ú translation_validation_no_bisectrÖ   Únodesrà   rÏ   r¼   r0  rG   r'   Úis_evaluate_exprÚis_defer_runtime_assertr>   r  r¯   r,  r´   rc  r˜  )r›  r’  r“  r”  rš  r³  Úlast_exceptionÚ	exceptionr–  Úassert_nodesÚleftÚmidÚrightÚeventrŒ  r>   r�  r•  r°  r™  rŸ  r‘  s                   @@@@@@r   ÚbisectrÆ  è  sð  ý€ ÷ñ ÷
ñ ð ×Ñ€Fð5œUŸX™XŸ]™]ð 5¨}ö 5ð
 hð 
¼ö 
ð"ØðÜ,0´©I¸Ñ,<ðä	˜tÑ	#õð(MœuŸx™xŸ}™}ð MÔ1DÀtÑ1K÷ Mð Mñ *Ø�9×4Ñ4Ó6ó€Nñ ô 	�‰ÐEÔFØà×)Ò)¬V×-TÒ-Tð Ðð €Ið
 #Ÿ™×.Ñ.öØ°$·+±+ÄÇÁÒ2NŠð€Lð ð ˜!œS Ó.°Ñ2ˆuˆ#€DÙ'¨°UÑ(;Ó<€IˆeÑà
�Š,Ø�e‰| Ñ!ˆà˜CÑ ˆÜ�	‰	Ð'¨©n¸TÓ.BÔCñ *¨$Ó/ˆ	�#‰à�SŠ>Ø‰Eà˜‘7ˆDð �‹,ð �IÑ¤*¨Y°t©_Ô>QÔ"RÜÐLÓMÐMà˜Ñ€DÙ˜4Ó €Eà×ÑÔØ$‰à×,Ñ,Ô.Ü Ð#:¸5¸'Ð!BÓCÐCØ/ˆà�:‰:€DØ€|ÜÐ1Ó2Ð2Ü
ˆ4ƒy�1‚}ÜØ  §¡ ð -Ü˜“I�;ð ó
ð 	
ô �d˜1‘gœuŸ{™{Ô+ÜØ  §¡ ð -Ü" 4¨¡7›m˜_ð.ó
ð 	
ô
 $Ø�$‰Ø�!‰WØ#Ø—I‘IÐ.Ñ/ô	ð ùòms   Ä!J5Ä/J5)7rÆ   rW   ÚloggingrÈ   r    Úcollections.abcr   Údataclassesr   Útypingr   r¯   rÉ   Útorch.fxÚtorch.fx.tracebackrÚ   Ú	tracebackrä   Útorch._dynamo.excr   Útorch._dynamo.utilsr   Útorch.fx.noder   r	   Útorch.utils._sympy.interpr
   Ú	getLoggerrš   r/  r   r(   r*   r   rY   r[   rÓ   ÚInterpreterrÕ   rï   r\   rg  Ú__all__ÚImportErrorÚtorch.fx.experimentalrd  rh  r¬   rb  r­   rU  rf  rY  rc  rÆ  r¨   rC   r   ú<module>r×     s_  ðã Û Û Û Û Ý $Ý !Ý ã ã Û ß )Ð )Ý 2Ý ,ß *Ý 2ð €g×Ñ˜Ó!€ð}	ÛðHU&�—‘ð U& ó U&òtð$ ÷]4ð ]4ó ð]4ðN?J�ð ?JÐ&<ð ?JÀó ?JôT4˜EŸH™H×0Ñ0ô 4÷FYEñ YE÷RUAñ UAðD €Gò
€Gõ 4ð5¨ó 5ð1¨ó 1ò
ô/Ð.ô /ôD
/Ð 4ô 
/ñ Ô  óTøðU ò Ø€Gò‚Gðús   Á)A%D
 Ä
DÄD