Ë
    `Qêj-	  ã                   ó>   — d dl mZ  G d„ de«      Z G d„ de¬«      Zy)é    )ÚABCMetac                   óN   ‡ — e Zd Zˆ fd„Zed„ «       Zed„ «       Zed„ «       Zˆ xZS )ÚEnforceOverridesMetac                 óä  •— t        | «      D ]m  }|j                  d«      rŒ|dk7  sŒt        | |«      }t        |t        t
        t        t        t        t        t        f«      rŒWt        t        | |«      dd«       Œo t        ‰| �4  | |||fi |¤Ž}|j                  «       D ]M  \  }}| j                  ||«       |j                  d«      rŒ*| j!                  |«      }| j#                  |||«       ŒO |S )NÚ__ÚmroÚ__ignored__T)ÚdirÚ
startswithÚgetattrÚ
isinstanceÚboolÚstrÚintÚfloatÚtupleÚlistÚdictÚsetattrÚsuperÚ__new__ÚitemsÚ _check_if_overrides_final_methodÚ_handle_special_valueÚ/_check_if_overrides_without_overrides_decorator)	ÚmclsÚnameÚbasesÚ	namespaceÚkwargsÚmethodÚvalueÚclsÚ	__class__s	           €úV/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/overrides/enforce.pyr   zEnforceOverridesMeta.__new__   sá   ø€ ä˜$“iò 	HˆFØ×$Ñ$ TÕ*¨v¸«Ü  fÓ-�Ü! %¬$´´S¼%ÄÌÌdÐ)SÕTÜœG D¨&Ó1°=À$ÕGð		Hô ‰g‰o˜d D¨%°ÑE¸fÑEˆØ$Ÿ?™?Ó,ò 	Y‰KˆD�%Ø×1Ñ1°$¸Ô>Ø—?‘? 4Õ(Ø×2Ñ2°5Ó9�Ø×DÑDÀTÈ5ÐRWÕXð		Yð
 ˆ
ó    c                 ó¤   — t        |dd«      }|D ]>  }t        || d«      }|rt        |«      rt        |dd«      rŒ+|rŒ.t        d| › d|› d�«      ‚ y )NÚ__override__Fr	   úMethod z overrides method from z& but does not have @override decorator)r   ÚcallableÚ	TypeError)r   r"   r   Úis_overrideÚbaseÚbase_class_methods         r%   r   zDEnforceOverridesMeta._check_if_overrides_without_overrides_decorator   sn   € ä˜e ^°UÓ;ˆØò 	ˆDÜ '¨¨d°EÓ :Ðá%ÜÐ 1Ô2ÜÐ,¨m¸UÔCàÚÜØ˜d˜VÐ#:¸4¸&Ð@fÐgóð ñ	r&   c                 ój   — |D ].  }t        || d«      }t        |dd«      sŒt        d| › d|› d�«      ‚ y )NFÚ	__final__r)   z is finalized in z, it cannot be overridden)r   r+   )r   r   r-   r.   s       r%   r   z5EnforceOverridesMeta._check_if_overrides_final_method%   sN   € àò 	ˆDÜ '¨¨d°EÓ :ÐäÐ(¨+°uÕ=ÜØ˜d˜VÐ#4°T°FÐ:SÐTóð ñ		r&   c                 ó®   — t        | t        «      st        | t        «      r| j                  d t        «      } | S t        | t
        «      r| j                  } | S )N)r   ÚclassmethodÚstaticmethodÚ__get__r   ÚpropertyÚfget)r"   s    r%   r   z*EnforceOverridesMeta._handle_special_value/   sF   € ä�eœ[Ô)¬Z¸¼|Ô-LØ—M‘M $¬Ó-ˆEð ˆô ˜œxÔ(Ø—J‘JˆEØˆr&   )	Ú__name__Ú
__module__Ú__qualname__r   r3   r   r   r   Ú__classcell__)r$   s   @r%   r   r      sD   ø„ ôð  ñó ðð ñó ðð ñó ôr&   r   c                   ó   — e Zd ZdZy)ÚEnforceOverridesz4Use this as the parent class for your custom classesN)r7   r8   r9   Ú__doc__© r&   r%   r<   r<   8   s   „ Ù:Ør&   r<   )Ú	metaclassN)Úabcr   r   r<   r>   r&   r%   ú<module>rA      s"   ðÝ ô1˜7ô 1ôh	Ð!5ö 	r&   