§
    OŠtj:  ã                   óN  — d dl mZmZmZmZ d dlZd dlmZ d dlm	Z
 d dlmZ d dlmZ d dlmZ d dlm	Z d dlmZ d d	lmZmZ d d
lmZ ddlmZ ddlmZ ddlmZ dZ G d„ d¦  «        Z  G d„ d¦  «        Z!dee"ej#        f         dej#        fd„Z$de"fd„Z% G d„ de¦  «        Z&dS )é    )ÚDictÚOptionalÚUnionÚAnyN)Úir)Úproton)Úamd)Únvidia)Úpasses)ÚLazyDict)Úset_profile_allocatorÚNullAllocator)Úbackendsé   )ÚHooké   )Úflags)Úmodec                   ó4   — e Zd Zd„ Zdededee         fd„ZdS )ÚCudaAllocatorc                 ó   — || _         d S ©N)Úinstrumentation_hook)Úselfr   s     úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/profiler/hooks/instrumentation.pyÚ__init__zCudaAllocator.__init__   s   € Ø$8ˆÔ!Ð!Ð!ó    ÚsizeÚ	alignmentÚstreamc                 ó  — || j         j        k    rt          d|› d| j         j        › �¦  «        ‚||z   dz
  |z  |z  }t          || j         j        ¦  «        }dd l}|                     |f|j        d¬¦  «        }|| j         _        |S )NzAlignment mismatch: z != r   r   Úcuda©ÚdtypeÚdevice)	r   Úprofile_buffer_alignmentÚRuntimeErrorÚmaxÚprofile_buffer_sizeÚtorchÚemptyÚuint8Úbuffer)r   r   r   r    Úaligned_sizer*   r-   s          r   Ú__call__zCudaAllocator.__call__   s¨   € Ø˜Ô1ÔJÒJÐJÝØj yÐjÐj°dÔ6OÔ6hÐjÐjñlô lð là˜yÑ(¨1Ñ,°Ñ:¸YÑFˆõ
 ˜<¨Ô)BÔ)VÑWÔWˆð 	ˆˆˆØ—’˜lÐ-°U´[È�ÑPÔPˆØ+1ˆÔ!Ô(Øˆr   N)Ú__name__Ú
__module__Ú__qualname__r   Úintr   r/   © r   r   r   r      sP   € € € € € ð9ð 9ð 9ð˜Sð ¨Sð ¸(À3¼-ð ð ð ð ð ð r   r   c                   óH   — e Zd Zdeeef         fd„Zdefd„Zdefd„Zd„ Z	dS )ÚInstrumentationÚir_mapc                 ó   — || _         d S r   )Úmanager)r   r7   s     r   r   zInstrumentation.__init__/   s   € ØˆŒˆˆr   r   c                 óP   — || j         v rt          d|› �¦  «        ‚|| j         |<   d S )NzIR already registered: )r9   r'   )r   r   Úfuncs      r   ÚregisterzInstrumentation.register2   s8   € Ø�”ÐÐÝÐ=¸Ð=Ð=Ñ>Ô>Ð>ØˆŒ�RÑÐÐr   c                 ór   — |                       |¦  «         || j        v r | j        |         |¦  «         d S d S r   )Úload_dialectsr9   )r   r   ÚpmÚcontexts       r   ÚpatchzInstrumentation.patch7   sH   € Ø×Ò˜7Ñ#Ô#Ð#Ø�”ÐÐØˆDŒL˜Ô˜RÑ Ô Ð Ð Ð ð Ðr   c                 ó.   — t          j        |¦  «         d S r   )Útriton_protonr>   )r   Úctxs     r   r>   zInstrumentation.load_dialects<   s   € ÝÔ# CÑ(Ô(Ð(Ð(Ð(r   N)
r0   r1   r2   r   Ústrr   r   r<   rA   r>   r4   r   r   r6   r6   -   s|   € € € € € ð˜t C¨ Hœ~ð ð ð ð ð ˜3ð  ð  ð  ð  ð
!˜ð !ð !ð !ð !ð
)ð )ð )ð )ð )r   r6   Úmode_objÚreturnc                 óâ  ‡
— t          | t          j        ¦  «        r| S | sd} |                      d¦  «        }|d         }i }|dd …         D ]7}d|v r|                     dd¦  «        \  }}|||<   Œ%t	          d|› d�¦  «        ‚|                     dd	¦  «        |                     d
d¦  «        |                     dd¦  «        t          |                     dd¦  «        ¦  «        |                     dd¦  «        |                     dd¦  «        |                     dd¦  «        |                     dd¦  «        dœŠ
ˆ
fd„} |dt          j        ¦  «        ‰
d<    |d
t          j        ¦  «        ‰
d
<    |dt          j	        ¦  «        ‰
d<    |dt          j
        ¦  «        ‰
