ó
    \š‘h67  ã                   ó¦  • S SK JrJr  S SKJr  S SKJrJr  S SKJr	  S SKJ
r  S SKJr  S SKJrJr  S SKJrJrJrJr  S S	KJr  S S
KJr  S SKJrJr  S SKJrJr  S SKJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&J'r'  S SK(J)r*  S SK+J,r,  S SK-J.r.  S SK/J0r0  S SK1J2r2  S SK3J4r4  \" 5       r5 " S S5      r6\$" \SS9 " S S\6\45      5       r7 " S S\6\25      r8S1S  jr9S\4S! jr: " S" S#5      r;\$" \SS9 " S$ S%\;\45      5       r<S&r=\$" \SS9 " S' S(\;\25      5       r>\$" \SS9 " S) S*\;\45      5       r?\$" \SS9 " S+ S,\;\25      5       r@ " S- S.\;\45      rA " S/ S0\;\25      rBg)2é    )ÚurlsplitÚ
urlunsplit)Úsettings)ÚREDIRECT_FIELD_NAMEÚget_user_model)Úlogin)Úlogout)Úupdate_session_auth_hash)Úlogin_not_requiredÚlogin_required)ÚAuthenticationFormÚPasswordChangeFormÚPasswordResetFormÚSetPasswordForm)Údefault_token_generator)Úget_current_site)ÚImproperlyConfiguredÚValidationError)ÚHttpResponseRedirectÚ	QueryDict)Úresolve_url)Úreverse_lazy)Úmethod_decorator)Úurl_has_allowed_host_and_schemeÚurlsafe_base64_decode)Úgettext_lazy)Únever_cache)Úcsrf_protect)Úsensitive_post_parameters)ÚTemplateView)ÚFormViewc                   óB   • \ rS rSrSr\r\" 5       rS r	S r
S rS rSrg)ÚRedirectURLMixiné#   Nc                 óP   • U R                  5       =(       d    U R                  5       $ ©N)Úget_redirect_urlÚget_default_redirect_url©Úselfs    Ú]C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\django/contrib/auth/views.pyÚget_success_urlÚ RedirectURLMixin.get_success_url(   s   € Ø×$Ñ$Ó&×I¨$×*GÑ*GÓ*IÐIó    c                 ó4  • U R                   R                  R                  U R                  U R                   R                  R                  U R                  5      5      n[        UU R                  5       U R                   R                  5       S9nU(       a  U$ S$ )z6Return the user-originating redirect URL if it's safe.)ÚurlÚallowed_hostsÚrequire_httpsÚ )ÚrequestÚPOSTÚgetÚredirect_field_nameÚGETr   Úget_success_url_allowed_hostsÚ	is_secure)r*   Úredirect_toÚurl_is_safes      r+   r'   Ú!RedirectURLMixin.get_redirect_url+   s|   € à—l‘l×'Ñ'×+Ñ+Ø×$Ñ$ d§l¡l×&6Ñ&6×&:Ñ&:¸4×;SÑ;SÓ&Tó
ˆô 6ØØ×<Ñ<Ó>ØŸ,™,×0Ñ0Ó2ñ
ˆö
 *ˆ{Ð1¨rÐ1r.   c                 óP   • U R                   R                  5       1U R                  k$ r&   )r4   Úget_hostÚsuccess_url_allowed_hostsr)   s    r+   r9   Ú.RedirectURLMixin.get_success_url_allowed_hosts7   s#   € Ø—‘×%Ñ%Ó'ÐI¨$×*HÑ*HÐIÐIr.   c                 ód   • U R                   (       a  [        U R                   5      $ [        S5      e)ú Return the default redirect URL.z+No URL to redirect to. Provide a next_page.)Ú	next_pager   r   r)   s    r+   r(   Ú)RedirectURLMixin.get_default_redirect_url:   s$   € à�>�>Ü˜tŸ~™~Ó.Ð.Ü"Ð#PÓQÐQr.   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rD   r   r7   Úsetr@   r,   r'   r9   r(   Ú__static_attributes__rF   r.   r+   r#   r#   #   s,   † Ø€IØ-ÐÙ #£ÐòJò
2òJõRr.   r#   Údispatch)Únamec                   ó¶   ^ • \ rS rSrSr\rSrSrSr	Sr
\" \" 5       5      \" \5      \" \5      U 4S j5       5       5       rS rS rU 4S	 jrS
 rU 4S jrSrU =r$ )Ú	LoginViewéA   z5
