+
    ,i  c                   s   a  R	 t0 t ^ RIHt ^RIHt ^RIHt ^RIHt ]! ]	4      t
] ^ k R R lt ! R R]],          4      tR
# )i    )defaultdictConditional)Wrapper)Cachec                s(    V ^8  d   QhR\         RR/# )   condreturnConditionalWrapperr   format   "?/usr/lib64/python3.14/site-packages/setools/diff/conditional.py__annotate__r      s      k 6J     c                s     \         V P                  ,          V ,          #   \         d+    \        T 4      pT\         T P                  ,          T &   Tu # i ; i)zv
Wrap type attributes from the specified policy.

This caches results to prevent duplicate wrapper
objects in memory.
)_cond_cacheZpolicyZKeyErrorr   )r   Zas   & r   conditional_wrapper_factoryr      sL    4;;'-- t$)*DKK &s     2AAc                   sL   a  ] tR t^ t o RtRtV 3R lR ltR tR tR t	Rt
V tR	# )
r   zHWrap conditional policy expressions to allow comparisons by truth table.truth_tablec                s$   < V ^8  d   QhRS[ RR/# )r   r   r   Nr   )r
   __classdict__s   "r   r   ZConditionalWrapper.__annotate__&   s     . .[ .T .r   c                s<    Wn         VP                  4       V n        R # Noriginr   )selfr      &&r   __init__ZConditionalWrapper.__init__&   s    ++-r   c                s,    \        V P                  4      # r   )Zhashr   )r   s   &r   __hash__ZConditionalWrapper.__hash__*   s    DKK  r   c                s4    V P                   VP                   8H  # r   )r   r   Zotherr   r   __eq__ZConditionalWrapper.__eq__-   s    5#4#444r   c                sD    \        V P                  4      \        V4      8  # r   )Zstrr   r   r   r   __lt__ZConditionalWrapper.__lt__0   s    4;;#e*,,r   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z	__slots__r   r   r   r   Z__static_attributes__Z__classdictcell__)r      @r   r   r       s+     RI. .!5- -r   r   c                sZ    V ^8  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   # )r   r   r   )__conditional_annotations__r   r   r	   r   r   r   r      s&     # # J IU; 445 I $r   N)r   Zcollectionsr    Z	policyrepr   Z
differencer   Ztypingr   Zdictr   r   r   r   )r   r   r   <module>r      s=    $ # #   9DD8I I-- -r   