Ë
    ¹ûàgQ&  ã                   óê   — d Z ddlZddlZddlZddlZddlZddlmZ ddlZddl	m
Z
 ddlmZ ddlmZ ddlmZmZ dZd	Zd
ZdZ G d„ de«      Z G d„ de«      Z G d„ d«      Z G d„ d«      Z e«       Zy)zï
Settings and configuration for Django.

Read values from the module specified by the DJANGO_SETTINGS_MODULE environment
variable, and then from django.conf.global_settings; see the global_settings.py
for a list of all possible variables.
é    N)ÚPath)Úglobal_settings)ÚImproperlyConfigured)ÚRemovedInDjango60Warning)Ú
LazyObjectÚemptyÚDJANGO_SETTINGS_MODULEÚdefaultÚstaticfileszCThe FORMS_URLFIELD_ASSUME_HTTPS transitional setting is deprecated.c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚSettingsReferencez£
    String subclass which references a current settings value. It's treated as
    the value in memory but serializes to a settings.NAME attribute reference.
    c                 ó.   — t         j                  | |«      S ©N)ÚstrÚ__new__©ÚselfÚvalueÚsetting_names      úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/conf/__init__.pyr   zSettingsReference.__new__&   s   € Ü�{‰{˜4 Ó'Ð'ó    c                 ó   — || _         y r   )r   r   s      r   Ú__init__zSettingsReference.__init__)   s
   € Ø(ˆÕr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r       s   „ ñò
(ó)r   r   c                   óp   ‡ — e Zd ZdZdd„Zd„ Zd„ Zˆ fd„Zˆ fd„Ze	fd„Z
ed„ «       Zed	„ «       Zd
„ Zˆ xZS )ÚLazySettingszì
    A lazy proxy for either global Django settings or a custom settings object.
    The user can manually configure settings prior to using them. Otherwise,
    Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE.
    c                 ó¬   — t         j                  j                  t        «      }|s|rd|z  nd}t	        d|›dt        ›d�«      ‚t        |«      | _        y)zÄ
        Load the settings module pointed to by the environment variable. This
        is used the first time settings are needed, if the user hasn't
        configured settings manually.
        z
