+
    ,i_  c                   s    ^ RI Ht ^RIHtHtHtHt ^RIHt ^RI	H
t
HtHtHt ]! RRR7       ! R R]4      4       t ! R	 R
]
4      t ! R R]],          4      tR# )i    )	dataclass)
AnyDefaultDefaultDefaultValueDefaultRangeValue)DiffResultDescriptor)
DifferenceDifferenceResultSymbolWrapperWrapperT)ZfrozenZorderc                   s0   a  ] tR t^t o RtV 3R ltRtV tR# )ModifiedDefaultz,Difference details for a modified default_*.c                s   < V ^8  d   Qh/ S[ ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   # )   ZruleNadded_defaultremoved_defaultadded_default_rangeremoved_default_range)r   r   r   Zformat__classdict__   ";/usr/lib64/python3.14/site-packages/setools/diff/default.py__annotate__ZModifiedDefault.__annotate__   sY     
 M   $&&  "D((  +T11  -t33      N)__name__
__module____qualname____firstlineno____doc__Z__annotate_func____static_attributes____classdictcell__r      @r   r
   r
      s      7  r   r
   c                   s   a  ] tR t^t o RtV 3R lR lt]],          ! ]4      t]],          ! ]4      t	]]
,          ! ]4      tV 3R lR ltRtV tR# )DefaultsDifferencez;Determine the difference in default_* between two policies.c                   < V ^8  d   QhRR/# r   returnNr   r   r   r   r   DefaultsDifference.__annotate__   s     )< )<t )<r   c           
     s   V P                   P                  RV P                   RV P                   24       V P	                  R V P                  P                  4        4       R V P                  P                  4        4       4      w  V n        V n        p\        \        ,          ! 4       V n
        V F  w  r#VP                  VP                  8w  d   VP                  pVP                  pMRpRp VP                  VP                  8w  d   VP                  pVP                  pMRpRp V'       g   V'       g   K  V P                  P                  \        VVVVV4      4       K  	  R#   \         d    RpRp LQi ; i)z>Generate the difference in type defaults between the policies.z&Generating default_* differences from z to c              3   8   "   T F  p\        V4      x  K  	  R # 5iNDefaultWrapperZ.0Zd   & r   	<genexpr>3DefaultsDifference.diff_defaults.<locals>.<genexpr>$   s     D(C1^A(C   c              3   r%   r&   r'   r)   r*   r   r+   r,   %   s     E(D1^A(Dr-   N)logZinfoZleft_policyZright_policyZ	_set_diffZdefaultsadded_defaultsremoved_defaultsZlistr
   modified_defaultsdefaultZdefault_rangeZAttributeErrorZappend)selfZmatched_defaultsZleft_defaultZright_defaultr   r   r   r   s   &       r   diff_defaultsZ DefaultsDifference.diff_defaults   sg    	4T5E5E4Fd4K\K\J]^	` HL~~D(8(8(A(A(CDE(9(9(B(B(DEHGDT24D "&o!6!8+;'L
 ##}'<'<<"."6"6 - 5 5"& $	+--1L1LL,8,F,F)*7*E*E',0)*.'
 "7"7&&--#L$1$3$7$9	;<1 ,<& " +(,%&*#+s   /3E(#E((E:9E:c                r!   r"   r   r   r   r   r   r$   O   s     # #T #r   c                sH    V P                   P                  R4       V =V =V =R# )z%Reset diff results on policy changes.zResetting default_* differencesN)r.   Zdebugr/   r0   r1   r3      &r   _reset_diffZDefaultsDifference._reset_diffO   s%    89!"r   )r/   r1   r0   N)r   r   r   r   r   r4   r   r   r/   r0   r
   r1   r7   r   r   r   r   r   r    r       sN     E)< )<V **5mDN+J7F,_=mL
# #r   r    c                   sL   a  ] tR t^Wt o RtR	tV 3R lR ltR tR tR t	Rt
V tR# )
r(   z$Wrap default_* to allow comparisons.c                s$   < V ^8  d   QhRS[ RR/# )r   r2   r#   N)r   r   r   r   r   ZDefaultWrapper.__annotate__]   s     ! ! !D !r   c                s    Wn         VP                  V n        \        VP                  4      V n        \	        V4      V n        R # r&   )originruletyper   tclassZhashkey)r3   r2      &&r   __init__ZDefaultWrapper.__init__]   s/    ((#GNN3=r   c                s    V P                   # r&   r;   r5   r6   r   __hash__ZDefaultWrapper.__hash__c   s    xxr   c                s4    V P                   VP                   8  # r&   r>   r3   Zotherr<   r   __lt__ZDefaultWrapper.__lt__f   s    xx%))##r   c                sv    V P                   VP                   8H  ;'       d    V P                  VP                  8H  # r&   r9   r:   r@   r<   r   __eq__ZDefaultWrapper.__eq__i   s1    }}. ( (KK5<<'	(r   )r;   r8   r9   r:   NrB   )r   r   r   r   r   Z	__slots__r=   r?   rA   rC   r   r   r   r   r   r(   r(   W   s+     .&I! !$( (r   r(   N)Zdataclassesr    Z	policyrepr   r   r   r   Zdescriptorsr   Z
differencer   r   r   r	   r
   r    r(   r   r   r   <module>rD      sZ   
 " L L - L L $d#4& 4 $4;# ;#|(WW% (r   