
    Vh                       d dl mZ d dlZd dlZd dlZi ddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(Z ej                  d)      Z ej                  d*      Z ej                  d+      Z	d,Z
d-Zd.Ze
ez  Ze
ej                  z  Ze
ez  ej                  z  Zd/ZeZeZd0 Zd1 Zd2 Zd3 Zy)4    )annotationsNAnoatimeaappendc
compressedCnocowdnodumpDdirsynceextentsE	encryptedh	blocksizei	immutableIindexedj
journalledNinlineszeroSsynchronoustnotailT	blockrootundeletecompressedrawcompresseddirty)uXZz[+=-]z[^ugo]z[^rwxXstugo]i$     I   i  c                    t         j                  t         j                  z  t         j                  z  t	        j                   |       t         j
                     z  S )a>  is_executable(path)

    is the given path executable?

    :arg path: The path of the file to check.

    Limitations:

    * Does not account for FSACLs.
    * Most times we really want to know "Can the current user execute this
      file".  This function does not tell us that, only if any execute bit is set.
    )statS_IXUSRS_IXGRPS_IXOTHosST_MODE)paths    P/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/common/file.pyis_executabler7   4   s6    * \\DLL(4<<72774=;VVW    c                f    | D cg c]   }|t         v st         j                  |      " }}|S c c}w )N)FILE_ATTRIBUTESget)
attributesattrattribute_lists      r6   format_attributesr?   L   s4    <FbD$RaJao))$/bNb cs   ..c                    t         j                         D cg c]  \  }}|| v s| }}}dj                  |      S c c}}w )N )r:   itemsjoin)r<   keyr=   flagss       r6   get_flags_from_attributesrF   Q   s=    "1"7"7"9PYS$TZ=OSPEP775> Qs   ==c                     t        t        d      t               t               t               t               t               t               t        dg            } | S )Nraw)typer=   )aliases)modeownergroupseuserseroleselevelsetyper<   )dict)arg_specs    r6   get_file_arg_specrT   V   sC    uffvvv)	H Or8   )
__future__r   r3   r/   rer:   compileMODE_OPERATOR_REUSERS_REPERMS_RES_IRANYS_IWANYS_IXANYS_IRWU_RWG_RWOS_IWUSRS_IRWU_RG_ROS_IRWXU_RXG_RXO
_PERM_BITS_EXEC_PERM_BITS_DEFAULT_PERMr7   r?   rF   rT    r8   r6   <module>rf      s   # 	  	  	
             !" #$ 
		)2 2::h' 2::i 2::o& 

7"%G#dll2
X0

r8   