
    3j&                     B   S SK r S SKrSSKJr  \R                  r\b  \ R
                  /\R                  l        \ R                  \R                  l	        \ R                  /\R                  l        \ R                  \R                  l	        \ R                  /\R                  l        \ R                  \R                  l	        \ R                  /\R                  l        \ R                  \R                  l	        \ R                  /\R                  l         " S S5      rg)    N   )controlc                   2    \ rS rSrS rS rS rS rS rSr	g)		ModelMMAP   c                 n   [         c  [        S5      e[        R                  " U5      n[	        U[
        5      (       a  UnO<[        R                  S:X  a  UR                  S5      nO[        R                  " U5      n[         R                  U5      U l
        U R                  (       d  [        SU 35      eg )Nzcomfy-aimdo is not initializedntzutf-8z ModelMMAP allocation failed for )libRuntimeErrorosfspath
isinstancebytesnameencodefsencodemodel_mmap_allocatestate)selffilepathnormalized_pathfilepath_bytess       P/home/wildlama/miniconda3/lib/python3.13/site-packages/comfy_aimdo/model_mmap.py__init__ModelMMAP.__init__   s    ;?@@))H-ou--,NWW_,33G<N[[9N,,^<
zz!A(LMM     c                 @    [         R                  U R                  5      $ N)r
   model_mmap_getr   r   s    r   getModelMMAP.get)   s    !!$**--r   c                 R    [        [        R                  U R                  5      5      $ r   )intr
   model_mmap_get_file_handler   r    s    r   get_file_handleModelMMAP.get_file_handle,   s    311$**=>>r   c                 R    [        [        R                  U R                  5      5      $ r   )boolr
   model_mmap_bouncer   r    s    r   bounceModelMMAP.bounce/   s    C))$**566r   c                 X    [        U SS 5      nU(       a  [        R                  U5        g g )Nr   )getattrr
   model_mmap_deallocate)r   r   s     r   __del__ModelMMAP.__del__2   s&    gt,%%e, r   )r   N)
__name__
__module____qualname____firstlineno__r   r!   r&   r+   r0   __static_attributes__ r   r   r   r      s    N .?7-r   r   )ctypesr    r   r
   c_char_pr   argtypesc_void_prestyper   r%   c_uint64r*   c_boolr/   r   r7   r   r   <module>r@      s     	 kk?(.'8C$&,ooC##)??"3C!'C/5.?C""+-3__C""*&,oo%6C"$*MMC!*0//):C&- -r   