d<    |dt          j        ¦  «        ‰
d<   t          ‰
d         ¦  «        dk    r%d„ ‰
d                              d¦  «        D ¦   «         ng }|D ]"}	|	t          j        vrt	          d|	› �¦  «        ‚Œ#d„ |D ¦   «         ‰
d<   |dk    rt          j        di ‰
¤ŽS |dk    rt          j        di ‰
¤ŽS t	          d| › �¦  «        ‚) NÚdefaultú:r   r   ú=z#Malformed instrumentation option: 'ú'Úmetric_typeÚcycleÚbuffer_typeÚsharedÚbuffer_strategyÚcircularÚbuffer_sizeÚ0ÚgranularityÚwarpÚsampling_strategyÚnoneÚsampling_optionsÚ Úoptimizations)rM   rO   rQ   rS   rU   rW   rY   r[   c                 ób   •— ‰|          }|r||vrt          d| › d|› �¦  «        ‚|r||         n|S )NzUnknown z: )Ú
ValueError)Úopt_nameÚmappingÚvalueÚoptionss      €r   Úget_option_valuez)_interpret_mode.<locals>.get_option_valueY   sQ   ø€ Ø˜Ô!ˆØð 	=�U 'Ð)Ð)ÝÐ;¨Ð;Ð;°EÐ;Ð;Ñ<Ô<Ð<Ø!&Ð1ˆw�uŒ~ˆ~¨EÐ1r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r4   )Ústrip©Ú.0r`   s     r   ú
<listcomp>z#_interpret_mode.<locals>.<listcomp>f   s6   € ð Að Að AØð �{Š{‰}Œ}ð Að Að Ar   ú,zUnknown optimization: c                 ó2   — g | ]}t           j        |         ‘ŒS r4   )r   r[   re   s     r   rg   z#_interpret_mode.<locals>.<listcomp>k   s    € ÐNÐNÐN¸e¥Ô 2°5Ô 9ÐNÐNÐNr   ÚmmazUnknown mode: r4   )Ú
isinstancer   ÚInstrumentationModeÚsplitr]   Úgetr3   Úmetric_typesÚbuffer_typesÚbuffer_strategiesÚgranularitiesÚsampling_strategiesÚlenr[   ÚDefaultÚMMA)rF   ÚpartsÚ	mode_nameÚoptsÚoptÚkeyÚvalrb   Úvaluesr`   ra   s             @r   Ú_interpret_moder~   @   sü  ø€ Ý�(�DÔ4Ñ5Ô5ð ØˆØð Øˆà�NŠN˜3ÑÔ€EØ�a”€IØ€DØ�Q�R�RŒyð Kð KˆØ�#ˆ:ˆ:Ø—y’y  aÑ(Ô(‰HˆC�ØˆD�‰IˆIåÐIÀ3ÐIÐIÐIÑJÔJÐJð —x’x ¨wÑ7Ô7ÈÏÊÐQ^Ð`hÑHiÔHiØŸ8š8Ð$5°zÑBÔBÕSVÐW[×W_ÒW_Ð`mÐorÑWsÔWsÑStÔStØ—x’x ¨vÑ6Ô6ÈTÏXÊXÐViÐkqÑMrÔMrØ ŸHšHÐ%7¸Ñ<Ô<ÈtÏxÊxÐXgÐikÑOlÔOlð	ð €Gð2ð 2ð 2ð 2ð 2ð .Ð-¨m½TÔ=NÑOÔO€GˆMÑØ-Ð-¨m½TÔ=NÑOÔO€GˆMÑØ!1Ð!1Ð2CÅTÔE[Ñ!\Ô!\€GÐÑØ-Ð-¨m½TÔ=OÑPÔP€GˆMÑØ#3Ð#3Ð4GÍÔIaÑ#bÔ#b€GÐÑ õ EHÈÐP_ÔH`ÑDaÔDaÐdeÒDeÐDeðAð AØ# OÔ4×:Ò:¸3Ñ?Ô?ðAñ Aô Að AØkmð àð ?ð ?ˆØ�Ô*Ð*Ð*ÝÐ=°eÐ=Ð=Ñ>Ô>Ð>ð +àNÐNÀvÐNÑNÔN€GˆOÑð �IÒÐÝŒ|Ð&Ð&˜gÐ&Ð&Ð&Ø	�eÒ	Ð	ÝŒxÐ"Ð"˜'Ð"Ð"Ð"åÐ4¨(Ð4Ð4Ñ5Ô5Ð5r   c                  ó    — t           j        j        j                             ¦   «         j        } | dk    rdS | dk    rdS t          d| › �¦  «        ‚)Nr"   r
   Úhipr	   zUnsupported backend: )ÚtritonÚruntimeÚdriverÚactiveÚget_current_targetÚbackendr'   )r†   s    r   Ú_get_backend_namer‡   v   sU   € ÝŒnÔ#Ô*×=Ò=Ñ?Ô?ÔG€GØ�&ÒÐØˆxØ	�EÒ	Ð	ØˆuåÐ<°7Ð<Ð<Ñ=Ô=Ð=r   c                   ó  — e Zd ZU dZeed<   dZeed<   dZeed<   dZ	e
