ó
    „ñ:i¦+  ã                   ój  • S SK JrJrJrJrJrJrJr  S SKJ	r	  S SK
Jr  S SKJrJr  S SKJrJr  S SKJr  SS jrSS	 jr " S
 S\	R,                  5      r " S S\	R,                  5      r " S S\5      r " S S\5      r " S S\5      r\	R8                  \\" \5      /\	R:                  R<                  l        \	R@                  \	R:                  R<                  l!        \	R8                  \\\" \5      /\	R:                  RD                  l        \	R@                  \	R:                  RD                  l!        \	R@                  /\	R:                  RF                  l        \	R@                  \" \5      /\	R:                  RH                  l        \	R@                  \" \5      \" \5      /\	R:                  RJ                  l        \	R@                  \/\	R:                  RL                  l        \	RN                  \	R:                  RL                  l!        \	R@                  \" \5      /\	R:                  RP                  l        \\	R:                  RP                  l!        \	R@                  \" \5      /\	R:                  RR                  l        \	R@                  \/\	R:                  RT                  l        \	R@                  \" \5      /\	R:                  RV                  l        \	R@                  \/\	R:                  RX                  l        \	R@                  \/\	R:                  RZ                  l        \	RN                  \	R:                  RZ                  l!        \	R@                  \/\	R:                  R\                  l        \	R^                  \	R:                  R\                  l!        \	R@                  /\	R:                  R`                  l        \	Rb                  \	R:                  R`                  l!        \	Rb                  /\	R:                  Rd                  l        \	Rb                  /\	R:                  Rf                  l        \	RN                  \	R:                  Rf                  l!        \	R@                  /\	R:                  Rh                  l        \	Rj                  \	R:                  Rh                  l!        \	R@                  /\	R:                  Rl                  l        \	Rn                  \	R:                  Rl                  l!        \	Rj                  /\	R:                  Rp                  l        \	Rn                  /\	R:                  Rr                  l        \	Rj                  /\	R:                  Rt                  l        \	RN                  \	R:                  Rt                  l!        \	Rn                  /\	R:                  Rv                  l        \	R^                  \	R:                  Rv                  l!        \	R@                  /\	R:                  Rx                  l        \	R@                  \	R:                  Rx                  l!        \	R@                  /\	R:                  Rz                  l        \\	R:                  Rz                  l!        \	R@                  \/\	R:                  R|                  l        \	R@                  /\	R:                  R~                  l        \\	R:                  R~                  l!        g)é    )Úc_char_pÚbyrefÚPOINTERÚc_boolÚcreate_string_bufferÚc_size_tÚ	string_at)Úffi)Úlink_modules)Ú_decode_stringÚ_encode_string)ÚValueRefÚTypeRef)Úget_global_contextNc                 ód  • Uc
  [        5       n[        U 5      n [        U 5      n[        R                  " 5        n[        [        R                  R                  XU5      U5      nU(       a*  UR                  5         [        SR                  U5      5      e SSS5        U$ ! , (       d  f       W$ = f)z%
Create Module from a LLVM IR string
NzLLVM IR parsing error
{0})r   r   r   r
   ÚOutputStringÚ	ModuleRefÚlibÚLLVMPY_ParseAssemblyÚcloseÚRuntimeErrorÚformat)ÚllvmirÚcontextÚstrbufÚerrmsgÚmods        ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/llvmlite/binding/module.pyÚparse_assemblyr      sš   € ð �Ü$Ó&ˆÜ˜FÓ#€FÜ�fÓ€FÜ	×	Ò	Ô	˜vÜÜ�G‰G×(Ñ(¨¸&ÓAØóˆö Ø�I‰IŒKÜÐ;×BÑBÀ6ÓJÓKÐKð ÷	 
ð €J÷ 
Ô	ð €Júó   ¹AB Â 
B/c           	      ód  • Uc
  [        5       n[        U 5      n[        U 5      n[        R                  " 5        n[        [        R                  R                  XX45      U5      nU(       a*  UR                  5         [        SR                  U5      5      e SSS5        U$ ! , (       d  f       W$ = f)z7
Create Module from a LLVM *bitcode* (a bytes object).
NzLLVM bitcode parsing error
{0})r   r   Úlenr
   r   r   r   ÚLLVMPY_ParseBitcoder   r   r   )Úbitcoder   ÚbufÚbufsizer   r   s         r   Úparse_bitcoder'      sŸ   € ð �Ü$Ó&ˆÜ
�7Ó
€CÜ�'‹l€GÜ	×	Ò	Ô	˜vÜœŸ™×3Ñ3Ø˜'ó+Ø,3ó5ˆæØ�I‰IŒKÜØ1×8Ñ8¸Ó@óBð Bð ÷ 
ð €J÷ 
Ô	ð €Júr    c                   óB  ^ • \ rS rSrSrU 4S jrS rS rS rS r	S r
S	 rS
 r\S 5       r\R                  S 5       r\S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       rSS jr\S 5       r\S 5       r\S 5       rS rSrU =r$ )r   é/   z
A reference to a LLVM module.
c                 ó8   >• [         [        U ]  U5        X l        g ©N)Úsuperr   Ú__init__Ú_context)ÚselfÚ
module_ptrr   Ú	__class__s      €r   r-   ÚModuleRef.__init__4   s   ø€ ÜŒi˜Ñ'¨
Ô3Ø�ó    c                 ó¶   • [         R                  " 5        n[         R                  R                  X5        [	        U5      sS S S 5        $ ! , (       d  f       g = fr+   )r
   r   r   ÚLLVMPY_PrintModuleToStringÚstr)r/   Úoutstrs     r   Ú__str__ÚModuleRef.__str__8   s5   € Ü×ÒÔ 6Ü�G‰G×.Ñ.¨tÔ<Ü�v“;÷  ××ús   –*A
Á

Ac                 ó„  • [        S5      n[        S5      n[        R                  R	                  U [        U5      [        U5      5        U(       d  [        e UR                  S:¼  d   e[        XR                  5      [        R                  R                  U5        $ ! [        R                  R                  U5        f = f)z6
Return the module's LLVM bitcode, as a bytes object.
Néÿÿÿÿr   )
r   r   r
   r   ÚLLVMPY_WriteBitcodeToStringr   ÚMemoryErrorÚvaluer	   ÚLLVMPY_DisposeString)r/   ÚptrÚsizes      r   Ú
as_bitcodeÚModuleRef.as_bitcode=   sƒ   € ô �t‹nˆÜ˜‹|ˆÜ�‰×+Ñ+¨D´%¸³*¼eÀD»kÔJÞÜÐð	.Ø—:‘: “?Ð"�?Ü˜S§*¡*Ó-ä�G‰G×(Ñ(¨Õ-øŒC�G‰G×(Ñ(¨Õ-ús   Á&B Â!B?c                 ó:   • U R                   R                  U 5        g r+   )Ú_capiÚLLVMPY_DisposeModule©r/   s    r   Ú_disposeÚModuleRef._disposeL   s   € Ø�
‰
×'Ñ'¨Õ-r3   c                 ó    • [         R                  R                  U [        U5      5      nU(       d  [	        U5      e[        US[        U S95      $ )zf
Get a ValueRef pointing to the function named *name*.
NameError is raised if the symbol isn't found.
Úfunction©Úmodule)r
   r   ÚLLVMPY_GetNamedFunctionr   Ú	NameErrorr   Údict©r/   ÚnameÚps      r   Úget_functionÚModuleRef.get_functionO   s@   € ô
 �G‰G×+Ñ+¨D´.ÀÓ2FÓGˆÞÜ˜D“/Ð!Ü˜˜:¤t°4Ñ'8Ó9Ð9r3   c                 ó    • [         R                  R                  U [        U5      5      nU(       d  [	        U5      e[        US[        U S95      $ )zm
Get a ValueRef pointing to the global variable named *name*.
NameError is raised if the symbol isn't found.
ÚglobalrL   )r
   r   ÚLLVMPY_GetNamedGlobalVariabler   rO   r   rP   rQ   s      r   Úget_global_variableÚModuleRef.get_global_variableY   s@   € ô
 �G‰G×1Ñ1°$¼ÀtÓ8LÓMˆÞÜ˜D“/Ð!Ü˜˜8¤T°Ñ%6Ó7Ð7r3   c                 óŽ   • [         R                  R                  U [        U5      5      nU(       d  [	        U5      e[        U5      $ )zn
Get a TypeRef pointing to a structure type named *name*.
NameError is raised if the struct type isn't found.
)r
   r   ÚLLVMPY_GetNamedStructTyper   rO   r   rQ   s      r   Úget_struct_typeÚModuleRef.get_struct_typec   s6   € ô
 �G‰G×-Ñ-¨d´NÀ4Ó4HÓIˆÞÜ˜D“/Ð!Ü�q‹zÐr3   c                 óÔ   • [         R                  " 5        n[         R                  R                  X5      (       a  [	        [        U5      5      e SSS5        g! , (       d  f       g= f)zG
Verify the module IR's correctness.  RuntimeError is raised on error.
N)r
   r   r   ÚLLVMPY_VerifyModuler   r6   ©r/   Úoutmsgs     r   ÚverifyÚModuleRef.verifym   sG   € ô ×ÒÔ 6Ü�w‰w×*Ñ*¨4×8Ñ8Ü"¤3 v£;Ó/Ð/ð 9÷  ×Öús   –9AÁ
A'c                 óR   • [        [        R                  R                  U 5      5      $ )z
The module's identifier.
)r   r
   r   ÚLLVMPY_GetModuleNamerG   s    r   rR   ÚModuleRef.nameu   s   € ô
 œcŸg™g×:Ñ:¸4Ó@ÓAÐAr3   c                 óV   • [         R                  R                  U [        U5      5        g r+   )r
   r   ÚLLVMPY_SetModuleNamer   )r/   r>   s     r   rR   rg   |   s   € ä�‰×$Ñ$ T¬>¸%Ó+@ÕAr3   c                 óR   • [        [        R                  R                  U 5      5      $ )z(
The module's original source file name
)r   r
   r   ÚLLVMPY_GetModuleSourceFileNamerG   s    r   Úsource_fileÚModuleRef.source_file€   s   € ô
 œcŸg™g×DÑDÀTÓJÓKÐKr3   c                 ó´   • [         R                  " SS9 n[         R                  R                  X5        [	        U5      sSSS5        $ ! , (       d  f       g= f)z7
This module's data layout specification, as a string.
F©ÚownedN)r
   r   r   ÚLLVMPY_GetDataLayoutr6   ra   s     r   Údata_layoutÚModuleRef.data_layout‡   s9   € ô ×Ò EÒ*¨fÜ�G‰G×(Ñ(¨Ô6Ü�v“;÷ +×*×*úó   •*A	Á	
Ac                 ót   • [         R                  R                  U [        UR	                  S5      5      5        g ©NÚutf8)r
   r   ÚLLVMPY_SetDataLayoutr   Úencode©r/   Ústrreps     r   rr   rs   ‘   s,   € ä�‰×$Ñ$ TÜ%9Ø)/¯©°vÓ)>ó&@õ	Ar3   c                 ó´   • [         R                  " SS9 n[         R                  R                  X5        [	        U5      sSSS5        $ ! , (       d  f       g= f)z;
This module's target "triple" specification, as a string.
Fro   N)r
   r   r   ÚLLVMPY_GetTargetr6   ra   s     r   ÚtripleÚModuleRef.triple—   s9   € ô ×Ò EÒ*¨fÜ�G‰G×$Ñ$ TÔ2Ü�v“;÷ +×*×*úrt   c                 ót   • [         R                  R                  U [        UR	                  S5      5      5        g rv   )r
   r   ÚLLVMPY_SetTargetr   ry   rz   s     r   r~   r   ¡   s*   € ä�‰× Ñ  Ü!5Ø%+§]¡]°6Ó%:ó"<õ	=r3   c                 óH   • U(       a  UR                  5       n[        X5        g)zi
Link the *other* module into this one.  The *other* module will
be destroyed unless *preserve* is true.
N)Úcloner   )r/   ÚotherÚpreserves      r   Úlink_inÚModuleRef.link_in§   s   € ö
 Ø—K‘K“MˆEÜ�TÕ!r3   c                 óf   • [         R                  R                  U 5      n[        U[	        U S95      $ )zù
Return an iterator over this module's global variables.
The iterator will yield a ValueRef for each global variable.

Note that global variables don't include functions
(a function is a "global value" but not a "global variable" in
 LLVM parlance)
rL   )r
   r   ÚLLVMPY_ModuleGlobalsIterÚ_GlobalsIteratorrP   ©r/   Úits     r   Úglobal_variablesÚModuleRef.global_variables°   s*   € ô �W‰W×-Ñ-¨dÓ3ˆÜ ¤D°Ñ$5Ó6Ð6r3   c                 óf   • [         R                  R                  U 5      n[        U[	        U S95      $ )zh
Return an iterator over this module's functions.
The iterator will yield a ValueRef for each function.
rL   )r
   r   ÚLLVMPY_ModuleFunctionsIterÚ_FunctionsIteratorrP   r‹   s     r   Ú	functionsÚModuleRef.functions½   s*   € ô �W‰W×/Ñ/°Ó5ˆÜ! "¤d°$Ñ&7Ó8Ð8r3   c                 óf   • [         R                  R                  U 5      n[        U[	        U S95      $ )zd
Return an iterator over the struct types defined in
the module. The iterator will yield a TypeRef.
rL   )r
   r   ÚLLVMPY_ModuleTypesIterÚ_TypesIteratorrP   r‹   s     r   Ústruct_typesÚModuleRef.struct_typesÆ   s*   € ô �W‰W×+Ñ+¨DÓ1ˆÜ˜b¤$¨dÑ"3Ó4Ð4r3   c                 óh   • [        [        R                  R                  U 5      U R                  5      $ r+   )r   r
   r   ÚLLVMPY_CloneModuler.   rG   s    r   rƒ   ÚModuleRef.cloneÏ   s"   € ÜœŸ™×3Ñ3°DÓ9¸4¿=¹=ÓIÐIr3   )r.   )F)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r-   r8   rB   rH   rT   rY   r]   rc   ÚpropertyrR   Úsetterrl   rr   r~   r†   r�   r’   r—   rƒ   Ú__static_attributes__Ú__classcell__)r1   s   @r   r   r   /   s  ø† ñõ òò
.ò.ò:ò8òò0ð ñBó ðBð 
‡[�[ñBó ðBð ñLó ðLð ñó ðð ×ÑñAó ðAð
 ñó ðð ‡]�]ñ=ó ð=ô
"ð ñ
7ó ð
7ð ñ9ó ð9ð ñ5ó ð5÷Jð Jr3   r   c                   ó.   • \ rS rSrSrS rS r\rS rSr	g)Ú	_IteratoréÓ   Nc                 ól   • [         R                  R                  X5        X l        U R                  c   eg r+   )r
   Ú	ObjectRefr-   Ú_parentsÚkind)r/   r@   Úparentss      r   r-   Ú_Iterator.__init__×   s)   € Ü�‰×Ñ˜tÔ)ØŒØ�y‰yÑ$Ð$Ñ$r3   c                 ó|   • U R                  5       nU(       a   [        XR                  U R                  5      $ [        er+   )Ú_nextr   r«   rª   ÚStopIteration©r/   Úvps     r   Ú__next__Ú_Iterator.__next__Ü   s+   € Ø�Z‰Z‹\ˆÞÜ˜B§	¡	¨4¯=©=Ó9Ð9äÐr3   c                 ó   • U $ r+   © rG   s    r   Ú__iter__Ú_Iterator.__iter__å   s   € Øˆr3   )rª   )
rœ   r�   rž   rŸ   r«   r-   r³   Únextr·   r£   r¶   r3   r   r¦   r¦   Ó   s   † à€Dò%ò
 ð €Dõr3   r¦   c                   ó$   • \ rS rSrSrS rS rSrg)rŠ   éé   rW   c                 ó:   • U R                   R                  U 5        g r+   )rE   ÚLLVMPY_DisposeGlobalsIterrG   s    r   rH   Ú_GlobalsIterator._disposeí   s   € Ø�
‰
×,Ñ,¨TÕ2r3   c                 ó@   • [         R                  R                  U 5      $ r+   )r
   r   ÚLLVMPY_GlobalsIterNextrG   s    r   r¯   Ú_GlobalsIterator._nextð   s   € Ü�w‰w×-Ñ-¨dÓ3Ð3r3   r¶   N©rœ   r�   rž   rŸ   r«   rH   r¯   r£   r¶   r3   r   rŠ   rŠ   é   s   † à€Dò3õ4r3   rŠ   c                   ó$   • \ rS rSrSrS rS rSrg)r‘   éô   rK   c                 ó:   • U R                   R                  U 5        g r+   )rE   ÚLLVMPY_DisposeFunctionsIterrG   s    r   rH   Ú_FunctionsIterator._disposeø   s   € Ø�
‰
×.Ñ.¨tÕ4r3   c                 ó@   • [         R                  R                  U 5      $ r+   )r
   r   ÚLLVMPY_FunctionsIterNextrG   s    r   r¯   Ú_FunctionsIterator._nextû   s   € Ü�w‰w×/Ñ/°Ó5Ð5r3   r¶   NrÂ   r¶   r3   r   r‘   r‘   ô   s   † à€Dò5õ6r3   r‘   c                   ó.   • \ rS rSrSrS rS rS r\rSr	g)r–   éÿ   Útypec                 ó:   • U R                   R                  U 5        g r+   )rE   ÚLLVMPY_DisposeTypesIterrG   s    r   rH   Ú_TypesIterator._dispose  s   € Ø�
‰
×*Ñ*¨4Õ0r3   c                 óR   • U R                  5       nU(       a  [        U5      $ [        er+   )r¯   r   r°   r±   s     r   r³   Ú_TypesIterator.__next__  s    € Ø�Z‰Z‹\ˆÞÜ˜2“;ÐäÐr3   c                 ó@   • [         R                  R                  U 5      $ r+   )r
   r   ÚLLVMPY_TypesIterNextrG   s    r   r¯   Ú_TypesIterator._next  s   € Ü�w‰w×+Ñ+¨DÓ1Ð1r3   r¶   N)
rœ   r�   rž   rŸ   r«   rH   r³   r¯   r¹   r£   r¶   r3   r   r–   r–   ÿ   s   † à€Dò1ò ò2ð ƒDr3   r–   r+   )@Úctypesr   r   r   r   r   r   r	   Úllvmlite.bindingr
   Úllvmlite.binding.linkerr   Úllvmlite.binding.commonr   r   Úllvmlite.binding.valuer   r   Úllvmlite.binding.contextr   r   r'   r©   r   r¦   rŠ   r‘   r–   ÚLLVMContextRefr   r   ÚargtypesÚLLVMModuleRefÚrestyper#   rF   r5   r<   rN   ÚLLVMValueRefr`   rq   rx   r}   r�   rX   r\   ÚLLVMTypeRefr‰   ÚLLVMGlobalsIteratorr½   rÀ   r�   ÚLLVMFunctionsIteratorr•   ÚLLVMTypesIteratorrÆ   rÏ   rÉ   rÔ   rš   rf   ri   rk   r¶   r3   r   Ú<module>rå      sñ  ð÷)÷ )ñ )õ !Ý 0ß Bß 4Ý 7ôô$ô$aJ�—‘ô aJôH�—‘ô ô,4�yô 4ô6˜ô 6ô�Yô ð. *-×);Ñ);Ø)1Ù)0°Ó):ð)<€‡�× Ñ Ô %ð (+×'8Ñ'8€‡�× Ñ Ô $à(+×(:Ñ(:Ø(0°(Ù(/°Ó(9ð(;€‡�× Ñ Ô $ð '*×&7Ñ&7€‡�× Ñ Ô #à),×):Ñ):Ð(;€‡�× Ñ Ô %à/2×/@Ñ/@Ù/6°xÓ/@ð/B€‡�× "Ñ "Ô +à03×0AÑ0AÙ07¸Ó0AÙ07¸Ó0Að0C€‡�× #Ñ #Ô ,ð -0×,=Ñ,=Ø,4ð,6€‡�× Ñ Ô (à*-×*:Ñ*:€‡�× Ñ Ô 'à(+×(9Ñ(9Ù(/°Ó(9ð(;€‡�× Ñ Ô $à&,€‡�× Ñ Ô #à),×):Ñ):¹GÀHÓ<MÐ(N€‡�× Ñ Ô %Ø),×):Ñ):¸HÐ(E€‡�× Ñ Ô %à%(×%6Ñ%6¹ÀÓ8IÐ$J€‡�× Ñ Ô !Ø%(×%6Ñ%6¸Ð$A€‡�× Ñ Ô !à25×2CÑ2CÀXÐ1N€‡�× %Ñ %Ô .Ø03×0@Ñ0@€‡�× %Ñ %Ô -à.1×.?Ñ.?ÀÐ-J€‡�× !Ñ !Ô *Ø,/¯O©O€‡�× !Ñ !Ô )à-0×->Ñ->Ð,?€‡�×  Ñ  Ô )Ø+.×+BÑ+B€‡�×  Ñ  Ô (à.1×.EÑ.EÐ-F€‡�× !Ñ !Ô *à+.×+BÑ+BÐ*C€‡�× Ñ Ô 'Ø),×)9Ñ)9€‡�× Ñ Ô &à/2×/@Ñ/@Ð.A€‡�× "Ñ "Ô +Ø-0×-FÑ-F€‡�× "Ñ "Ô *à+.×+<Ñ+<Ð*=€‡�× Ñ Ô 'Ø),×)>Ñ)>€‡�× Ñ Ô &à03×0IÑ0IÐ/J€‡�× #Ñ #Ô ,à,/×,AÑ,AÐ+B€‡�× Ñ Ô (à-0×-FÑ-FÐ,G€‡�×  Ñ  Ô )Ø+.×+;Ñ+;€‡�×  Ñ  Ô (à),×)>Ñ)>Ð(?€‡�× Ñ Ô %Ø'*§¡€‡�× Ñ Ô $à'*×'8Ñ'8Ð&9€‡�× Ñ Ô #Ø%(×%6Ñ%6€‡�× Ñ Ô "à),×):Ñ):Ð(;€‡�× Ñ Ô %Ø'/€‡�× Ñ Ô $à),×):Ñ):¸HÐ(E€‡�× Ñ Ô %à36×3DÑ3DÐ2E€‡�× &Ñ &Ô /Ø19€‡�× &Ñ &Õ .r3   