Ë
    `QêjQ  ã                   óô  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
mZmZmZmZ dZd dlmZ  edeeef   ¬«      Zeegef   Ze	 ddd	d
œdddededefd„«       Zedd	d
œdedededefd„«       Z	 ddd	d
œde
e   dededeeef   fd„Ze	 ddd	d
œdddededefd„«       Zedd	d
œdedededefd„«       Z	 ddd	d
œde
e   dededeeef   fd„Zdedededefd„Zd„ Zd„ Zdede	e	e      fd„Zd„ Zy)é    N)Ú	FrameTypeÚFunctionType)ÚCallableÚListÚOptionalÚTupleÚTypeVarÚUnionÚoverloadz7.7.0)Úensure_signature_is_compatibleÚ_WrappedMethod)ÚboundTF©Úcheck_signatureÚcheck_at_runtimeÚmethodr   r   Úreturnc                 ó   — y ©N© ©r   r   r   s      úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/overrides/overrides.pyÚ	overridesr       ó   € ð ó    c                 ó   — y r   r   r   s      r   r   r   *   r   r   c                óX   — | �t        | ||«      S t        j                  t        ||¬«      S )a0  Decorator to indicate that the decorated method overrides a method in
    superclass.
    The decorator code is executed while loading class. Using this method
    should have minimal runtime performance implications.

    How to use:
    from overrides import overrides

    class SuperClass(object):
        def method(self):
          return 2

    class SubClass(SuperClass):

        @overrides
        def method(self):
            return 1

    :param check_signature: Whether or not to check the signature of the overridden method.
    :param check_at_runtime: Whether or not to check the overridden method at runtime.
    :raises AssertionError: if no match in super classes for the method name
    :return: method with possibly added (if the method doesn't have one)
        docstring from super class
    r   ©Ú
_overridesÚ	functoolsÚpartialr   r   s      r   r   r   4   ó6   € ð< ÐÜ˜& /Ð3CÓDÐDä× Ñ ÜØ+Ø-ô
ð 	
r   c                 ó   — y r   r   r   s      r   Úoverrider$   \   r   r   c                 ó   — y r   r   r   s      r   r$   r$   f   r   r   c                óX   — | �t        | ||«      S t        j                  t        ||¬«      S )a.  Decorator to indicate that the decorated method overrides a method in
    superclass.
    The decorator code is executed while loading class. Using this method
    should have minimal runtime performance implications.

    How to use:
    from overrides import override

    class SuperClass(object):
        def method(self):
          return 2

    class SubClass(SuperClass):

        @override
        def method(self):
            return 1

    :param check_signature: Whether or not to check the signature of the overridden method.
    :param check_at_runtime: Whether or not to check the overridden method at runtime.
    :raises AssertionError: if no match in super classes for the method name
    :return: method with possibly added (if the method doesn't have one)
        docstring from super class
    r   r   r   s      r   r$   r$   p   r"   r   c                 óœ  ‡ ‡‡— t        ‰ dd«       t        ‰ dd «      }|€&t        t        j                  ‰ j
                     «      }t        t        j                  d«      |«      D ]N  Št        ‰‰ j                  «      sŒ|r#t        j                  ‰ «      ˆˆ ˆfd„«       }|c S t        ‰ ‰‰«       ‰ c S  t        ‰ j                  › d�«      ‚)NÚ__override__TÚ__globals__é   c                  ó.   •— t        ‰‰‰«        ‰| i |¤ŽS r   )Ú_validate_method)ÚargsÚkwargsr   r   Úsuper_classs     €€€r   Úwrapperz_overrides.<locals>.wrapper¥   s   ø€ ä$ V¨[¸/ÔJÙ! 4Ð2¨6Ñ2Ð2r   z: No super class method found)ÚsetattrÚgetattrÚvarsÚsysÚmodulesÚ
__module__Ú_get_base_classesÚ	_getframeÚhasattrÚ__name__r    Úwrapsr,   Ú	TypeErrorÚ__qualname__)r   r   r   Úglobal_varsr0   r/   s   ``   @r   r   r   ˜   s½   ú€ ô
 ˆF�N DÔ)Ü˜& -°Ó6€KØÐÜœ3Ÿ;™; v×'8Ñ'8Ñ9Ó:ˆÜ(¬¯©°qÓ)9¸;ÓGò ˆÜ�; §¡Õ0Ùä—‘ Ó(õ3ó )ð3ð ’ä  ¨°oÔFØ’ðô �v×*Ñ*Ð+Ð+HÐIÓ
JÐJr   c                 óŽ  — t        || j                  «      }t        t        j                  || j                  «      t
        «      }t        |dd«      rt        | j                  › d|› �«      ‚| j                  s|j                  | _        |r;| j                  j                  d«      st        |t        «      st        || |«       y y y y )NÚ	__final__Fz: is finalized in Ú__)r2   r:   Ú
isinstanceÚinspectÚgetattr_staticÚstaticmethodr<   Ú__doc__Ú
startswithÚpropertyr   )r   r/   r   Úsuper_methodÚ	is_statics        r   r,   r,   ±   sª   € Ü˜;¨¯©Ó8€LÜÜ×Ñ˜{¨F¯O©OÓ<¼ló€Iô ˆ|˜[¨%Ô0Ü˜6Ÿ?™?Ð+Ð+=¸k¸]ÐKÓLÐLØ�>Š>Ø%×-Ñ-ˆŒáØ—‘×*Ñ*¨4Ô0Ü˜<¬Ô2ä& |°V¸YÕGð 3ð 1ð 	r   c                 óR   — t        | «      D �cg c]  }t        ||«      ‘Œ c}S c c}w r   )Ú_get_base_class_namesÚ_get_base_class)ÚframeÚ	namespaceÚclass_name_componentss      r   r7   r7   Â   s1   € ô &;¸5Ó%Aöà!ô 	Ð-¨yÕ9òð ùò s   Ž$rN   c                 óâ  — g }g }d}t        j                  | j                  «      D ]³  }|j                  | j                  kD  r n˜|j
                  t         j                  vrŒ;|sg }d}|j                  dv r!|r|j                  |«       |j                  g}Œp|j                  dk(  r|r|j                  |j                  «       Œ�|r|j                  |«       g }d}Œµ |r|j                  |«       |S )z(Get baseclass names from the code objectT)Ú	LOAD_NAMEÚLOAD_GLOBALÚ	LOAD_ATTRF)
ÚdisÚget_instructionsÚf_codeÚoffsetÚf_lastiÚopcodeÚhasnameÚopnameÚappendÚargval)rN   Úcurrent_itemÚitemsÚadd_last_stepÚinstructions        r   rL   rL   É   sé   € à €LØ€EØ€Mä×+Ñ+¨E¯L©LÓ9ò "ˆØ×Ñ §¡Ò-ÙØ×Ñ¤S§[¡[Ñ0ØÙØˆEØ ˆMð ×ÑÐ!=Ñ=ÙØ—‘˜\Ô*Ø'×.Ñ.Ð/‰Là×Ñ ;Ò.±<Ø×Ñ × 2Ñ 2Õ3ñ Ø—‘˜\Ô*ØˆLØ!‰Mð/"ñ2 Ø�‰�\Ô"Ø€Lr   c                 óÞ   — 	 || d      }| dd  D ]  }t	        ||«      sŒt        ||«      }Œ |S # t         $ r4 t        |d   t        «      r|d   | d      }nt        |d   | d   «      }Y Œaw xY w)Nr   Ú__builtins__é   )ÚKeyErrorrB   Údictr2   r9   )Ú
componentsrO   ÚobjÚ	components       r   rM   rM   í   s•   € ðDØ˜
 1™Ñ&ˆð    �^ò *ˆ	Ü�3˜	Õ"Ü˜#˜yÓ)‰Cð*ð €Jøô ò DÜ�i Ñ/´Ô6Ø˜NÑ+¨J°q©MÑ:‰Cä˜) NÑ3°ZÀ±]ÓCˆCùð	Dús   ‚/ ¯:A,Á+A,r   )rU   r    rC   r4   Útypesr   r   Útypingr   r   r   r   r	   r
   r   Ú__VERSION__Úoverrides.signaturer   r   Ú_DecoratorMethodÚboolr   r$   r   r,   r7   ÚstrrL   rM   r   r   r   ú<module>rr      s_  ðó" Û Û Û 
ß )ß L× LÑ Là€å >áÐ)°°|ÀXÐ7MÑ1NÔO€Ø˜^Ð,¨nÐ<Ñ=Ð ð 
àðð !Ø"ò	Øðð ðð ð	ð
 òó 
ðð 
ð !Ø"ò	Øðð ðð ð	ð
 òó 
ðð (,ð%
ð !Ø"ò	%
Ø�^Ñ$ð%
ð ð%
ð ð	%
ð
 Ð˜^Ð+Ñ,ó%
ðP 
àðð !Ø"ò	Øðð ðð ð	ð
 òó 
ðð 
ð !Ø"ò	Øðð ðð ð	ð
 òó 
ðð (,ð%
ð !Ø"ò	%
Ø�^Ñ$ð%
ð ð%
ð ð	%
ð
 Ð˜^Ð+Ñ,ó%
ðPKØðKàðKð ðKð ó	Kò2Hò"ð! ð !¨t°D¸±I©ó !óHr   