e         ed<   dZeed	<   d
Zeed<   dedeej        f         fd„Zd„ Zd„ Zdedededeeef         deddfd„Zdefd„Zdeddfd„Zdeddfd„Zdeddfd„ZdS )ÚInstrumentationHookr   ÚpriorityÚactive_countFÚenable_host_bufferNÚhost_bufferr   r)   é€   r&   rF   c                 ór   — t          |¦  «        | _        t          | ¦  «        | _        d | _        i | _        d S r   )r~   r   r   Ú	allocatorr-   Úmetadata_path)r   rF   s     r   r   zInstrumentationHook.__init__Š   s5   € å.=¸hÑ.GÔ.GˆŒ	å& tÑ,Ô,ˆŒØˆŒØ79ˆÔÐÐr   c                 óR  ‡ ‡‡‡‡‡— t           j        dk    rt          d¦  «        ‚t           xj        dz  c_        dt          _        t
          j        j        j         	                    ¦   «         Št
          j        j        j        j
                             ‰¦  «        d         Št          ¦   «         Šˆˆˆ fd„Šˆˆfd„Št          ˆfd„ˆfd	„d
œ¦  «        t          ‰         j        _        t#          ‰ j        ¦  «         t'          ‰ j        ¦  «        t
          j        j        _        d S )Nr   zFOnly one instance of the instrumentation hook can be active at a time.r   TÚmax_shared_memc                 óf  •— t           j        j        ‰j         j        v rdnd}t	          j        | ‰j         j        ‰j         j        ‰j         j        ‰j         j	        ‰j         j
        ‰j         j        ‰j         j        ‰‰j        ‰j        |¦  «         t          j                             | ¦  «         t           j        j        ‰j         j        v rt	          j        | ¦  «         t	          j        | ¦  «         t           j        j        ‰j         j        v r‰dk    rt	          j        | ¦  «         d S d S d S )NFTr	   )r   ÚOptimizeÚCLOCK32r[   rC   Úadd_convert_proton_to_protongpurM   rW   rY   rU   rQ   rO   rS   r)   r&   Útriton_passesÚcommonÚadd_cseÚSCHED_STORESÚadd_schedule_buffer_storeÚ!add_allocate_proton_shared_memoryÚSCHED_BARRIERSÚadd_sched_barriers)r?   Úis_long_clkÚbackend_namer“   r   s     €€€r   Úto_llvmir_passesz6InstrumentationHook.activate.<locals>.to_llvmir_passesž   s  ø€ Ý#'¤=Ô#8¸D¼IÔ<SÐ#SÐ#S˜%˜%ÐY]ˆKÝÔ9¸"¸d¼iÔ>SÐUYÔU^ÔUpØ:>¼)Ô:TÐVZÔV_ÔVkØ:>¼)Ô:SÐUYÔU^ÔUjØ:>¼)Ô:OÐQ_Ø:>Ô:RÐTXÔTqØ:EñGô Gð Gõ Ô ×(Ò(¨Ñ,Ô,Ð,åŒ}Ô)¨T¬YÔ-DÐDÐDÝÔ7¸Ñ;Ô;Ð;åÔ;¸BÑ?Ô?Ð?åŒ}Ô+¨t¬yÔ/FÐFÐFÈ<Ð[`ÒK`ÐK`ÝÔ0°Ñ4Ô4Ð4Ð4Ð4ð GÐFÐK`ÐK`r   c                 ó<  •— t          j        | ¦  «         ‰dk    rt          j        | ¦  «         d S ‰dk    rdt          j        j        j        j                             ‰¦  «        d          	                    d¦  «        d         }t          j
        | |¦  «         d S d S )Nr
   r	   ÚarchrJ   r   )rC   Ú)add_allocate_proton_global_scratch_bufferÚ%add_convert_proton_nvidia_gpu_to_llvmr�   r‚   rƒ   r„   ÚutilsÚget_device_propertiesrm   Ú"add_convert_proton_amd_gpu_to_llvm)r?   r¤   r¡   r%   s     €€r   Úto_llvm_passesz4InstrumentationHook.activate.<locals>.to_llvm_passes°   sœ   ø€ ÝÔCÀBÑGÔGÐGØ˜xÒ'Ð'ÝÔCÀBÑGÔGÐGÐGÐGØ Ò&Ð&Ý”~Ô,Ô3Ô9×OÒOÐPVÑWÔWÐX^Ô_×eÒeÐfiÑjÔjÐklÔm�ÝÔ@ÀÀTÑJÔJÐJÐJÐJð 'Ð&r   c                 ó   •—  ‰| ¦  «        S r   r4   )r?   r¢   s    €r   ú<lambda>z.InstrumentationHook.activate.<locals>.<lambda>º   s   ø€ Ð'Ð'¨Ñ+Ô+€ r   c                 ó   •—  ‰| ¦  «        S r   r4   )r?   rª   s    €r   r¬   z.InstrumentationHook.activate.<locals>.<lambda>¼   s   ø€ �~�~ bÑ)Ô)€ r   )Úttgpuir_to_llvmirÚllvmir_to_llvm)r‰   r‹   r'   r   Úinstrumentation_onr�   r‚   rƒ   r„   Úget_current_devicer§   r¨   r‡   r6   r   ÚcompilerÚinstrumentationr   r�   rE   r   ÚknobsÚcompilationÚinstrumentation_mode)r   r¡   r%   r“   rª   r¢   s   `@@@@@r   ÚactivatezInstrumentationHook.activate’   sA  øøøøøø€ ÝÔ+¨aÒ/Ð/ÝÐgÑhÔhÐhåÐ(Ô(¨AÑ-Ð(Ô(à#'�Ô å”Ô&Ô-×@Ò@ÑBÔBˆÝœÔ.Ô5Ô;×QÒQÐRXÑYÔYÐZjÔkˆÝ(Ñ*Ô*ˆð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð$	Kð 	Kð 	Kð 	Kð 	Kð 	Kõ ;Jà+Ð+Ð+Ð+à)Ð)Ð)Ð)ð	K