Display the login form and handle the login action.
Nzregistration/login.htmlFc                 ó  >• U R                   (       ad  U R                  R                  R                  (       a?  U R	                  5       nX@R                  R
                  :X  a  [        S5      e[        U5      $ [        TU ]$  " U/UQ70 UD6$ )NzsRedirection loop for authenticated user detected. Check that your LOGIN_REDIRECT_URL doesn't point to a login page.)
Úredirect_authenticated_userr4   ÚuserÚis_authenticatedr,   ÚpathÚ
ValueErrorr   ÚsuperrM   ©r*   r4   ÚargsÚkwargsr;   Ú	__class__s        €r+   rM   ÚLoginView.dispatchM   sx   ø€ ð ×+×+°·±×0AÑ0A×0R×0RØ×.Ñ.Ó0ˆKØŸl™l×/Ñ/Ó/Ü ðMóð ô (¨Ó4Ð4Ü‰wÒ Ð9¨$Ò9°&Ñ9Ð9r.   c                 ó€   • U R                   (       a  [        U R                   5      $ [        [        R                  5      $ ©rC   )rD   r   r   ÚLOGIN_REDIRECT_URLr)   s    r+   r(   Ú"LoginView.get_default_redirect_url[   s)   € à�>�>Ü˜tŸ~™~Ó.Ð.äœx×:Ñ:Ó;Ð;r.   c                 ó@   • U R                   =(       d    U R                  $ r&   )Úauthentication_formÚ
form_classr)   s    r+   Úget_form_classÚLoginView.get_form_classb   s   € Ø×'Ñ'×:¨4¯?©?Ð:r.   c                 óB   >• [         TU ]  5       nU R                  US'   U$ )Nr4   )rX   Úget_form_kwargsr4   ©r*   r[   r\   s     €r+   rh   ÚLoginView.get_form_kwargse   s#   ø€ Ü‘Ñ(Ó*ˆØ ŸL™LˆˆyÑØˆr.   c                 ó|   • [        U R                  UR                  5       5        [        U R	                  5       5      $ )z)Security check complete. Log the user in.)Ú
auth_loginr4   Úget_userr   r,   )r*   Úforms     r+   Ú
form_validÚLoginView.form_validj   s*   € ä�4—<‘< §¡£Ô1Ü# D×$8Ñ$8Ó$:Ó;Ð;r.   c                 óî   >• [         TU ]  " S0 UD6n[        U R                  5      nUR	                  U R
                  U R                  5       SUSUR                  0U R                  =(       d    0 E5        U$ )NÚsiteÚ	site_namerF   )	rX   Úget_context_datar   r4   Úupdater7   r'   rN   Úextra_context©r*   r[   ÚcontextÚcurrent_siter\   s       €r+   rt   ÚLoginView.get_context_datao   st   ø€ Ü‘'Ò*Ñ4¨VÑ4ˆÜ'¨¯©Ó5ˆØ�‰à×(Ñ(¨$×*?Ñ*?Ó*AØ˜Ø˜\×.Ñ.ðð ×%Ñ%×+¨ð	ô	
ð ˆr.   rF   )rG   rH   rI   rJ   Ú__doc__r   rd   rc   Útemplate_namerS   rv   r   r   r   r   rM   r(   re   rh   ro   rt   rL   Ú__classcell__©r\   s   @r+   rP   rP   A   sx   ø† ñð $€JØÐØ-€MØ"'ÐØ€MáÑ/Ó1Ó2Ù�lÓ#Ù�kÓ"ô	:ó #ó $ó 3ð	:ò<ò;õò
<÷
ó r.   rP   c                   ó†   ^ • \ rS rSrSrSS/rSrSr\" \	5      \" \
5      U 4S j5       5       rU 4S jrS	 rU 4S
 jrSrU =r$ )Ú
LogoutViewé}   z@
Log out the user and display the 'You are logged out' message.
ÚpostÚoptionszregistration/logged_out.htmlNc                 ó,   >• [         TU ]  " U/UQ70 UD6$ r&   ©rX   rM   )r*   r4   rZ   r[   r\   s       €r+   rM   ÚLogoutView.dispatch†   s   ø€ ô ‰wÒ Ð9¨$Ò9°&Ñ9Ð9r.   c                 óž   >• [        U5        U R                  5       nXAR                  5       :w  a  [        U5      $ [        TU ]  " U/UQ70 UD6$ )zLogout may be done via POST.)Úauth_logoutr,   Úget_full_pathr   rX   r6   rY   s        €r+   r‚   ÚLogoutView.post‹   sL   ø€ ä�GÔØ×*Ñ*Ó,ˆØ×/Ñ/Ó1Ó1ä'¨Ó4Ð4Ü‰wŠ{˜7Ð4 TÒ4¨VÑ4Ð4r.   c                 óÖ   • U R                   (       a  [        U R                   5      $ [        R                  (       a  [        [        R                  5      $ U R                  R
                  $ r_   )rD   r   r   ÚLOGOUT_REDIRECT_URLr4   rV   r)   s    r+   r(   Ú#LogoutView.get_default_redirect_url”   sB   € à�>�>Ü˜tŸ~™~Ó.Ð.Ü×)×)Üœx×;Ñ;Ó<Ð<à—<‘<×$Ñ$Ð$r.   c                 óÎ   >• [         TU ]  " S0 UD6n[        U R                  5      nUR	                  UUR
                  [        S5      S S.U R                  =(       d    0 E5        U$ )Nz
Logged out)rr   rs   ÚtitleÚsubtitlerF   )rX   rt   r   r4   ru   rN   Ú_rv   rw   s       €r+   rt   ÚLogoutView.get_context_data�   sf   ø€ Ü‘'Ò*Ñ4¨VÑ4ˆÜ'¨¯©Ó5ˆØ�‰à$Ø)×.Ñ.Ü˜<›Ø ñ	ð
 ×%Ñ%×+¨ðô	
