
    	Vfn                     F   d dl mZ d dlZd dlZej                  j                  ej                  j                  d            Zej                  j                  ej                  j                  d            Z	ej                  Zej                  Zeej                  _        eej                   _        eej"                  _        eegej"                  _        ej"                  Zd Zd Zd ZdZd	Zd
ZdZdez  Zee z  ZdZdZddZd Z da!d Z"d Z#d Z$eedfd       Z%g dZ&y)    )contextmanagerNobjc
Foundationc                 H    t        | t              s| j                  d      } | S )zensure utf8 bytesutf8)
isinstancebytesencode)ss    V/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/appnope/_nope.py_utf8r      s    aHHVH    c                 >    t         j                  t        |             S )z$create a selector name (for methods))r   sel_registerNamer   )names    r   nr   !   s      t--r   c                 Z    t         j                  t        |             }|
J d| z         |S )zget an ObjC Class by namezCouldn't find Class %s)r   objc_getClassr   )	classnamerets     r   Cr   &   s1    


U9-
.C?@4y@@?Jr   l        i   i @  i   i    l       c                    t        d      }t        d      }t        t        t        gt        j                  _        t        |t        d      t        |            }t        t        gt        j                  _        t        |t        d            }t        t        t        t        gt        j                  _        t        |t        d      t        |       t        |            }|S )zWrapper for:

    [ [ NSProcessInfo processInfo]
        beginActivityWithOptions: (uint64)options
                          reason: (str)reason
    ]
    NSProcessInfoNSStringzstringWithUTF8String:processInfoz beginActivityWithOptions:reason:)	r   void_pr   objc_msgSendargtypesmsgr   r   ull)optionsreasonr   r   infoactivitys         r   beginActivityWithOptionsr&   ;   s     o&M}H"(&&!9D145uV}EF"(&!1D}a./D"(&#v!>Da23S\6&>H Or   c                    t        d      }t        t        gt        j                  _        t        |t        d            }t        t        t        gt        j                  _        t        |t        d      t        |              y)z end a process activity assertionr   r   zendActivity:N)r   r   r   r   r   r    r   )r%   r   r$   s      r   endActivityr(   Q   s[    o&M"(&!1D}a./D"(&&!9Da!12r   c                  $    t        t        d      ay)zIdisable App Nap by setting NSActivityUserInitiatedAllowingIdleSystemSleepBecause ReasonsN)r&   .NSActivityUserInitiatedAllowingIdleSystemSleep_theactivity r   r   noper.   ]   s     ,68ILr   c                  4    t         t        t                da yy)z+end the caffeinated state started by `nope`N)r,   r(   r-   r   r   napr0   e   s     L!  r   c                      t         du S )zis napping allowed?N)r,   r-   r   r   napping_allowedr2   m   s    4r   r*   c              #   d   K   t        | |      }	 d t        |       y# t        |       w xY ww)zfcontext manager for beginActivityWithOptions.

    Within this context, App Nap will be disabled.
    N)r&   r(   )r"   r#   r%   s      r   
nope_scoper4   r   s,      (8HHHs   0  0-0)"NSActivityIdleDisplaySleepDisabled!NSActivityIdleSystemSleepDisabled#NSActivitySuddenTerminationDisabled&NSActivityAutomaticTerminationDisabledNSActivityUserInitiatedr+   NSActivityBackgroundNSActivityLatencyCriticalr&   r(   r.   r0   r2   r4   ) )'
contextlibr   ctypesctypes.utilcdllLoadLibraryutilfind_libraryr   _c_void_pr   c_uint64r!   r   restyper   r   r   r    r   r   r   r5   r6   r7   r8   r9   r+   r:   r;   r&   r(   r,   r.   r0   r2   r4   __all__r-   r   r   <module>rI      sE   &  {{v{{77?@
KKFKK44\BC	oo#    &   "   $f-   
.
 &- "$+ !&- #)0 &$'HH @@@ / " ( ,3  
 :CT r   