ð K
ñ ;ô ;��ÔÔ'Ô7õ 	˜dœnÑ-Ô-Ð-õ 9<¸D¼I¹¼�ŒÔ Ô5Ð5Ð5r   c                 ó>  — t           j        dk    rd S t           xj        dz  c_        t          ¦   «         }i t          |         j        _        dt          _        dt          j	        j
        _        t          t          ¦   «         ¦  «         d t           _        d | _        d S )Nr   r   FrZ   )r‰   r‹   r‡   r   r²   r³   r   r°   r�   r´   rµ   r¶   r   r   r�   r-   )r   r¡   s     r   Ú
deactivatezInstrumentationHook.deactivateÅ   s‹   € ÝÔ+¨qÒ0Ð0ØˆFåÐ(Ô(¨AÑ-Ð(Ô(å(Ñ*Ô*ˆð ;=��ÔÔ'Ô7ð $)�Ô ð 9;�ŒÔ Ô5õ 	�m™oœoÑ.Ô.Ð.ð +/ÕÔ'ð ˆŒˆˆr   ÚmoduleÚfunctionÚnameÚmetadata_groupÚhashrG   c                 ó®  — |sd S t          d„ |                     ¦   «         D ¦   «         d ¦  «        }t          d„ |                     ¦   «         D ¦   «         d ¦  «        }|| j        |<   |rÜt          j        ¦   «         }t          j        |¦  «         t          ¦   «         }	|	dk    rt          j        |¦  «         n|	dk    rt          j        |¦  «         t          j        |¦  «         t          j
        ||¦  «        }||_        t          j        |¦  «        }
