Ë
    Ñwìi©  ã                   ó&   — d dl mZ  G d„ de«      Zy)é   )Ú	NodeMixinc                   ó,   ‡ — e Zd ZdZˆ fd„Zˆ fd„Zˆ xZS )ÚSymlinkNodeMixinu]  
    The :any:`SymlinkNodeMixin` class extends any Python class to a symbolic link to a tree node.

    The class **MUST** have a `target` attribute referring to another tree node.
    The :any:`SymlinkNodeMixin` class has its own parent and its own child nodes.
    All other attribute accesses are just forwarded to the target node.
    A minimal implementation looks like (see :any:`SymlinkNode` for a full implementation):

    >>> from anytree import SymlinkNodeMixin, Node, RenderTree
    >>> class SymlinkNode(SymlinkNodeMixin):
    ...     def __init__(self, target, parent=None, children=None):
    ...         self.target = target
    ...         self.parent = parent
    ...         if children:
    ...             self.children = children
    ...     def __repr__(self):
    ...         return "SymlinkNode(%r)" % (self.target)

    >>> root = Node("root")
    >>> s1 = Node("sub1", parent=root)
    >>> l = SymlinkNode(s1, parent=root)
    >>> l0 = Node("l0", parent=l)
    >>> print(RenderTree(root))
    Node('/root')
    â”œâ”€â”€ Node('/root/sub1')
    â””â”€â”€ SymlinkNode(Node('/root/sub1'))
        â””â”€â”€ Node('/root/sub1/l0')

    Any modifications on the target node are also available on the linked node and vice-versa:

    >>> s1.foo = 4
    >>> s1.foo
    4
    >>> l.foo
    4
    >>> l.foo = 9
    >>> s1.foo
    9
    >>> l.foo
    9
    c                 óv   •— |dv rt         ‰| �  |«      S |dk(  rt        |«      ‚t        | j                  |«      S )N)Ú_NodeMixin__parentÚ_NodeMixin__childrenÚ__setstate__)ÚsuperÚ__getattr__ÚAttributeErrorÚgetattrÚtarget)ÚselfÚnameÚ	__class__s     €ún/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/anytree/node/symlinknodemixin.pyr   zSymlinkNodeMixin.__getattr__/   s@   ø€ ØÐAÑAÜ‘7Ñ& tÓ,Ð,Ø�>Ò!Ü  Ó&Ð&Ü�t—{‘{ DÓ)Ð)ó    c                 ó^   •— |dv rt         ‰| �  ||«       y t        | j                  ||«       y )N)r   r   ÚparentÚchildrenr   )r
   Ú__setattr__Úsetattrr   )r   r   Úvaluer   s      €r   r   zSymlinkNodeMixin.__setattr__6   s+   ø€ ØÐaÑaÜ‰GÑ  eÕ,ä�D—K‘K  uÕ-r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ñ(ôT*÷.ð .r   r   N)Ú	nodemixinr   r   © r   r   Ú<module>r!      s   ðÝ  ô6.�yõ 6.r   