+
    ,i^  c                   s   a  R t0 t ^ RIHt ^ RIt^RIHtHtHtHt ^RI	H
t
Ht Rt] ^ k  ! R R]P                  ]P                  4      tR# )	i    )IterableN)mixins	policyrepqueryutil)CriteriaDescriptorCriteriaSetDescriptorMLSRuleQueryc                   s~  a  ] tR t^t o Rt]]P                  ,          ! ]P                  R7      t]	]P                  ,          ! RR4      tRtRt]	]P                  ,          ! RR4      tRtRt]]P"                  ,          ! RR	4      tRt]	]P(                  ,          ! R
R7      tRtRtRtRtV 3R lR ltV 3R ltRtV tR# )r   a  
Query MLS rules.

Parameter:
policy            The policy to query.

Keyword Parameters/Class attributes:
ruletype         The list of rule type(s) to match.
source           The name of the source type/attribute to match.
source_regex     If true, regular expression matching will
                 be used on the source type/attribute.
target           The name of the target type/attribute to match.
target_regex     If true, regular expression matching will
                 be used on the target type/attribute.
tclass           The object class(es) to match.
tclass_regex     If true, use a regular expression for
                 matching the rule's object class.
)Z
enum_classsource_regexZlookup_type_or_attrFTtarget_regextclass_regexZlookup_classZlookup_range)Zlookup_functionc                sD   < V ^8  d   QhRS[ S[P                  ,          /# )   Zreturn)r    r   ZMLSRuleformat__classdict__   ";/usr/lib64/python3.14/site-packages/setools/mlsrulequery.py__annotate__MLSRuleQuery.__annotate__2   s     9 9)"3"34 9    c              #  s  "   V P                   P                  RV P                   24       V P                   P                  RV P                  : 24       V P                   P                  RV P
                  : RV P                  : RV P                  : 24       V P                   P                  RV P                  : RV P                  : RV P                  : 24       V P                  V P                   4       V P                   P                  R	V P                  : R
V P                  : RV P                  : RV P                  : RV P                   : 2
4       V P                  P#                  4        EFy  pV P                  '       d   VP                  V P                  9  d   K3  V P
                  '       dJ   \$        P&                  ! VP
                  V P
                  V P                  V P                  4      '       g   K  V P                  '       dJ   \$        P&                  ! VP                  V P                  V P                  V P                  4      '       g   K  V P)                  V4      '       g   EK  V P                  '       da   \$        P*                  ! VP                  V P                  V P                  V P                  V P                  V P                   4      '       g   EKu  Vx  EK|  	  R# 5i)z.Generator which yields all matching MLS rules.z!Generating MLS rule results from zself.ruletype=zself.source=z, self.source_indirect=z, self.source_regex=zself.target=z, self.target_indirect=z, self.target_regex=zself.default=z, self.default_overlap=z, self.default_subset=z, self.default_superset=z, self.default_proper=N)ZlogZinfoZpolicyZdebugruletypesourcesource_indirectr   targettarget_indirectr	   Z_match_object_class_debugdefaultdefault_overlapdefault_subsetdefault_supersetdefault_properZmlsrulesr   Zmatch_indirect_regexZ_match_object_classZmatch_range)ZselfZrules   & r   resultsZMLSRuleQuery.results2   sG    9$++GH.$--)*+,$++'?$*>*>)@@U4CTCTBVWX,$++'?$*>*>)@@U4CTCTBVWX&&txx0-$,,(@4+?+?*AAXDDWDWCY Z1//11HD4G4G3IK 	L KK((*D }}}==5
 {{{4#<#<KKKK((%%	$' $'
 
 {{{4#<#<KKKK((%%	$' $'
 
 ++D11
 |||D$4$4LLLL''(())''%) %)  J_ +s3   F6K49AK4 K4AK4K44K4	AK4&K4c                s   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R	&   # )
r   r   r   r	   r   r
   r   r   r   r   )Zboolr   r   r   r   r      s     . / 0  1 4 5 6  7 : ; > !? @  A B "C D  E r   ) N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   ZMLSRuletyper   r   Z
TypeOrAttrr   r   r   r   r	   r   ZObjClassZtclassr
   ZRanger   r   r   r   r   r   Z__annotate_func__Z__static_attributes__Z__classdictcell__)r      @r   r   r      s     & %Y%:%:;yG\G\]H	 4 45nF[\FL O	 4 45nF[\FL O"9#5#56~~VFL 1.QG!O N" N9 9I  r   c                s    V ^8  d   Qh/ ^ \         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   .__all__)__conditional_annotations__typingZFinalZtupleZstr)r   s   "r   r   r      s+     $ $ ; :eCHo	& : %r   )r   )r!   Zcollections.abcr    r"   Z r   r   r   r   Zdescriptorsr   r   r    ZMatchObjClassZPolicyQueryr   r   )r!   r   r   <module>r#      s>   
 % $  , , B): :]6''):): ]r   