t          j        |¦  «        }t          j        |||
||¦  «         d S t          d|› �¦  «        ‚)Nc              3   óJ   K  — | ]\  }}|                      d ¦  «        ¯|V — ŒdS )ÚttgirN©Úendswith©rf   r{   Úpaths      r   ú	<genexpr>z2InstrumentationHook.init_handle.<locals>.<genexpr>ä   s8   è è € Ð`Ð`¡  dÈÏÊÐV]ÑH_ÔH_Ð`˜Ð`Ð`Ð`Ð`Ð`Ð`r   c              3   óJ   K  — | ]\  }}|                      d ¦  «        ¯|V — ŒdS )ÚjsonNrÂ   rÄ   s      r   rÆ   z2InstrumentationHook.init_handle.<locals>.<genexpr>å   s8   è è € ÐeÐe¡y s¨DÈcÏlÊlÐ\bÑNdÔNdÐe˜dÐeÐeÐeÐeÐeÐer   r
   r	   z+IR path not found in metadata for function )ÚnextÚitemsr‘   Ú	triton_irr@   r>   r‡   Útriton_nvidiaÚ
triton_amdrC   Úparse_mlir_moduleÚget_scope_id_namesÚget_scope_id_parentsÚ	libprotonÚinit_function_metadatar'   )r   rº   r»   r¼   r½   r¾   Úir_pathr‘   r@   r¡   Úscope_id_namesÚscope_id_parentss               r   Úinit_handlezInstrumentationHook.init_handleß   se  € Øð 	ØˆFõ Ð`Ð`¨n×.BÒ.BÑ.DÔ.DÐ`Ñ`Ô`ÐbfÑgÔgˆÝÐeÐe°N×4HÒ4HÑ4JÔ4JÐeÑeÔeÐgkÑlÔlˆØ'4ˆÔ˜8Ñ$àð 	YÝÔ'Ñ)Ô)ˆGÝÔ# GÑ,Ô,Ð,Ý,Ñ.Ô.ˆLØ˜xÒ'Ð'ÝÔ+¨GÑ4Ô4Ð4Ð4Ø Ò&Ð&ÝÔ(¨Ñ1Ô1Ð1ÝÔ'¨Ñ0Ô0Ð0ÝÔ0°¸'ÑBÔBˆFØ$ˆFŒNå*Ô=¸fÑEÔEˆNÝ,ÔAÀ&ÑIÔIÐÝÔ,¨X°t¸^ÐM]Ð_lÑmÔmÐmÐmÐmåÐWÈXÐWÐWÑXÔXÐXr   c                 óF   — | j         €dn| j                              ¦   «         S )Nr   )r-   Údata_ptr)r   s    r   Ú	_data_ptrzInstrumentationHook._data_ptrú   s!   € Ø”KÐ'ˆqˆq¨T¬[×-AÒ-AÑ-CÔ-CÐCr   Úmetadatac                 ól  — |j                              d¦  «        }|j                              d¦  «        }| j        €dn2| j                             ¦   «         | j                             ¦   «         z  }t          j        |||                      ¦   «         |¦  «         t          j	        rd t          _
        d S d S ©Nr»   r    r   )Údatarn   r-   Úelement_sizeÚnumelrÑ   Úenter_instrumented_oprÙ   r‰   rŒ   r�   ©r   rÚ   r;   r    Ú
