Ë
    |D™jÃ  ã                  óD   — d dl mZ d dlmZ ddlmZmZmZ dd„Zi fd	d„Z	y)
é    )Úannotations)ÚTypeVaré   )Úget_argsÚ
get_originÚ
is_genericc                ó`   — 	 | j                  «       S # t        $ r t        | dd«      ducY S w xY w)a¡  Does `tvar` have a default?

    In CPython 3.13+ and typing_extensions>=4.12.0:
    - TypeVars have a `no_default()` method for detecting
      if a TypeVar has a default
    - TypeVars with `default=None` have `__default__` set to `None`
    - TypeVars with no `default` parameter passed
      have `__default__` set to `typing(_extensions).NoDefault

    On typing_exensions<4.12.0:
    - TypeVars do not have a `no_default()` method for detecting
      if a TypeVar has a default
    - TypeVars with `default=None` have `__default__` set to `NoneType`
    - TypeVars with no `default` parameter passed
      have `__default__` set to `typing(_extensions).NoDefault
    Ú__default__N)Úhas_defaultÚAttributeErrorÚgetattr)Útvars    ú`/var/www/html/Astrologybackend/backend/venv/lib/python3.12/site-packages/cattrs/gen/_generics.pyÚ_tvar_has_defaultr      s9   € ð">Ø×ÑÓ!Ð!øÜò >ä�t˜]¨DÓ1¸Ð=Ò=ð>ús   ‚ ’-¬-c                óœ  — t        |«      }t        | «      }|�bt        t        | «      dd«      }|€t        |«      S t        |t	        | «      «      D ]%  \  }}t        |t        «      rŒ|||j                  <   Œ' |S t        | «      rÁ| j                  }|D ]°  }t        |d«      sŒ|j                  }	t        |j                  d«      r|j                  j                  }
nEt        d„ |	D «       «      r2|	D �cg c]  }t        |«      r||j                   f‘Œ }}t        |Ž \  }
}	nŒŽt        |
|	«      D ]  \  }}|||j                  <   Œ Œ² |S c c}w )zCGenerate a mapping of typevars to actual types for a generic class.NÚ__parameters__Ú__args__c              3  ó2   K  — | ]  }t        |«      –— Œ y ­w)N)r   )Ú.0Úbase_args     r   ú	<genexpr>z#generate_mapping.<locals>.<genexpr>>   s   è ø€ ÒK°XÔ& x×0ÑKùs   ‚)Údictr   r   Úzipr   Ú
isinstancer   Ú__name__r   Ú__orig_bases__Úhasattrr   Ú
__origin__r   Úanyr   r
   )ÚclÚold_mappingÚmappingÚoriginÚ
parametersÚpÚtÚ
orig_basesÚbaseÚ	base_argsÚbase_paramsr   Úmapping_paramsÚparamÚargs                  r   Úgenerate_mappingr.       s`  € ä�;Ó€Gä˜‹^€FàÐô œZ¨›^Ð-=¸tÓDˆ
ØÐÜ˜Ó$Ð$ä˜
¤H¨R£LÓ1ò 	$‰DˆAˆqÜ˜!œWÔ%ØØ"#ˆG�A—J‘JÒð	$ð> €Nô5 
�BŒà×&Ñ&ˆ
Øò 	.ˆDÜ˜4 Ô,ØØŸ™ˆIÜ�t—‘Ð(8Ô9Ø"Ÿo™o×<Ñ<‘ÜÑKÀÔKÔKð %.ö"à Ü(¨Ô2ð ˜x×3Ñ3Ò4ð"�ð "ô
 *-¨nÐ)=Ñ&�™Yàä! +¨yÓ9ò .‘
��sØ*-�˜Ÿ™Ò'ñ.ð)	.ð. €Nùò"s   Ã3 E	N)ÚreturnÚbool)r    Útyper!   údict[str, type]r/   r2   )
Ú
__future__r   Útypingr   Ú_compatr   r   r   r   r.   © ó    r   ú<module>r8      s!   ðÝ "å ç 6Ñ 6ó>ð0 ?Aõ /r7   