ð ˆr.   rF   )rG   rH   rI   rJ   r{   Úhttp_method_namesr|   rv   r   r   r   rM   r‚   r(   rt   rL   r}   r~   s   @r+   r€   r€   }   sW   ø† ñð   Ð+ÐØ2€MØ€Má�lÓ#Ù�kÓ"ô:ó #ó $ð:õ5ò%÷ó r.   r€   Nc                 óx   • [        U=(       d    [        R                  5      n[        R	                  US9" U 5      $ )zJ
Log out the user if they are logged in. Then redirect to the login page.
)rD   )r   r   Ú	LOGIN_URLr€   Úas_view)r4   Ú	login_urls     r+   Úlogout_then_loginr˜   ¬   s2   € ô ˜I×;¬×);Ñ);Ó<€IÜ×Ñ¨	ÐÑ2°7Ó;Ð;r.   c                 óê   • [        U=(       d    [        R                  5      n[        [	        U5      5      nU(       a#  [        US   SS9nXU'   UR                  SS9US'   [        [        U5      5      $ )zE
Redirect the user to the login page, passing the given 'next' page.
é   T)ÚmutableÚ/)Úsafe)	r   r   r•   Úlistr   r   Ú	urlencoder   r   )Únextr—   r7   Úresolved_urlÚlogin_url_partsÚquerystrings         r+   Úredirect_to_loginr¤   ´   sm   € ô ˜y×>¬H×,>Ñ,>Ó?€Läœ8 LÓ1Ó2€OÞÜ °Ñ 2¸DÑAˆØ+/Ð'Ñ(Ø(×2Ñ2¸Ð2Ð<ˆ˜Ñä¤
¨?Ó ;Ó<Ð<r.   c                   ó,   ^ • \ rS rSrSrU 4S jrSrU =r$ )ÚPasswordContextMixinéË   Nc                 óŽ   >• [         TU ]  " S0 UD6nUR                  U R                  S S.U R                  =(       d    0 E5        U$ )N)r�   r�   rF   )rX   rt   ru   r�   rv   ©r*   r[   rx   r\   s      €r+   rt   Ú%PasswordContextMixin.get_context_dataÎ   sD   ø€ Ü‘'Ò*Ñ4¨VÑ4ˆØ�‰Ø—j‘j¨dÑQ°t×7IÑ7I×7OÈRÐQô	
ð ˆr.   rF   )rG   rH   rI   rJ   rv   rt   rL   r}   r~   s   @r+   r¦   r¦   Ë   s   ø† Ø€M÷ó r.   r¦   c                   óŠ   ^ • \ rS rSrSrSr\rSrSr	Sr
\" S5      rSr\" S5      r\r\" \5      U 4S j5       rU 4S	 jrS
rU =r$ )ÚPasswordResetViewéÖ   z&registration/password_reset_email.htmlNz'registration/password_reset_subject.txtÚpassword_reset_donez%registration/password_reset_form.htmlzPassword resetc                 ó$   >• [         TU ]  " U0 UD6$ r&   r…   ©r*   rZ   r[   r\   s      €r+   rM   ÚPasswordResetView.dispatchã   ó   ø€ ä‰wÒ Ð0¨Ñ0Ð0r.   c           	      ó  >• U R                   R                  5       U R                  U R                  U R                  U R
                  U R                   U R                  U R                  S.nUR                  " S0 UD6  [        TU ])  U5      $ )N)Ú	use_httpsÚtoken_generatorÚ