alloc_sizes        r   ÚenterzInstrumentationHook.enterý   s¤   € ØŒ}× Ò  Ñ,Ô,ˆØ”×"Ò" 8Ñ,Ô,ˆØœ+Ð-�Q�Q°4´;×3KÒ3KÑ3MÔ3MÐPTÔP[×PaÒPaÑPcÔPcÑ3cˆ
ÝÔ'¨°°d·n²nÑ6FÔ6FÈ
ÑSÔSÐSÝÔ1ð 	3Ø.2ÕÔ+Ð+Ð+ð	3ð 	3r   c                 ó~  — |j                              d¦  «        }|j                              d¦  «        }| j        €dn2| j                             ¦   «         | j                             ¦   «         z  }t          j        |||                      ¦   «         |¦  «         t          j	        r|  
                    |¦  «         d S d S rÜ   )rÝ   rn   r-   rÞ   rß   rÑ   Úexit_instrumented_oprÙ   r‰   rŒ   Ú_populate_host_bufferrá   s        r   ÚexitzInstrumentationHook.exit  s¯   € ØŒ}× Ò  Ñ,Ô,ˆØ”×"Ò" 8Ñ,Ô,ˆØœ+Ð-�Q�Q°4´;×3KÒ3KÑ3MÔ3MÐPTÔP[×PaÒPaÑPcÔPcÑ3cˆ
ÝÔ& v¨t°T·^²^Ñ5EÔ5EÀzÑRÔRÐRåÔ1ð 	-Ø×&Ò& tÑ,Ô,Ð,Ð,Ð,ð	-ð 	-r   c           
      ó”  — |�rÂ| j         |         �r¶dd l}dd l}dd l}dt          t
          t          f         dt          fd„}| j        €dn2| j         	                    ¦   «         | j         
                    ¦   «         z  }| j        j                             ¦   «                              d¦  «        }i }t          | j         |         d¦  «        5 }	|                     |	¦  «        }d d d ¦  «         n# 1 swxY w Y    ||d         ¦  «        }