setting %sÚsettingsz
Requested zS, but settings are not configured. You must either define the environment variable z8 or call settings.configure() before accessing settings.N)ÚosÚenvironÚgetÚENVIRONMENT_VARIABLEr   ÚSettingsÚ_wrapped)r   ÚnameÚsettings_moduleÚdescs       r   Ú_setupzLazySettings._setup4   sP   € ô Ÿ*™*Ÿ.™.Ô)=Ó>ˆÙÙ,0�L 4Ò'°jˆDÝ&ò Ö-ð/óð ô ! Ó1ˆ�r   c                 ó^   — | j                   t        u rydd| j                   j                  iz  S )Nz<LazySettings [Unevaluated]>z$<LazySettings "%(settings_module)s">r*   )r(   r   ÚSETTINGS_MODULE©r   s    r   Ú__repr__zLazySettings.__repr__F   s2   € à�=‰=œEÑ!Ø1Ø5Ø˜tŸ}™}×<Ñ<ð9
ñ 
ð 	
r   c                 óò   — | j                   x}t        u r| j                  |«       | j                   }t        ||«      }|dv r|�| j	                  |«      }n|dk(  r|st        d«      ‚|| j                  |<   |S )z<Return the value of a setting and cache it in self.__dict__.>   Ú	MEDIA_URLÚ
STATIC_URLÚ
SECRET_KEYz)The SECRET_KEY setting must not be empty.)r(   r   r,   ÚgetattrÚ_add_script_prefixr   Ú__dict__)r   r)   r(   Úvals       r   Ú__getattr__zLazySettings.__getattr__N   s|   € àŸ™Ð%ˆH¬%Ñ/Ø�K‰K˜ÔØ—}‘}ˆHÜ�h Ó%ˆð Ð.Ñ.°3°?Ø×)Ñ)¨#Ó.‰CØ�\Ò!©#Ü&Ð'RÓSÐSà!ˆ�‰�dÑØˆ
r   c                 óž   •— |dk(  r| j                   j                  «        n| j                   j                  |d«       t        ‰| �  ||«       y)zŸ
        Set the value of setting. Clear all cached values if _wrapped changes
        (@override_settings does this) or clear single values when set.
        r(   N)r7   ÚclearÚpopÚsuperÚ__setattr__©r   r)   r   Ú	__class__s      €r   r>   zLazySettings.__setattr___   s@   ø€ ð
 �:ÒØ�M‰M×ÑÕ!à�M‰M×Ñ˜d DÔ)Ü‰Ñ˜D %Õ(r   c                 ó\   •— t         ‰| �  |«       | j                  j                  |d«       y)z3Delete a setting and clear it from cache if needed.N)r=   Ú__delattr__r7   r<   ©r   r)   r@   s     €r   rB   zLazySettings.__delattr__j   s$   ø€ ä‰Ñ˜DÔ!Ø�‰×Ñ˜$ Õ%r   c                 óè   — | j                   t        urt        d«      ‚t        |«      }|j	                  «       D ]0  \  }}|j                  «       st        d|z  «      ‚t        |||«       Œ2 || _         y)zÜ
        Called to manually configure the settings. The 'default_settings'
        parameter sets where to retrieve any unspecified values from (its
        argument must support attribute access (__getattr__)).
        zSettings already configured.zSetting %r must be uppercase.N)r(   r   ÚRuntimeErrorÚUserSettingsHolderÚitemsÚisupperÚ	TypeErrorÚsetattr)r   Údefault_settingsÚoptionsÚholderr)   r   s         r   Ú	configurezLazySettings.configureo   so   € ð �=‰=¤Ñ%ÜÐ=Ó>Ð>Ü#Ð$4Ó5ˆØ"Ÿ=™=›?ò 	)‰KˆD�%Ø—<‘<”>ÜÐ ?À$Ñ FÓGÐGÜ�F˜D %Õ(ð	)ð ˆ�r   c                 óJ   — | j                  d«      r| S ddlm}  |«       ›| ›�S )zÕ
        Add SCRIPT_NAME prefix to relative paths.

        Useful when the app is being served at a subpath and manually prefixing
        subpath to STATIC_URL and MEDIA_URL in settings is inconvenient.
        )zhttp://zhttps://ú/r   )Úget_script_prefix)Ú
startswithÚdjango.urlsrQ   )r   rQ   s     r   r6   zLazySettings._add_script_prefix~   s)   € ð ×ÑÐ8Ô9ØˆLÝ1á*Ô,©eÐ4Ð4r   c                 ó&   — | j                   t        uS )z9Return True if the settings have already been configured.)r(   r   r/   s    r   Ú
configuredzLazySettings.configured�   s   € ð �}‰}¤EÐ)Ð)r   c                 óê   — t        j                  «       }|d   \  }}}}|j                  t        j                  j                  t        j                  «      «      st        j                  ||d¬«       y y )Néüÿÿÿé   )Ú
stacklevel)
Ú	tracebackÚextract_stackrR   r#   ÚpathÚdirnameÚdjangoÚ__file__ÚwarningsÚwarn)r   ÚmessageÚcategoryÚstackÚfilenameÚ_s         r   Ú_show_deprecation_warningz&LazySettings._show_deprecation_warning’   sY   € Ü×'Ñ'Ó)ˆð " "™IÑˆ�!�Q˜Ø×"Ñ"¤2§7¡7§?¡?´6·?±?Ó#CÔDÜ�M‰M˜' 8¸Ö:ð Er   r   )r   r   r   r   r,   r0   r9   r>   rB   r   rN   Ústaticmethodr6   ÚpropertyrU   rg   Ú__classcell__©r@   s   @r   r    r    -   sX   ø„ ñó2ò$
òô"	)ô&ð
 *9ó ð ñ5ó ð5ð ñ*ó ð*ö;r   r    c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)r'   c           	      ó¾  — t        t        «      D ].  }|j                  «       sŒt        | |t	        t        |«      «       Œ0 || _        t        j                  | j
                  «      }d}t        «       | _	        t        |«      D ]o  }|j                  «       sŒt	        ||«      }||v r$t        |t        t        f«      st        d|z  «      ‚t        | ||«       | j                  j                  |«       Œq | j                  d«      rt!        j"                  t$        t&        «       t)        t*        d«      rª| j,                  r�t/        d«      } |j0                  | j,                  j3                  d«      Ž }|j5                  «       r(|j5                  «       st7        d| j,                  z  «      ‚| j,                  t8        j:                  d<   t+        j<                  «        y y y )	N)ÚALLOWED_HOSTSÚINSTALLED_APPSÚTEMPLATE_DIRSÚLOCALE_PATHSÚSECRET_KEY_FALLBACKSz)The %s setting must be a list or a tuple.ÚFORMS_URLFIELD_ASSUME_HTTPSÚtzsetz/usr/share/zoneinforP   zIncorrect timezone setting: %sÚTZ)Údirr   rH   rJ   r5   r.   Ú	importlibÚimport_moduleÚsetÚ_explicit_settingsÚ