from_emailÚemail_template_nameÚsubject_template_namer4   Úhtml_email_template_nameÚextra_email_contextrF   )r4   r:   rµ   r¶   r·   r¸   r¹   rº   ÚsaverX   ro   )r*   rn   Úoptsr\   s      €r+   ro   ÚPasswordResetView.form_validç   sv   ø€ àŸ™×/Ñ/Ó1Ø#×3Ñ3ØŸ/™/Ø#'×#;Ñ#;Ø%)×%?Ñ%?Ø—|‘|Ø(,×(EÑ(EØ#'×#;Ñ#;ñ	
ˆð 	�	Š	Ñ�DÒÜ‰wÑ! $Ó'Ð'r.   rF   )rG   rH   rI   rJ   r·   rº   r   rd   r¶   r¹   r¸   r   Úsuccess_urlr|   r‘   r�   r   rµ   r   r   rM   ro   rL   r}   r~   s   @r+   r¬   r¬   Ö   sf   ø† àBÐØÐØ"€JØ€JØ#ÐØEÐÙÐ4Ó5€KØ;€MÙÐÓ€EØ-€Oá�lÓ#ô1ó $ð1÷(ó (r.   r¬   Ú_password_reset_tokenc                   ó(   • \ rS rSrSr\" S5      rSrg)ÚPasswordResetDoneViewéù   z%registration/password_reset_done.htmlzPassword reset sentrF   N)rG   rH   rI   rJ   r|   r‘   r�   rL   rF   r.   r+   rÁ   rÁ   ù   s   † à;€MÙÐ#Ó$ƒEr.   rÁ   c                   óÀ   ^ • \ rS rSr\rSrSrSr\	" S5      r
Sr\" S5      r\r\" \" 5       5      \" \5      U 4S j5       5       rS	 rU 4S
 jrU 4S jrU 4S jrSrU =r$ )ÚPasswordResetConfirmViewéÿ   FNzset-passwordÚpassword_reset_completez(registration/password_reset_confirm.htmlzEnter new passwordc                 óÎ  >• SU;  d  SU;  a  [        S5      eSU l        U R                  US   5      U l        U R                  Gb  US   nX0R                  :X  al  U R
                  R                  R                  [        5      nU R                  R                  U R                  U5      (       a  SU l        [        TU ]0  " U0 UD6$ O�U R                  R                  U R                  U5      (       aV  X0R
                  R                  [        '   U R
                  R                  R                  X0R                  5      n[        U5      $ U R!                  U R#                  5       5      $ )NÚuidb64Útokenz:The URL path must contain 'uidb64' and 'token' parameters.FT)r   Ú	validlinkrm   rT   Úreset_url_tokenr4   Úsessionr6   ÚINTERNAL_RESET_SESSION_TOKENrµ   Úcheck_tokenrX   rM   rV   Úreplacer   Úrender_to_responsert   )r*   rZ   r[   rÉ   Úsession_tokenÚredirect_urlr\   s         €r+   rM   Ú!PasswordResetConfirmView.dispatch
  s=  ø€ ð ˜6Ó! W°FÓ%:Ü&ØLóð ð ˆŒØ—M‘M &¨Ñ"2Ó3ˆŒ	à�9‰9Ò Ø˜7‘OˆEØ×,Ñ,Ó,Ø $§¡× 4Ñ 4× 8Ñ 8Ô9UÓ V�Ø×'Ñ'×3Ñ3°D·I±I¸}×MÑMà%)�D”NÜ ™7Ò+¨TÐ<°VÑ<Ð<ð Nð
 ×'Ñ'×3Ñ3°D·I±I¸u×EÑEð
 JO—L‘L×(Ñ(Ô)EÑFØ#'§<¡<×#4Ñ#4×#<Ñ#<Ø×3Ñ3ó$�Lô 0°Ó=Ð=ð ×&Ñ& t×'<Ñ'<Ó'>Ó?Ð?r.   c                 ó*  •  [        U5      R                  5       n[        R                  R                  R                  U5      n[        R                  R                  US9nU$ ! [        [        [        [        R                  [        4 a    S n U$ f = f)N)Úpk)r   ÚdecodeÚ	UserModelÚ_metarÕ   Ú	to_pythonÚ_default_managerr6   Ú	TypeErrorrW   ÚOverflowErrorÚDoesNotExistr   )r*   rÈ   ÚuidrÕ   rT   s        r+   rm   Ú!PasswordResetConfirmView.get_user,  sˆ   € ð	ä'¨Ó/×6Ñ6Ó8ˆCÜ—‘×#Ñ#×-Ñ-¨cÓ2ˆBÜ×-Ñ-×1Ñ1°RÐ1Ð8ˆDð ˆøô ÜÜÜ×"Ñ"Üð
ó 	ð ‰DØˆð	ús   ‚AA# Á#+BÂBc                 óB   >• [         TU ]  5       nU R                  US'   U$ ©NrT   )rX   rh   rT   ri   s     €r+   rh   Ú(PasswordResetConfirmView.get_form_kwargs<  s"   ø€ Ü‘Ñ(Ó*ˆØŸ™ˆˆv‰Øˆr.   c                 óÚ   >• UR                  5       nU R                  R                  [        	 U R                  (       a   [        U R                  X R                  5        [        TU ]!  U5      $ r&   )	r»   r4   rÌ   rÍ   Úpost_reset_loginrl   Úpost_reset_login_backendrX   ro   )r*   rn   rT   r\   s      €r+   ro   Ú#PasswordResetConfirmView.form_validA  sN   ø€ Ø�y‰y‹{ˆØ�L‰L× Ñ Ô!=Ð>Ø× × Ü�t—|‘| T×+HÑ+HÔIÜ‰wÑ! $Ó'Ð'r.   c                 ó”   >• [         TU ]  " S0 UD6nU R                  (       a  SUS'   U$ UR                  S [	        S5      SS.5        U$ )NTrÊ   zPassword reset unsuccessfulF)rn   r�   rÊ   rF   )rX   rt   rÊ   ru   r‘   r©   s      €r+   rt   Ú)PasswordResetConfirmView.get_context_dataH  sV   ø€ Ü‘'Ò*Ñ4¨VÑ4ˆØ�>�>Ø#'ˆG�KÑ ð ˆð �N‰Nà ÜÐ<Ó=Ø!&ñôð ˆr.   )rT   rÊ   )rG   rH   rI   rJ   r   rd   rä   rå   rË   r   r¾   r|   r‘   r�   r   rµ   r   r   r   rM   rm   rh   ro   rt   rL   r}   r~   s   @r+   rÄ   rÄ   ÿ   s}   ø† à €JØÐØ#ÐØ$€OÙÐ8Ó9€KØ>€MÙÐ"Ó#€EØ-€OáÑ/Ó1Ó2Ù�kÓ"ô@ó #ó 3ð@ò@õ õ
(÷ó r.   rÄ   c                   ó<   ^ • \ rS rSrSr\" S5      rU 4S jrSrU =r	$ )ÚPasswordResetCompleteViewiW  z)registration/password_reset_complete.htmlzPassword reset completec                 ó`   >• [         TU ]  " S0 UD6n[        [        R                  5      US'   U$ )Nr—   rF   )rX   rt   r   r   r•   r©   s      €r+   rt   Ú*PasswordResetCompleteView.get_context_data\  s/   ø€ Ü‘'Ò*Ñ4¨VÑ4ˆÜ*¬8×+=Ñ+=Ó>ˆ�ÑØˆr.   rF   )
rG   rH   rI   rJ   r|   r‘   r�   rt   rL   r}   r~   s   @r+   rê   rê   W  s   ø† à?€MÙÐ'Ó(€E÷ó r.   rê   c                   ó´   ^ • \ rS rSr\r\" S5      rSr\	" S5      r
\" \" 5       5      \" \5      \" \5      U 4S j5       5       5       rU 4S jrU 4S jrSrU =r$ )	ÚPasswordChangeViewib  Úpassword_change_donez&registration/password_change_form.htmlzPassword changec                 ó$   >• [         TU ]  " U0 UD6$ r&   r…   r°   s      €r+   rM   ÚPasswordChangeView.dispatchh  s   ø€ ô ‰wÒ Ð0¨Ñ0Ð0r.   c                 óV   >• [         TU ]  5       nU R                  R                  US'   U$ rá   )rX   rh   r4   rT   ri   s     €r+   rh   Ú"PasswordChangeView.get_form_kwargsn  s(   ø€ Ü‘Ñ(Ó*ˆØŸ™×*Ñ*ˆˆv‰Øˆr.   c                 ó‚   >• UR                  5         [        U R                  UR                  5        [        TU ]  U5      $ r&   )r»   r
   r4   rT   rX   ro   )r*   rn   r\   s     €r+   ro   ÚPasswordChangeView.form_valids  s0   ø€ Ø�	‰	Œô 	! §¡¨t¯y©yÔ9Ü‰wÑ! $Ó'Ð'r.   rF   )rG   rH   rI   rJ   r   rd   r   r¾   r|   r‘   r�   r   r   r   r   rM   rh   ro   rL   r}   r~   s   @r+   rî   rî   b  sg   ø† Ø#€JÙÐ5Ó6€KØ<€MÙÐÓ €EáÑ/Ó1Ó2Ù�lÓ#Ù�nÓ%ô1ó &ó $ó 3ð1õ÷
(ó (r.   rî   c                   óR   ^ • \ rS rSrSr\" S5      r\" \5      U 4S j5       r	Sr
U =r$ )ÚPasswordChangeDoneViewi{  z&registration/password_change_done.htmlzPassword change successfulc                 ó$   >• [         TU ]  " U0 UD6$ r&   r…   r°   s      €r+   rM   ÚPasswordChangeDoneView.dispatch  r²   r.   rF   )rG   rH   rI   rJ   r|   r‘   r�   r   r   rM   rL   r}   r~   s   @r+   r÷   r÷   {  s*   ø† Ø<€MÙÐ*Ó+€Eá�nÓ%ô1ó &ö1r.   r÷   r&   )CÚurllib.parser   r   Údjango.confr   Údjango.contrib.authr   r   r   rl   r	   rˆ   r
   Údjango.contrib.auth.decoratorsr   r   Údjango.contrib.auth.formsr   r   r   r   Údjango.contrib.auth.tokensr   Údjango.contrib.sites.shortcutsr   Údjango.core.exceptionsr   r   Údjango.httpr   r   Údjango.shortcutsr   Údjango.urlsr   Údjango.utils.decoratorsr   Údjango.utils.httpr   r   Údjango.utils.translationr   r‘   Údjango.views.decorators.cacher   Údjango.views.decorators.csrfr   Údjango.views.decorators.debugr   Údjango.views.generic.baser    Údjango.views.generic.editr!   r×   r#   rP   r€   r˜   r¤   r¦   r¬   rÍ   rÁ   rÄ   rê   rî   r÷   rF   r.   r+   Ú<module>r     s|  ðß -å  ÷ DÝ 3Ý 5Ý 8ß M÷ó õ ?Ý ;ß Hß 7Ý (Ý $Ý 4ß TÝ 6Ý 5Ý 5Ý CÝ 2Ý .áÓ€	÷Rñ Rñ< Ð$¨:Ñ6ô8Ð  (ó 8ó 7ð8ôv,Ð! <ô ,ô^<ð '+Ð@Sô =÷.ñ ñ Ð$¨:Ñ6ô(Ð,¨hó (ó 7ð(ð>  7Ð ñ Ð$¨:Ñ6ô%Ð0°,ó %ó 7ð%ñ
 Ð$¨:Ñ6ôTÐ3°Xó Tó 7ðTñn Ð$¨:Ñ6ôÐ 4°ló ó 7ðô(Ð-¨xô (ô21Ð1°<õ 1r.   