|d         }|d         }| j        j        t$          j        j        k    r|nt+          |¦  «        }t          ||z  ¦  «        }| j        j        d	k    o| j        j        t$          j        j        k    }|rd
„ t3          |¦  «        D ¦   «         }nd„ |D ¦   «         }d|dz  z   }d}|}|}t4          |||||
||||g
|¢} |j        dt+          |¦  «        z  g|¢R Ž }|                     ||z   |j        d¬¦  «        t<          _        t<          j        d |…         }|                      | !                    tE          |¦  «        |j        ¬¦  «        ¦  «         t<          j        |d …          #                    | j        ¦  «        }|                      | j         $                    ¦   «         ¦  «         d S d S d S )Nr   ÚtargetrG   c                 ó>   — | d         dk    rdS | d         dk    rdS dS )Nr†   r"   r   r€   r   r   r4   )ré   s    r   Úencode_targetz@InstrumentationHook._populate_host_buffer.<locals>.encode_target  s1   € à˜)Ô$¨Ò.Ð.Ø˜1Ø˜IÔ&¨%Ò/Ð/Ø˜1Ø�qr   rh   ÚrÚprofile_scratch_sizeÚ	num_warpsrZ   c                 ó   — g | ]}|‘ŒS r4   r4   ©rf   Úis     r   rg   z=InstrumentationHook._populate_host_buffer.<locals>.<listcomp>J  s   € Ð8Ð8Ð8 ˜1Ð8Ð8Ð8r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r4   )r3   rð   s     r   rg   z=InstrumentationHook._populate_host_buffer.<locals>.<listcomp>L  s   € Ð9Ð9Ð9 a�3˜q™6œ6Ð9Ð9Ð9r   é(   é   ÚIÚcpur#   )r$   )%r‘   r*   ÚstructrÈ   r   rE   r   r3   r-   rÞ   rß   r   rY   rd   rm   ÚopenÚloadrW   rC   ÚSAMPLING_STRATEGYÚNONErt   rU   ÚGRANULARITYÚWARPÚrangeÚVERSIONÚpackr+   r,   r‰   r�   Úcopy_ÚtensorÚlistÚview_asrö   )r   r»   r*   r÷   rÈ   rë   râ   Úsampled_warpsrÝ   ÚfileÚdevice_typeÚscratch_mem_sizeÚ
total_unitÚuid_numÚ	block_numÚis_all_warpsÚuid_vecÚheader_sizeÚheader_offsetÚpayload_offsetÚpayload_sizeÚheader_valuesÚheader_bytesÚconfig_portionÚdata_portions                            r   ræ   z)InstrumentationHook._populate_host_buffer  s6  € Øñ M	2˜Ô*¨8Ô4ñ M	2ØˆLˆLˆLØˆMˆMˆMØˆKˆKˆKð¥d­3µ¨8¤nð ½ð ð ð ð ð #œkÐ1˜˜°t´{×7OÒ7OÑ7QÔ7QÐTXÔT_×TeÒTeÑTgÔTgÑ7gˆJØ œIÔ6×<Ò<Ñ>Ô>×DÒDÀSÑIÔIˆMØˆDÝ�dÔ(¨Ô2°CÑ8Ô8ð '¸DØ—y’y ‘”�ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð (˜-¨¨X¬Ñ7Ô7ˆKØ#Ð$:Ô;ÐØ˜kÔ*ˆJØ$(¤IÔ$?Å=ÔCbÔCgÒ$gÐ$g�j�jÕmpØñnô nˆGå˜JÐ)9Ñ9Ñ:Ô:ˆIðB  œ9Ô5¸Ò;ÐwÀÄ	Ô@UÕYfÔYrÔYwÒ@wˆLØð :Ø8Ð8¥e¨JÑ&7Ô&7Ð8Ñ8Ô8��à9Ð9¨=Ð9Ñ9Ô9�à˜w¨™{Ñ*ˆKØˆMØ(ˆNØ%ˆLå˜¨°^À\ÐS^Ð`iÐkuØ  'ðà,3ðˆMð '˜6œ; s­S°Ñ-?Ô-?Ñ'?ÐPÀ-ÐPÐPÐPˆLà.3¯kªk¸+È
Ñ:RÐZ_ÔZeÐns¨kÑ.tÔ.tÕÔ+Ý0Ô<¸\¸k¸\ÔJˆNØ× Ò  §¢­d°<Ñ.@Ô.@ÈÌ Ñ!TÔ!TÑUÔUÐUÝ.Ô:¸;¸<¸<ÔH×PÒPÐQUÔQ\Ñ]Ô]ˆLØ×Ò˜tœ{ŸšÑ0Ô0Ñ1Ô1Ð1Ð1Ð1ð[M	2ð M	2ð M	2ð M	2s   ÃC.Ã.C2Ã5C2)r0   r1   r2   rŠ   r3   Ú__annotations__r‹   rŒ   Úboolr�   r   r   r)   r&   r   rE   r   rl   r   r·   r¹   r   rÖ   rÙ   r   rã   rç   ræ   r4   r   r   r‰   r‰   €   s®  € € € € € € Ø€HˆcÐÐÑà€L�#ÐÐÑØ$Ð˜Ð$Ð$Ñ$Ø!%€K�˜#”Ð%Ð%Ñ%à Ð˜Ð Ð Ñ Ø$'Ð˜cÐ'Ð'Ñ'ð:  t¨S°$Ô2JÐ'JÔ!Kð :ð :ð :ð :ð1Gð 1Gð 1Gðfð ð ð4Y #ð Y°ð Y¸Cð YÐQUÐVYÐ[^ÐV^ÔQ_ð YÐgjð YÐosð Yð Yð Yð Yð6D˜3ð Dð Dð Dð Dð3˜hð 3¨4ð 3ð 3ð 3ð 3ð-˜Xð -¨$ð -ð -ð -ð -ðN2¨cð N2°dð N2ð N2ð N2ð N2ð N2ð N2r   r‰   )'Útypingr   r   r   r   r�   Útriton._C.libtritonr   rË   r   rC   r	   rÍ   r
   rÌ   r   r˜   Útriton._C.libprotonrÑ   Útriton.compilerr   Útriton.runtime._allocationr   r   Útriton.backendsr   Úhookr   r   rZ   r   rÿ   r   r6   rE   rl   r~   r‡   r‰   r4   r   r   ú<module>r     só  ðØ -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -à €€€Ø /Ð /Ð /Ð /Ð /Ð /Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø $Ð $Ð $Ð $Ð $Ð $Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ $Ð $Ð $Ð $Ð $Ð $à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð €ðð ð ð ð ñ ô ð ð.)ð )ð )ð )ð )ñ )ô )ð )ð&36˜e C¨Ô)AÐ$AÔBð 36ÀtÔG_ð 36ð 36ð 36ð 36ðl>˜3ð >ð >ð >ð >ð\2ð \2ð \2ð \2ð \2˜$ñ \2ô \2ð \2ð \2ð \2r   