isinstanceÚlistÚtupler   ÚaddÚis_overriddenr`   ra   Ú*FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSGr   ÚhasattrÚtimeÚ	TIME_ZONEr   ÚjoinpathÚsplitÚexistsÚ
ValueErrorr#   r$   rt   )r   r*   ÚsettingÚmodÚtuple_settingsÚsetting_valueÚzoneinfo_rootÚzone_info_files           r   r   zSettings.__init__�   s–  € äœ?Ó+ò 	JˆGØ�‰Õ Ü˜˜g¤w¬ÀÓ'HÕIð	Jð
  /ˆÔä×%Ñ% d×&:Ñ&:Ó;ˆð
ˆô #&£%ˆÔÜ˜3“xò 	5ˆGØ�‰Õ Ü '¨¨WÓ 5�à˜nÑ,´ZØ!¤D¬% =ô6ô /ØCÀgÑMóð ô ˜˜g }Ô5Ø×'Ñ'×+Ñ+¨GÕ4ð	5ð ×ÑÐ;Ô<Ü�M‰MÜ:Ü(ôô
 ”4˜Ô! d§n¢nô !Ð!6Ó7ˆMØ3˜]×3Ñ3°T·^±^×5IÑ5IÈ#Ó5NÐOˆNØ×#Ñ#Ô%¨n×.CÑ.CÔ.EÜ Ð!AÀDÇNÁNÑ!RÓSÐSð  $Ÿ~™~ŒB�J‰J�tÑÜ�J‰J�Lð '5Ð!r   c                 ó   — || j                   v S r   )rz   )r   rˆ   s     r   r   zSettings.is_overriddenÏ   s   € Ø˜$×1Ñ1Ð1Ð1r   c                 óN   — d| j                   j                  | j                  dœz  S )Nz<%(cls)s "%(settings_module)s">)Úclsr*   )r@   r   r.   r/   s    r   r0   zSettings.__repr__Ò   s*   € Ø0Ø—>‘>×*Ñ*Ø#×3Ñ3ñ4
ñ 
ð 	
r   N)r   r   r   r   r   r0   r   r   r   r'   r'   œ   s   „ ò0òd2ó
r   r'   c                   óN   ‡ — e Zd ZdZdZd„ Zd„ Zˆ fd„Zˆ fd„Zd„ Z	d„ Z
d	„ Zˆ xZS )
rF   z$Holder for user configured settings.Nc                 ó@   — t        «       | j                  d<   || _        y)z›
        Requests for configuration variables not in this class are satisfied
        from the module specified in default_settings (if possible).
        Ú_deletedN)ry   r7   rK   )r   rK   s     r   r   zUserSettingsHolder.__init__à   s   € ô
 %(£Eˆ�‰�jÑ!Ø 0ˆÕr   c                 óv   — |j                  «       r|| j                  v rt        ‚t        | j                  |«      S r   )rH   r“   ÚAttributeErrorr5   rK   )r   r)   s     r   r9   zUserSettingsHolder.__getattr__è   s/   € Ø�|‰|Œ~ ¨¯©Ñ!6Ü Ð Ü�t×,Ñ,¨dÓ3Ð3r   c                 ó¢   •— | j                   j                  |«       |dk(  rt        j                  t        t
        «       t        ‰| �  ||«       y )Nrs   )r“   Údiscardr`   ra   r€   r   r=   r>   r?   s      €r   r>   zUserSettingsHolder.__setattr__í   sA   ø€ Ø�‰×Ñ˜dÔ#ØÐ0Ò0Ü�M‰MÜ:Ü(ôô 	‰Ñ˜D %Õ(r   c                 ót   •— | j                   j                  |«       t        | |«      rt        ‰| �  |«       y y r   )r“   r~   r�   r=   rB   rC   s     €r   rB   zUserSettingsHolder.__delattr__ö   s1   ø€ Ø�‰×Ñ˜$ÔÜ�4˜ÔÜ‰GÑ Õ%ð r   c                 ón   ‡ — t        ˆ fd„g ‰ j                  ¢t        ‰ j                  «      ¢D «       «      S )Nc              3   ó>   •K  — | ]  }|‰j                   vr|–— Œ y ­wr   )r“   )Ú.0Úsr   s     €r   ú	<genexpr>z-UserSettingsHolder.__dir__.<locals>.<genexpr>ü   s%   øè ø€ ò 
