ó
    ¼Rj‚  ã                   ó¦   • S SK Jr  S SKJr  S SKJr   " S S5      r " S S5      r\" 5       r\R                  r	\R                  r
\R                  rg)	é    )Úchain)Úfunc_accepts_kwargs)Úis_iterablec                   óP   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrg)ÚTagsé   z$
Built-in tags for internal checks.
ÚadminÚasync_supportÚcachesÚcompatibilityÚdatabaseÚfilesÚmodelsÚsecurityÚsignalsÚsitesÚstaticfilesÚ	templatesÚtranslationÚurls© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Ú__static_attributes__r   ó    ÚGD:\diplom_project\venv\Lib\site-packages\django/core/checks/registry.pyr   r      sO   † ñð €EØ#€MØ€FØ#€MØ€HØ€EØ€FØ€HØ€GØ€EØ€KØ€IØ€KØƒDr   r   c                   óT   • \ rS rSrS rS
S jr    SS jrSS jrSS jrSS jr	S	r
g)ÚCheckRegistryé   c                 ó@   • [        5       U l        [        5       U l        g ©N)ÚsetÚregistered_checksÚdeployment_checks)Úselfs    r   Ú__init__ÚCheckRegistry.__init__   s   € Ü!$£ˆÔÜ!$£ˆÕr   Nc                 óf   ^ ^^• UU U4S jn[        U5      (       a  U" U5      $ U(       a  TU4-  mU$ )a½  
Can be used as a function or a decorator. Register given function
`f` labeled with given `tags`. The function should receive **kwargs
and return list of Errors and Warnings.

Example::

    registry = CheckRegistry()
    @registry.register('mytag', 'anothertag')
    def my_check(app_configs, **kwargs):
        # ... perform checks and collect `errors` ...
        return errors
    # or
    registry.register(my_check, 'mytag', 'anothertag')
c                 óÊ   >• [        U 5      (       d  [        S5      eTU l        TR                  S5      (       a  TR                  OTR
                  nUR                  U 5        U $ )Nz9Check functions must accept keyword arguments (**kwargs).Údeploy)r   Ú	TypeErrorÚtagsÚgetr'   r&   Úadd)ÚcheckÚchecksÚkwargsr(   r/   s     €€€r   ÚinnerÚ%CheckRegistry.register.<locals>.inner2   sd   ø€ Ü& u×-Ñ-ÜØOóð ð ˆEŒJð —:‘:˜h×'Ñ'ð ×&Ò&à×+Ñ+ð ð
 �J‰J�uÔØˆLr   )Úcallable)r(   r2   r/   r4   r5   s   ` `` r   ÚregisterÚCheckRegistry.register!   s1   ú€ ÷"	ô �E�?‰?Ù˜“<ÐæØ˜˜Ñ �ØˆLr   c                 ó2  • / nU R                  U5      nUb=  U Vs/ s H0  n[        UR                  5      R                  U5      (       a  M.  UPM2     nnU H8  nU" XS9n[	        U5      (       d  [        SU-  5      eUR                  U5        M:     U$ s  snf )zC
Run all registered checks and return list of Errors and Warnings.
)Úapp_configsÚ	databaseszlThe function %r did not return a list. All functions registered with the checks registry must return a list.)Ú
get_checksr%   r/   Ú
isdisjointr   r.   Úextend)	r(   r;   r/   Úinclude_deployment_checksr<   Úerrorsr3   r2   Ú
new_errorss	            r   Ú
run_checksÚCheckRegistry.run_checksG   sž   € ð ˆØ—‘Ð!:Ó;ˆàÑÙ)/ÓXª ´s¸5¿:¹:³×7QÑ7QÐRV×7W—e©ˆFÐXãˆEÙ¨;ÑLˆJÜ˜z×*Ñ*ÜðNØPUñVóð ð �M‰M˜*Ö%ñ ð ˆùò Ys   ›-BÁBc                 ó(   • XR                  U5      ;   $ r$   )Útags_available)r(   Útagr@   s      r   Ú
tag_existsÚCheckRegistry.tag_existsa   s   € Ø×)Ñ)Ð*CÓDÑDÐDr   c                 ól   • [        [        R                  " S U R                  U5       5       5      5      $ )Nc              3   ó8   #   • U  H  oR                   v •  M     g 7fr$   )r/   )Ú.0r2   s     r   Ú	<genexpr>Ú/CheckRegistry.tags_available.<locals>.<genexpr>f   s   é € ð  Ú(J˜u—
–
Ò(Jùs   ‚)r%   r   Úfrom_iterabler=   )r(   r'   s     r   rF   ÚCheckRegistry.tags_availabled   s4   € ÜÜ×Òñ  Ø(,¯©Ð8IÔ(Jó ó ó
ð 	
r   c                 ót   • [        U R                  5      nU(       a  UR                  U R                  5        U$ r$   )Úlistr&   r?   r'   )r(   r@   r3   s      r   r=   ÚCheckRegistry.get_checksk   s,   € Ü�d×,Ñ,Ó-ˆÞ$Ø�M‰M˜$×0Ñ0Ô1Øˆr   )r'   r&   r$   )NNFN)F)r   r   r   r   r)   r8   rC   rH   rF   r=   r   r   r   r   r!   r!      s0   † ò'ô$ðP ØØ"'Øôô4Eô
÷r   r!   N)Ú	itertoolsr   Údjango.utils.inspectr   Údjango.utils.itercompatr   r   r!   Úregistryr8   rC   rH   r   r   r   Ú<module>rX      sO   ðÝ å 4Ý /÷ñ ÷*Sñ Sñl ‹?€Ø×Ñ€Ø× Ñ €
Ø× Ñ �
r   