Ë
    �\;j‘  ã                   ó2   — d dl mZ d dlZ G d„ d«      Zd„ Zy)é    ©ÚwrapsNc                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚIrGuardc                 ó  — d| _         t        j                  j                  j	                  d«      }t        j                  j                  j                  ddi«       dt        j                  j                  j                  _        t        j                  j                  j	                  d«      d   s}t        j                  j                  | _
        t        j                  j                  | _        t        j                  j                  | _        t        j                  j                  | _        nt#        d«      ‚t        j                  j                  j                  |«       |d   t        j                  j                  j                  _        y )NFÚFLAGS_enable_pir_apizxIrGuard only init when paddle.framework.in_pir_mode(): is false,                 please set FLAGS_enable_pir_api = false)Úin_dygraph_outsideÚpaddleÚbaseÚ	frameworkÚ	get_flagsÚ	set_flagsÚ
global_varÚ_use_pir_api_ÚstaticÚProgramÚold_ProgramÚprogram_guardÚold_program_guardÚdefault_main_programÚold_default_main_programÚdefault_startup_programÚold_default_startup_programÚRuntimeError)ÚselfÚold_flags     úYG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddle/pir_utils.pyÚ__init__zIrGuard.__init__   s  € Ø"'ˆÔÜ—;‘;×(Ñ(×2Ñ2Ð3IÓJˆÜ�‰×Ñ×'Ñ'Ð)?ÀÐ(GÔHØ9>Œ�‰×Ñ×(Ñ(Ô6Ü�{‰{×$Ñ$×.Ñ.Ð/EÓFØ"ò
ô  &Ÿ}™}×4Ñ4ˆDÔÜ%+§[¡[×%>Ñ%>ˆDÔ"Ü,2¯M©M×,NÑ,NˆDÔ)ä—‘×5Ñ5ð Õ,ô ð9óð ô 	�‰×Ñ×'Ñ'¨Ô1Ø9AØ"ñ:
Œ�‰×Ñ×(Ñ(Õ6ó    c                 óR  — t         j                  j                  j                  «       | _        | j                  rt        j
                  «        t         j                  j                  ddi«       dt         j                  j                  j                  _        | j                  «        y )Nr   T)
r
   r   r   Úin_dygraph_moder	   Úenable_staticr   r   r   Ú_switch_to_pir©r   s    r   Ú	__enter__zIrGuard.__enter__.   sp   € Ü"(§+¡+×"7Ñ"7×"GÑ"GÓ"IˆÔØ×"Ò"Ü× Ñ Ô"Ü×Ñ×"Ñ"Ð$:¸DÐ#AÔBØ9=Œ�‰×Ñ×(Ñ(Ô6Ø×ÑÕr   c                 óú   — t         j                  j                  ddi«       dt         j                  j                  j                  _        | j                  «        | j                  rt        j                  «        y y )Nr   F)	r
   r   r   r   r   r   Ú_switch_to_old_irr	   Údisable_static)r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zIrGuard.__exit__6   sZ   € Ü×Ñ×"Ñ"Ð$:¸EÐ#BÔCØ9>Œ�‰×Ñ×(Ñ(Ô6Ø×ÑÔ Ø×"Ò"Ü×!Ñ!Õ#ð #r   c                 óJ  — t         j                  j                  j                  d«      d   �rvt         j                  j	                  ddi«       t         j
                  j                  «        t         j
                  j                  t         j                  _        t         j
                  j                  j                  t         j                  _	        t         j
                  j                  t         j                  _        t         j
                  j                  j                  t         j                  _	        t         j
                  j                  j                  t         j                  _        t         j
                  j                  j                  t         j                  _        y y )Nr   ÚFLAGS_enable_pir_in_executorT)r
   r   r   r   r   ÚpirÚregister_paddle_dialectr   Úcorer   r   r   r   r$   s    r   r#   zIrGuard._switch_to_pir=   sò   € Ü�;‰;× Ñ ×*Ñ*Ð+AÓBØ"ó
ô ×Ñ×&Ñ&Ð(FÈÐ'MÔNÜ�J‰J×.Ñ.Ô0ä"(§*¡*×"4Ñ"4ŒF�K‰KÔÜ(.¯
©
¯©×(EÑ(EŒF�K‰KÔ%ô %+§J¡J×$6Ñ$6ŒF�M‰MÔ!Ü*0¯*©*¯/©/×*GÑ*GŒF�M‰MÔ'ä—
‘
—‘×4Ñ4ô �M‰MÔ.ô —
‘
—‘×7Ñ7ô �M‰MÕ1ð'
r   c                 ó(  — t         j                  j                  j                  d«      d   sÜt         j                  j	                  ddi«       | j
                  t         j                  _        | j                  t         j                  _        | j
                  t         j                  _        | j                  t         j                  _        | j                  t         j                  _        | j                  t         j                  _        y t        d«      ‚)Nr   r.   Fz‰IrGuard._switch_to_old_ir only work when paddle.framework.in_pir_mode() is false,                 please set FLAGS_enable_pir_api = false)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r$   s    r   r'   zIrGuard._switch_to_old_irU   sÄ   € Ü�{‰{×$Ñ$×.Ñ.Ð/EÓFØ"ò
ô ×Ñ×&Ñ&Ð(FÈÐ'NÔOà"&×"2Ñ"2ŒF�K‰KÔØ(,×(>Ñ(>ŒF�K‰KÔ%ð
 %)×$4Ñ$4ŒF�M‰MÔ!Ø*.×*@Ñ*@ŒF�M‰MÔ'Ø15×1NÑ1NŒF�M‰MÔ.à×0Ñ0ô �M‰MÕ1ô ð9óð r   N)Ú__name__Ú
__module__Ú__qualname__r   r%   r,   r#   r'   © r   r   r   r      s   „ ò
ò0ò$òó0r   r   c                 ó.   ‡ — t        ‰ «      ˆ fd„«       }|S )Nc                  ód   •—  ‰| i |¤Ž t        «       5   ‰| i |¤Ž d d d «       y # 1 sw Y   y xY w)N)r   )ÚargsÚkwargsÚfuncs     €r   Úimplztest_with_pir_api.<locals>.implo   s,   ø€ áˆdÐ�fÒÜ�YÙ�$Ð!˜&Ò!÷ �Y‰Yús   ”	&¦/r   )r;   r<   s   ` r   Útest_with_pir_apir=   n   s    ø€ Ü
ˆ4ƒ[ó"ó ð"ð
 €Kr   )Ú	functoolsr   r
   r   r=   r6   r   r   Ú<module>r?      s   ðõ  ã ÷Vñ Vórr   