àØ˜Ÿ™Ñ%ô ñ
ùs   ƒ)Úsortedr7   rv   rK   r/   s   `r   Ú__dir__zUserSettingsHolder.__dir__û   s6   ø€ Üó 
àB�t—}‘}ÐB¤s¨4×+@Ñ+@Ó'AÐBô
ó 
ð 	
r   c                 óŠ   — || j                   v }|| j                  v } t        | j                  dd„ «      |«      }|xs |xs |S )Nr   c                  ó   — y)NFr   )rœ   s    r   ú<lambda>z2UserSettingsHolder.is_overridden.<locals>.<lambda>  s   � r   )r“   r7   r5   rK   )r   rˆ   ÚdeletedÚset_locallyÚset_on_defaults        r   r   z UserSettingsHolder.is_overridden  sS   € Ø˜TŸ]™]Ð*ˆØ §¡Ð.ˆð
œØ×!Ñ! ?±Oó
à
óˆð Ò7˜+Ò7¨Ð7r   c                 ó8   — dd| j                   j                  iz  S )Nz	<%(cls)s>r�   )r@   r   r/   s    r   r0   zUserSettingsHolder.__repr__
  s#   € ØØ�4—>‘>×*Ñ*ð
ñ 
ð 	
r   )r   r   r   r   r.   r   r9   r>   rB   rŸ   r   r0   rj   rk   s   @r   rF   rF   Ù   s0   ø„ Ù.ð €Oò1ò4ô
)ô&ò

ò8ö
r   rF   )r   rw   r#   r‚   rZ   r`   Úpathlibr   r^   Údjango.confr   Údjango.core.exceptionsr   Údjango.utils.deprecationr   Údjango.utils.functionalr   r   r&   ÚDEFAULT_STORAGE_ALIASÚSTATICFILES_STORAGE_ALIASr€   r   r   r    r'   rF   r"   r   r   r   ú<module>r®      s„   ðñó Û 	Û Û Û Ý ã Ý 'Ý 7Ý =ß 5à/Ð Ø!Ð Ø)Ð ð Jð +ô

)˜ô 
)ôl;�:ô l;÷^:
ñ :
÷z4
ñ 4
ñn ‹>�r   