+
    ,i  c                   s    ^ RI t ^ RIt^RIHt ^RIHtHtHt ]P                  ! R4      t	]P                  '       d   ^ RIHt ^RIHt  ! R R]]	,          4      t ! R	 R
]]	,          4      t ! R R]4      tR# )i    N)InvalidCheckValue)CriteriaDescriptorCriteriaSetDescriptorCriteriaPermissionSetDescriptorT)Callable)CheckerModulec                   sZ   a a ] tR t^t oRtV3R lV 3R lltV3R lV 3R lltRtVtV ;t	# )ConfigDescriptora5  
Single item configuration option descriptor.

Parameter:
lookup_function The name of the SELinuxPolicy lookup function,
                e.g. lookup_type or lookup_boolean.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
policy          The instance of SELinuxPolicy
c                s"   < V ^8  d   QhRRRR/# )   lookup_functionCallable | strreturnN Zformat__classdict__   "B/usr/lib64/python3.14/site-packages/setools/checker/descriptors.py__annotate__ConfigDescriptor.__annotate__!   s     : :(8 :T :    c                s(   < \         SV `  VR 7       R# ))r	   N)super__init__)selfr	   	__class__s   &&r   r   ZConfigDescriptor.__init__!   s    9r   c                6   < V ^8  d   QhRRRS[ R,          RR/# r   objr   valueNr   Zstrr   r   r   r   r   $   +     S S? S3: S$ Sr   c                s   < V'       g   \        WP                  R 4       R #  \        SV `  WP	                  4       4       R #   \
         d.   p\        TP                   RT P                   RT 24      ThR p?ii ; i)N
: Invalid 
 setting: )setattrnamer   __set__Zstrip
ValueErrorr    	checknamer   r   r   Zexr      &&& r   r"   ZConfigDescriptor.__set__$   sl    CD)S[[]3 S'}}oZ		{*RDIKPRSSs   A A:(A55A:r   
Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r"   Z__static_attributes__Z__classdictcell__Z__classcell__r   r      @@r   r   r      s&     
: :S S Sr   r   c                   sX   a a ] tR t^/t oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )ConfigSetDescriptora  
Descriptor for a configuration option set.

Parameter:
lookup_function The name of the SELinuxPolicy lookup function,
                e.g. lookup_type or lookup_boolean.

Keyword Parameters:
strict          (Bool) If True, all objects must exist in the policy
                when setting the value.  If False, any objects that
                fail the policy lookup will be dropped instead of raising
                an exception.  The default is True.
expand          (Bool) If True, each object will be expanded.  Default
                is False.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
log             A logger instance.
policy          The instance of SELinuxPolicy
c                s.   < V ^8  d   QhRRRS[ RS[ RR/# )r   r	   r
   strictexpandr   N)Zboolr   r   r   r    ConfigSetDescriptor.__annotate__F   s,      (8 $ *.r   c                sj   < \         SV `  V\        \        ,          ! 4       R 7       W n        W0n        R# ))r	   default_valueN)r   r   	frozensetr   r+   r,   )r   r	   r+   r,   r   s   &&&&r   r   ZConfigSetDescriptor.__init__F   s(     		RSWr   c                r   r   r   r   r   r   r   r-   M   s&     4 4? 43: 4$ 4r   c           	     s   V'       g-   \        WP                  \        \        ,          ! 4       4       R# VP                  p\        V P                  4      '       d   V P                  pM \        VP                  V P                  4      p\        4       pR  \        P                  ! RV4       4        FP  p V! V4      pV P                  '       d"   VP                  VP                  4       4       K?  VP                  V4       KR  	  \        WP                  \        V4      4       R#   \         d   pT P                   '       d]   TP#                  RT P                   RT 24       TP%                  RRR7       \'        TP(                   RT P                   RT 24      ThTP+                  TP(                   RT P                   RT 24        Rp?EK"  Rp?ii ; i)	c              3   8   "   T F  q'       g   K  Vx  K  	  R # 5iNr   ).0Zi   & r   	<genexpr>Z.ConfigSetDescriptor.__set__.<locals>.<genexpr>Y   s     @$:qa$:   	
z\szInvalid z item: z
Traceback:T)Zexc_infor   N)r    r!   r/   r   logZcallabler	   ZgetattrZpolicyZsetresplitr,   ZupdateZaddr#   r+   ZerrorZdebugr    r$   Zinfo)	r   r   r   r6   ZlookupZretZitemZoZes	   &&&      r   r"   ZConfigSetDescriptor.__set__M   se   CIaLN3''C,,---- !T-A-AB%C@BHHUE$:@P!$<A{{{ 

188:.
 A$ CIcN3 " P{{{		HTYYKwqc"BC		,	>/"}}oZ		{'!MOTUV HHj71#NOOPs   59D&0D&&G1BGG)r,   r+   )TFr'   r(   r)   r   r*   r*   /   s#     * 4 4 4r   r*   c                   sZ   a a ] tR t^nt oRtV3R lV 3R lltV3R lV 3R lltRtVtV ;t	# )ConfigPermissionSetDescriptora.  
Descriptor for a configuration permissions set.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
policy          The instance of SELinuxPolicy
tclass          If it exists, it will be used to validate the
                permissions.  See validate_perms_any()
c                s   < V ^8  d   QhRR/# )r   r   Nr   r   r   r   r   *ConfigPermissionSetDescriptor.__annotate__z   s     4 4$ 4r   c                s8   < \         SV `  \        4       R 7       R# ))r.   N)r   r   r/   )r   r   s   &r   r   Z&ConfigPermissionSetDescriptor.__init__z   s    y{3r   c                r   r   r   r   r   r   r   r:   }   r   r   c                s  < V'       g!   \        WP                  \        4       4       R#  \        SV `  VR  VP                  R4       4       4       R#   \         d.   p\        TP                   RT P                   RT 24      ThRp?ii ; i)c              3   r0   r1   r   )r2   Zvr3   r   r4   Z8ConfigPermissionSetDescriptor.__set__.<locals>.<genexpr>   s     %G1AAQaa1Ar5   Z r   r   N)	r    r!   r/   r   r"   r8   r#   r    r$   r%   r&   r   r"   Z%ConfigPermissionSetDescriptor.__set__}   sy    CIK0S%GS1A%GH S'}}oZ		{*RDIKPRSSs   &A B(BBr   r'   r(   r)   r   r9   r9   n   s&     4 4S S Sr   r9   )r7   ZtypingZ	exceptionr    Zdescriptorsr   r   r   ZTypeVarr   ZTYPE_CHECKINGZcollections.abcr   Zcheckermoduler   r   r*   r9   r   r   r   <module>r;      sr   
 
  )< < NN3	(,S)!, S8<4/2 <4~S$C Sr   