
    ,OfQ                       d dl mZ d dlZd dlmZmZ d dlmZmZm	Z	 d dl
Zd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl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mZmZmZmZmZmZm Z m!Z! d dl"m#Z# erld dl
m$Z$ d d	lm%Z% d d
lm&Z& d dl'm(Z( d dl)m*Z* d dlm+Z+ d dlm,Z, d dl-m.Z. d dlm/Z/ d dlm0Z0 d dlm1Z1 d dlm2Z2 d dlm3Z3 d dlm4Z4 d dl5m6Z6 d dlm7Z7 d dl8m9Z9 d dlm:Z:  G d de	      Z; G d de      Z<y)    )annotationsN)datetimetimezone)TYPE_CHECKINGAny
NamedTuple)Consts)	AttributeCompletableGithubObjectNotSetOpt
is_definedis_optionalis_optional_listis_undefined)PaginatedList)Authorization)Event)Gist)InputFileContent)Installation)
Invitation)Issue)Label)
Membership)	Migration)	NamedUser)Notification)Organization)Plan)Project)
Repository)Team)UserKeyc                  6    e Zd ZU ded<   ded<   ded<   ded<   y)	EmailDatastremailboolprimaryverified
visibilityN)__name__
__module____qualname____annotations__     8lib/python3.12/site-packages/github/AuthenticatedUser.pyr&   r&   ~   s    JMNOr2   r&   c                     e Zd ZdZd_dZd`dZed`d       Zed`d       Zed`d       Z	edad       Z
ed`d       Zedbd	       Zedad
       Zed`d       Zed`d       Zedad       Zed`d       Zedad       Zed`d       Zed`d       Zed`d       Zedcd       Zed`d       Zedad       Zed`d       Zed`d       Zed`d       Zed`d       Zed`d       Zedad       Zeddd       Zedad       Z edad       Z!edad       Z"ed`d        Z#ed`d!       Z$edcd"       Z%ed`d#       Z&ed`d$       Z'edad%       Z(ed`d&       Z)edbd'       Z*ed`d(       Z+edcd)       Z,ded*Z-dfd+Z.dgd,Z/dhd-Z0did.Z1e2e2e2e2e2d/f	 	 	 	 	 	 	 	 	 	 	 	 	 djd0Z3e4e2e2f	 	 	 	 	 	 	 dkd1       Z5e2e2e2f	 	 	 	 	 	 	 	 	 	 	 dld2Z6e2f	 	 	 	 	 	 	 dmd3Z7dnd4Z8e2fdod5Z9e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dpd6Z:e2e2e2e2e2e2e2f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dqd7Z;drd8Z<dsd9Z=dtd:Z>dud;Z?dvd<Z@dvd=ZAe2fdwd>ZBe2e2e2e2e2e2f	 	 	 	 	 	 	 	 	 	 	 	 	 dxd?ZCe2e2e2e2e2e2f	 	 	 	 	 	 	 	 	 	 	 	 	 dxd@ZDdydAZEdzdBZFd{dCZGe2e2e2e2f	 	 	 	 	 	 	 	 	 d|dDZHd}dEZId~dFZJddGZKe2e2e2e2e2f	 	 	 	 	 	 	 	 	 	 	 ddHZLddIZMddJZNddKZOddLZPddMZQddNZRddOZSddPZTddQZUddRZVdddSZWdedTZXdfdUZYdgdVZZdhdWZ[didXZ\ddYZ]ddZZ^e2e2f	 	 	 	 	 	 	 dd[Z_dd\Z`dd]Zadd^Zby/)AuthenticatedUserz
    This class represents AuthenticatedUsers as returned by https://docs.github.com/en/rest/reference/users#get-the-authenticated-user

    An AuthenticatedUser object can be created by calling ``get_user()`` on a Github object.
    c                H   t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _	        t         | _
        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _         t         | _!        t         | _"        t         | _#        t         | _$        t         | _%        t         | _&        y N)'r   _avatar_url_bio_blog_collaborators_company_created_at_disk_usage_email_events_url
_followers_followers_url
_following_following_url
_gists_url_gravatar_id	_hireable	_html_url_id	_location_login_name_node_id_organizations_url_owned_private_repos_plan_private_gists_public_gists_public_repos_received_events_url
_repos_url_site_admin_starred_url_subscriptions_url_total_private_repos_type_updated_at_url_two_factor_authenticationselfs    r3   _initAttributesz!AuthenticatedUser._initAttributes   s    +1$*	%+
.4(.06+1&,+1*0.4*0.4*0,2*0)/#))/&,%+
(.284:!28
.4-3-34:!*0,2,2284:!%+
06$*	;A'r2   c                P    | j                  d| j                  j                  i      S )Nlogin)get__repr__rK   valuer^   s    r3   __repr__zAuthenticatedUser.__repr__   s"    $++*;*; <==r2   c                d    | j                  | j                         | j                  j                  S r7   )_completeIfNotSetr8   rd   r^   s    r3   
avatar_urlzAuthenticatedUser.avatar_url   (    t//0%%%r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r9   rd   r^   s    r3   biozAuthenticatedUser.bio   "    tyy)yyr2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r:   rd   r^   s    r3   blogzAuthenticatedUser.blog   $    tzz*zzr2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r;   rd   r^   s    r3   collaboratorszAuthenticatedUser.collaborators   (    t223""(((r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r<   rd   r^   s    r3   companyzAuthenticatedUser.company   $    t}}-}}"""r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r=   rd   r^   s    r3   
created_atzAuthenticatedUser.created_at   ri   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r>   rd   r^   s    r3   
disk_usagezAuthenticatedUser.disk_usage   ri   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r?   rd   r^   s    r3   r(   zAuthenticatedUser.email   $    t{{+{{   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r@   rd   r^   s    r3   
events_urlzAuthenticatedUser.events_url   ri   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rA   rd   r^   s    r3   	followerszAuthenticatedUser.followers   $    t/$$$r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rB   rd   r^   s    r3   followers_urlzAuthenticatedUser.followers_url   rr   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rC   rd   r^   s    r3   	followingzAuthenticatedUser.following   r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rD   rd   r^   s    r3   following_urlzAuthenticatedUser.following_url   rr   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rE   rd   r^   s    r3   	gists_urlzAuthenticatedUser.gists_url   r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rF   rd   r^   s    r3   gravatar_idzAuthenticatedUser.gravatar_id   (    t001  &&&r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rG   rd   r^   s    r3   hireablezAuthenticatedUser.hireable  $    t~~.~~###r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rH   rd   r^   s    r3   html_urlzAuthenticatedUser.html_url  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rI   rd   r^   s    r3   idzAuthenticatedUser.id  s"    txx(xx~~r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rJ   rd   r^   s    r3   locationzAuthenticatedUser.location  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rK   rd   r^   s    r3   rb   zAuthenticatedUser.login  r{   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rL   rd   r^   s    r3   namezAuthenticatedUser.name  ro   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rM   rd   r^   s    r3   node_idzAuthenticatedUser.node_id   ru   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rN   rd   r^   s    r3   organizations_urlz#AuthenticatedUser.organizations_url%  (    t667&&,,,r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rO   rd   r^   s    r3   owned_private_reposz%AuthenticatedUser.owned_private_repos*  (    t889((...r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rP   rd   r^   s    r3   planzAuthenticatedUser.plan/  ro   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rQ   rd   r^   s    r3   private_gistszAuthenticatedUser.private_gists4  rr   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rR   rd   r^   s    r3   public_gistszAuthenticatedUser.public_gists9  (    t112!!'''r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rS   rd   r^   s    r3   public_reposzAuthenticatedUser.public_repos>  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rT   rd   r^   s    r3   received_events_urlz%AuthenticatedUser.received_events_urlC  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rU   rd   r^   s    r3   	repos_urlzAuthenticatedUser.repos_urlH  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rV   rd   r^   s    r3   
site_adminzAuthenticatedUser.site_adminM  ri   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rW   rd   r^   s    r3   starred_urlzAuthenticatedUser.starred_urlR  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rX   rd   r^   s    r3   subscriptions_urlz#AuthenticatedUser.subscriptions_urlW  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rY   rd   r^   s    r3   total_private_reposz%AuthenticatedUser.total_private_repos\  r   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   rZ   rd   r^   s    r3   typezAuthenticatedUser.typea  ro   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r[   rd   r^   s    r3   
updated_atzAuthenticatedUser.updated_atf  ri   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r\   rd   r^   s    r3   urlzAuthenticatedUser.urlk  rl   r2   c                d    | j                  | j                         | j                  j                  S r7   )rg   r]   rd   r^   s    r3   two_factor_authenticationz+AuthenticatedUser.two_factor_authenticationp  s(    t>>?..444r2   c                    t        d |D              sJ |       d|i}| j                  j                  dd|      \  }}y)zf
        :calls: `POST /user/emails <http://docs.github.com/en/rest/reference/users#emails>`_
        c              3  <   K   | ]  }t        |t                y wr7   
isinstancer'   .0elements     r3   	<genexpr>z2AuthenticatedUser.add_to_emails.<locals>.<genexpr>y       B:gs+B   emailsPOST/user/emailsinputNall
_requesterrequestJsonAndCheckr_   r   post_parametersheadersdatas        r3   add_to_emailszAuthenticatedUser.add_to_emailsu  sG     B6BBJFJB#V,;;FNZi;jr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)zr
        :calls: `PUT /user/following/{user} <http://docs.github.com/en/rest/reference/users#followers>`_
        PUT/user/following/Nr   githubr   r   r   	_identityr_   r   r   r   s       r3   add_to_followingz"AuthenticatedUser.add_to_following}  sO     )V%5%5%?%?@K)K@;;EEUV_ViViUjCklr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)zz
        :calls: `PUT /user/starred/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#starring>`_
        r   /user/starred/Nr   r   r"   r   r   r   r_   starredr   r   s       r3   add_to_starredz AuthenticatedUser.add_to_starred  sN     '6#4#4#?#?@I'I@;;E^T[TeTeSfCghr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)z
        :calls: `PUT /user/subscriptions/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#watching>`_
        r   /user/subscriptions/Nr   r_   subscriptionr   r   s       r3   add_to_subscriptionsz&AuthenticatedUser.add_to_subscriptions  sO     ,(9(9(D(DES|SE;;EEYZfZpZpYqCrsr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                   dddi      \  }}y)z
        :calls: `PUT /repos/{owner}/{repo}/subscription <http://docs.github.com/en/rest/reference/activity#watching>`_
        r   /repos//subscription
subscribedTr   Nr   r_   watchedr   r   s       r3   add_to_watchedz AuthenticatedUser.add_to_watched  s`     '6#4#4#?#?@I'I@;;g''(6& < 
r2   Nc                   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       |t        |t              sJ |       t	        j
                  |||||d      }|t        j                  |i}nd}| j                  j                  dd||      \  }	}
t        j                  j                  | j                  |	|
d      S )zu
        :calls: `POST /authorizations <https://docs.github.com/en/developers/apps/authorizing-oauth-apps>`_
        N)scopesnotenote_url	client_idclient_secretr   /authorizationsr   r   T	completed)r   r'   r   r   r   remove_unset_itemsr	   	headerOTPr   r   r   r   )r_   r   r   r   r   r   onetime_passwordr   request_headerr   r   s              r3   create_authorizationz&AuthenticatedUser.create_authorization  s     ,4f4,4%+t+%8S)383)9c*5I5*=#.==.':6F+L^N^^L*0*C*C $&!.+
 '$..0@AN!N;;!"	 < 
 ##11$//7D\`1aar2   c                    t        | t        j                  j                        sJ |        | j                  t        j                  j
                  ||      S )zt
        :calls: `POST /repos/{owner}/{repo}/forks <http://docs.github.com/en/rest/reference/repos#forks>`_
        )organizationr   default_branch_only)r   r   r"   create_forkGithubObjectr   )repor   r   s      r3   r  zAuthenticatedUser.create_fork  sR     $ 1 1 < <=CtC=,,33 3   
 	
r2   c                F   t        |t              sJ |       t        |t        j                  j                        sJ |       t	        |t              sJ |       t	        |t
              sJ |       t	        |t
              sJ |       t        j                  || j                  |||d      }| j                  j                  dd|j                  j                   d|j                   d|ddi      \  }}t        j                  j                  | j                  ||d	
      S )z
        :calls: `POST /repos/{template_owner}/{template_repo}/generate <https://docs.github.com/en/rest/reference/repos#create-a-repository-using-a-template>`_
        )r   ownerdescriptioninclude_all_branchesprivater   r   /z	/generateAcceptzapplication/vnd.github.v3+jsonr   Tr   )r   r'   r   r"   r   r)   r   r   rb   r   r   r  r   )	r_   r   r  r  r  r  r   r   r   s	            r3   create_repo_from_templatez+AuthenticatedUser.create_repo_from_template  s    $$*d*$$ 1 1 < <=CtC=;,9k9,/6L8LL67D)272)*0*C*C*(<"+
 ;;djj&&'q9=!?@	 < 
   ++DOOWdVZ+[[r2   c                   t        |t              sJ |       t        d |j                         D              sJ |       t	        |      st        |t
              sJ |       ||j                         D ci c]  \  }}||j                   c}}d}t        |      r||d<   | j                  j                  dd|      \  }}t        j                  j                  | j                  ||d      S c c}}w )	zY
        :calls: `POST /gists <http://docs.github.com/en/rest/reference/gists>`_
        c              3  P   K   | ]  }t        |t        j                           y wr7   )r   r   r   r   s     r3   r   z0AuthenticatedUser.create_gist.<locals>.<genexpr>  s     ^G:gv'>'>?^s   $&)publicfilesr  r   /gistsr   Tr   )r   r)   r   valuesr   r'   itemsr   r   r   r   r   r   )	r_   r  r  r  keyrd   r   r   r   s	            r3   create_gistzAuthenticatedUser.create_gist  s     &$'//'^u||~^^e`ee^K(J{C,HU+UH=B[[]KzsEc5??*K
 k"-8OM*;;FHTc;d{{$$OO Ls   5C0c                   t        |t              sJ |       t        |t              sJ |       ||d}| j                  j                  dd|      \  }}t        j
                  j                  | j                  ||d      S )z
        :calls: `POST /user/keys <http://docs.github.com/en/rest/reference/users#git-ssh-keys>`_
        :param title: string
        :param key: string
        :rtype: :class:`github.UserKey.UserKey`
        )titler  r   
/user/keysr   Tr   )r   r'   r   r   r   r$   )r_   r  r  r   r   r   s         r3   
create_keyzAuthenticatedUser.create_key  s     %%,u,%#s#(S(#
 ;;FLXg;h~~%%doowPT%UUr2   c                <   t        |t              sJ |       t        |      st        |t              sJ |       ||d}| j                  j	                  dd|dt
        j                  i      \  }}t        j                  j                  | j                  ||d      S )z
        :calls: `POST /user/projects <https://docs.github.com/en/rest/reference/projects#create-a-user-project>`_
        :param name: string
        :param body: string
        :rtype: :class:`github.Project.Project`
        )r   bodyr   z/user/projectsr
  r   Tr   )	r   r'   r   r   r   r	   mediaTypeProjectsPreviewr   r!   )r_   r   r  r   r   r   s         r3   create_projectz AuthenticatedUser.create_project  s     $$*d*$D!Zc%:@D@:
 ;;!v>>?	 < 
 ~~%%doowPT%UUr2   c                   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |	t              sJ |	       t        |
t              sJ |
       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t	        j
                  i d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|      }| j                  j                  dd|      \  }}t        j                  j                  | j                  ||d      S )z^
        :calls: `POST /user/repos <http://docs.github.com/en/rest/reference/repos>`_
        r   r  homepager  
has_issueshas_wikihas_downloadshas_projectshas_discussions	auto_initlicense_templategitignore_templateallow_squash_mergeallow_merge_commitallow_rebase_mergedelete_branch_on_merger   /user/reposr   Tr   )
r   r'   r   r)   r   r   r   r   r   r"   )r_   r   r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r   r   r   s                       r3   create_repozAuthenticatedUser.create_repo1  s~   , $$*d*$;,9k9,8S)383)7D)272):t,8j8,8T*4H4*=$/>>/<.<<.?D1B?B19d+6Y6++S1C3CC1-s3G5GG3-t4H6HH4-t4H6HH4-t4H6HH4148P:PP8*0*C*C{ H 7	
 j H    "? Y #$4 %&8 %&8 %&8 %&8  )*@!+
* ;;FMYh;i  ++DOOWdVZ+[[r2   c           
        t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        j                  |||||||d      }| j
                  j                  dd|      \  }	}
| j                  |
       y)zY
        :calls: `PATCH /user <http://docs.github.com/en/rest/reference/users>`_
        )r   r(   rn   rt   r   r   rk   PATCHz/userr   N)r   r'   r)   r   r   r   r   _useAttributes)r_   r   r(   rn   rt   r   r   rk   r   r   r   s              r3   editzAuthenticatedUser.edito  s     4%+t+%5#&--&4%+t+%7C(1'1(8S)383)8T*4H4*3$)c)$*0*C*C"$$
+
 ;;GWTc;dD!r2   c                    t        |t              sJ |       | j                  j                  dd|       \  }}t        j
                  j                  | j                  ||d      S )zy
        :calls: `GET /authorizations/{id} <https://docs.github.com/en/developers/apps/authorizing-oauth-apps>`_
        GETz/authorizations/Tr   )r   intr   r   r   r   r_   r   r   r   s       r3   get_authorizationz#AuthenticatedUser.get_authorization  sb     "c"&B&";;EEUVXUYCZ[##11$//7D\`1aar2   c                b    t        t        j                  j                  | j                  dd      S )zt
        :calls: `GET /authorizations <https://docs.github.com/en/developers/apps/authorizing-oauth-apps>`_
        r   N)r   r   r   r   r^   s    r3   get_authorizationsz$AuthenticatedUser.get_authorizations  s'     V11??Rceijjr2   c                |    | j                   j                  dd      \  }}|D cg c]  }t        di | c}S c c}w )ze
        :calls: `GET /user/emails <http://docs.github.com/en/rest/reference/users#emails>`_
        r2  r   r1   )r   r   r&   )r_   r   r   items       r3   
get_emailszAuthenticatedUser.get_emails  s:     ;;E>R.23d	!D!333s   9c                b    t        t        j                  j                  | j                  dd      S )zc
        :calls: `GET /events <http://docs.github.com/en/rest/reference/activity#events>`_
        z/eventsN)r   r   r   r   r^   s    r3   
get_eventszAuthenticatedUser.get_events  s#     V\\//)TRRr2   c                b    t        t        j                  j                  | j                  dd      S )zk
        :calls: `GET /user/followers <http://docs.github.com/en/rest/reference/users#followers>`_
        z/user/followersNr   r   r   r   r^   s    r3   get_followerszAuthenticatedUser.get_followers  '     V--77J[]abbr2   c                b    t        t        j                  j                  | j                  dd      S )zk
        :calls: `GET /user/following <http://docs.github.com/en/rest/reference/users#followers>`_
        z/user/followingNr>  r^   s    r3   get_followingzAuthenticatedUser.get_following  r@  r2   c                    t        |t              sJ |       i }t        |      r|j                  d      |d<   t	        t
        j                  j                  | j                  d|      S )z
        :calls: `GET /gists <http://docs.github.com/en/rest/reference/gists>`_
        :param since: datetime format YYYY-MM-DDTHH:MM:SSZ
        :rtype: :class:`PaginatedList` of :class:`github.Gist.Gist`
        %Y-%m-%dT%H:%M:%SZsincer  )r   r   r   strftimer   r   r   r   )r_   rE  url_parameterss      r3   	get_gistszAuthenticatedUser.get_gists  sY     5(+2U2+)+e&+nn5I&JN7#V[[--t.YYr2   c                   t        |t              sJ |       t        |t              sJ |       t        |t        j                  j                        sJ |       t        |t              sJ |       t        |t              sJ |       t        |t
              sJ |       i }t        |      r||d<   t        |      r||d<   t        |      rdj                  d |D              |d<   t        |      r||d<   t        |      r||d<   t        |      r|j                  d      |d	<   t        t        j                  j                  | j                  d
|      S )zZ
        :calls: `GET /issues <http://docs.github.com/en/rest/reference/issues>`_
        filterstate,c              3  4   K   | ]  }|j                     y wr7   r   r   labels     r3   r   z/AuthenticatedUser.get_issues.<locals>.<genexpr>       /Ou

/O   labelssort	directionrD  rE  z/issuesr   r'   r   r   r   r   r   joinrF  r   r   r   r_   rJ  rK  rS  rT  rU  rE  rG  s           r3   
get_issueszAuthenticatedUser.get_issues  s5    63'//'5#&--&(:(:;CVC;4%+t+%9c*5I5*5(+2U2+)+f'-N8$e&+N7#f'*xx/O/O'ON8$d%)N6"i *3N;'e&+nn5I&JN7#V\\//)^\\r2   c                   t        |t              sJ |       t        |t              sJ |       t        |t        j                  j                        sJ |       t        |t              sJ |       t        |t              sJ |       t        |t
              sJ |       i }t        |      r||d<   t        |      r||d<   t        |      rdj                  d |D              |d<   t        |      r||d<   t        |      r||d<   t        |      r|j                  d      |d	<   t        t        j                  j                  | j                  d
|      S )z_
        :calls: `GET /user/issues <http://docs.github.com/en/rest/reference/issues>`_
        rJ  rK  rL  c              3  4   K   | ]  }|j                     y wr7   rN  rO  s     r3   r   z4AuthenticatedUser.get_user_issues.<locals>.<genexpr>  rQ  rR  rS  rT  rU  rD  rE  z/user/issuesrV  rX  s           r3   get_user_issuesz!AuthenticatedUser.get_user_issues  s6    63'//'5#&--&(:(:;CVC;4%+t+%9c*5I5*5(+2U2+)+f'-N8$e&+N7#f'*xx/O/O'ON8$d%)N6"i *3N;'e&+nn5I&JN7#V\\//.R`aar2   c                    t        |t              sJ |       | j                  j                  dd|       \  }}t        j
                  j                  | j                  ||d      S )zn
        :calls: `GET /user/keys/{id} <http://docs.github.com/en/rest/reference/users#git-ssh-keys>`_
        r2  z/user/keys/Tr   )r   r3  r   r   r   r$   r4  s       r3   get_keyzAuthenticatedUser.get_key  s_     "c"&B&";;E[QSPTCUV~~%%doowPT%UUr2   c                b    t        t        j                  j                  | j                  dd      S )zi
        :calls: `GET /user/keys <http://docs.github.com/en/rest/reference/users#git-ssh-keys>`_
        r  N)r   r   r$   r   r^   s    r3   get_keyszAuthenticatedUser.get_keys  s$     V^^33T__lTXYYr2   c                    t        |t              sJ |       | j                  j                  dd|       \  }}t        j
                  j                  | j                  ||d      S )z~
        :calls: `GET /notifications/threads/{id} <http://docs.github.com/en/rest/reference/activity#notifications>`_
        r2  z/notifications/threads/Tr   )r   r'   r   r   r   r   r4  s       r3   get_notificationz"AuthenticatedUser.get_notification  sb    
 "c"&B&";;EE\]_\`Cab""//$Z^/__r2   c                   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       i }t        |      r	|rdnd|d<   t        |      r	|rdnd|d<   t        |      r|j	                  d      |d<   t        |      r|j	                  d      |d<   t        t        j                  j                  | j                  d|      S )	zq
        :calls: `GET /notifications <http://docs.github.com/en/rest/reference/activity#notifications>`_
        truefalser   participatingrD  rE  before/notifications)	r   r)   r   r   rF  r   r   r   r   )r_   r   rf  rE  rg  paramss         r3   get_notificationsz#AuthenticatedUser.get_notifications  s     3%*s*%=$/>>/5(+2U2+68,4f4,!#c?&)FwF5Mm$0=f7F?#e#nn-ABF7Of%/CDF8V00==tP`bhiir2   c                    t        |t        j                  j                        sJ |       t        t        j                  j                  | j
                  d| j                   d|j                   d      S )z{
        :calls: `GET /users/{user}/events/orgs/{org} <http://docs.github.com/en/rest/reference/activity#events>`_
        z/users/z/events/orgs/N)r   r   r   r   r   r   rb   )r_   orgs     r3   get_organization_eventsz)AuthenticatedUser.get_organization_events<  sa     #v22??@E#E@LLOOdjj\syyk:	
 	
r2   c                b    t        t        j                  j                  | j                  dd      S )z[
        :calls: `GET /user/orgs <http://docs.github.com/en/rest/reference/orgs>`_
        z
/user/orgsN)r   r   r   r   r^   s    r3   get_orgszAuthenticatedUser.get_orgsH  s'     V00==tP\^bccr2   c                &   t        |t              sJ |       t        j                  j	                  |      }| j
                  j                  dd| j                   d|       \  }}t        j                  j                  | j
                  ||d      S )zg
        :calls: `GET /repos/{owner}/{repo} <http://docs.github.com/en/rest/reference/repos>`_
        r2  r   r	  Tr   )
r   r'   urllibparsequoter   r   rb   r   r"   )r_   r   r   r   s       r3   get_repozAuthenticatedUser.get_repoN  s     $$*d*$||!!$';;EWTZZLXYZ^Y_C`a  ++DOOWdVZ+[[r2   c                ~   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        j                  |||||d      }t	        t
        j                  j                  | j                  d|      S )z]
        :calls: `GET /user/repos <http://docs.github.com/en/rest/reference/repos>`_
        )r,   affiliationr   rT  rU  r+  )r   r'   r   r   r   r   r"   r   )r_   r,   rv  r   rT  rU  rG  s          r3   	get_reposzAuthenticatedUser.get_reposW  s     :s+7Z7+;,9k9,4%+t+%4%+t+%9c*5I5*22(*&
 V..994??M[ijjr2   c                b    t        t        j                  j                  | j                  dd      S )zk
        :calls: `GET /user/starred <http://docs.github.com/en/rest/reference/activity#starring>`_
        z/user/starredNr   r   r"   r   r^   s    r3   get_starredzAuthenticatedUser.get_starredr  s&     V..994??O]abbr2   c                b    t        t        j                  j                  | j                  dd      S )z`
        :calls: `GET /gists/starred <http://docs.github.com/en/rest/reference/gists>`_
        z/gists/starredN)r   r   r   r   r^   s    r3   get_starred_gistsz#AuthenticatedUser.get_starred_gistsx  s%     V[[--t@PRVWWr2   c                b    t        t        j                  j                  | j                  dd      S zq
        :calls: `GET /user/subscriptions <http://docs.github.com/en/rest/reference/activity#watching>`_
        z/user/subscriptionsNry  r^   s    r3   get_subscriptionsz#AuthenticatedUser.get_subscriptions~  '     V..994??Lacghhr2   c                b    t        t        j                  j                  | j                  dd      S )z]
        :calls: `GET /user/teams <http://docs.github.com/en/rest/reference/teams>`_
        z/user/teamsN)r   r   r#   r   r^   s    r3   	get_teamszAuthenticatedUser.get_teams  s#     V[[--ttTTr2   c                b    t        t        j                  j                  | j                  dd      S r~  ry  r^   s    r3   get_watchedzAuthenticatedUser.get_watched  r  r2   c                    t        t        j                  j                  | j                  dddt        j
                  id      S )zd
        :calls: `GET /user/installations <http://docs.github.com/en/rest/reference/apps>`_
        z/user/installationsNr
  installations)r   	list_item)r   r   r   r   r	   mediaTypeIntegrationPreviewr^   s    r3   get_installationsz#AuthenticatedUser.get_installations  s>     ,,OO!vAAB%
 	
r2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}}|dk(  S )zr
        :calls: `GET /user/following/{user} <http://docs.github.com/en/rest/reference/users#followers>`_
        r2  r      )r   r   r   r   requestJsonr   )r_   r   statusr   r   s        r3   has_in_followingz"AuthenticatedUser.has_in_following  s\     )V%5%5%?%?@K)K@ $ ; ;EEUV_ViViUjCk l}r2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}}|dk(  S )zz
        :calls: `GET /user/starred/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#starring>`_
        r2  r   r  r   r   r"   r   r  r   )r_   r   r  r   r   s        r3   has_in_starredz AuthenticatedUser.has_in_starred  s[     '6#4#4#?#?@I'I@ $ ; ;E^T[TeTeSfCg h}r2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}}|dk(  S )z
        :calls: `GET /user/subscriptions/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#watching>`_
        r2  r   r  r  )r_   r   r  r   r   s        r3   has_in_subscriptionsz&AuthenticatedUser.has_in_subscriptions  s\     ,(9(9(D(DES|SE $ ; ;EEYZfZpZpYqCr s}r2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                   d      \  }}}|dk(  S )z
        :calls: `GET /repos/{owner}/{repo}/subscription <http://docs.github.com/en/rest/reference/activity#watching>`_
        r2  r   r      r  )r_   r   r  r   r   s        r3   has_in_watchedz AuthenticatedUser.has_in_watched  s]     '6#4#4#?#?@I'I@ $ ; ;EWWM^M^L__lCm n}r2   c                    |#t        j                  t        j                        }t	        |t               sJ d|j                  d      i}| j                  j                  dd|      \  }}y)zr
        :calls: `PUT /notifications <https://docs.github.com/en/rest/reference/activity#notifications>`_
        Nlast_read_atrD  r   rh  r   )r   nowr   utcr   rF  r   r   )r_   r  put_parametersr   r   s        r3   mark_notifications_as_readz,AuthenticatedUser.mark_notifications_as_read  sc     #<<5L,111(,*?*?@T*UV;;ECS[i;jr2   c                    t        d |D              sJ |       d|i}| j                  j                  dd|      \  }}y)zh
        :calls: `DELETE /user/emails <http://docs.github.com/en/rest/reference/users#emails>`_
        c              3  <   K   | ]  }t        |t                y wr7   r   r   s     r3   r   z7AuthenticatedUser.remove_from_emails.<locals>.<genexpr>  r   r   r   DELETEr   r   Nr   r   s        r3   remove_from_emailsz$AuthenticatedUser.remove_from_emails  sG     B6BBJFJB#V,;;Hn\k;lr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)zu
        :calls: `DELETE /user/following/{user} <http://docs.github.com/en/rest/reference/users#followers>`_
        r  r   Nr   r   s       r3   remove_from_followingz'AuthenticatedUser.remove_from_following  sO     )V%5%5%?%?@K)K@;;HHXYbYlYlXmFnor2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)z}
        :calls: `DELETE /user/starred/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#starring>`_
        r  r   Nr   r   s       r3   remove_from_starredz%AuthenticatedUser.remove_from_starred  sN     '6#4#4#?#?@I'I@;;HW^WhWhViFjkr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                         \  }}y)z
        :calls: `DELETE /user/subscriptions/{owner}/{repo} <http://docs.github.com/en/rest/reference/activity#watching>`_
        r  r   Nr   r   s       r3   remove_from_subscriptionsz+AuthenticatedUser.remove_from_subscriptions  sO     ,(9(9(D(DES|SE;;HH\]i]s]s\tFuvr2   c                    t        |t        j                  j                        sJ |       | j                  j	                  dd|j
                   d      \  }}y)z
        :calls: `DELETE /repos/{owner}/{repo}/subscription <http://docs.github.com/en/rest/reference/activity#watching>`_
        r  r   r   Nr   r   s       r3   remove_from_watchedz%AuthenticatedUser.remove_from_watched  sQ     '6#4#4#?#?@I'I@;;HPWPaPaObboFpqr2   c                   t        |t        j                  j                        st        |t              sJ t        |t        j                  j                        r|j                  }| j
                  j                  dd| i       \  }}y)z
        :calls: `PATCH /user/repository_invitations/{invitation_id} <https://docs.github.com/en/rest/reference/repos/invitations#>`_
        r.  z/user/repository_invitations/r   N)r   r   r   r3  r   r   r   )r_   
invitationr   r   s       r3   accept_invitationz#AuthenticatedUser.accept_invitation  sv     *f&7&7&B&BCzR\^aGbbbj&"3"3">">?#J;;4ZLA < 
r2   c                b    t        t        j                  j                  | j                  dd      S )z{
        :calls: `GET /user/repository_invitations <https://docs.github.com/en/rest/reference/repos#invitations>`_
        z/user/repository_invitationsN)r   r   r   r   r^   s    r3   get_invitationsz!AuthenticatedUser.get_invitations  s-     ((OO*	
 	
r2   c                   t        |t        t        f      sJ |       t        d |D              sJ |       t	        |t
              sJ |       t	        |t
              sJ |       t        j                  |||d      }| j                  j                  dd|dt        j                  i      \  }}t        j                  j                  | j                  ||d      S )	zi
        :calls: `POST /user/migrations <https://docs.github.com/en/rest/reference/migrations>`_
        c              3  <   K   | ]  }t        |t                y wr7   r   )r   r  s     r3   r   z5AuthenticatedUser.create_migration.<locals>.<genexpr>  s     ;T:dC(;r   )repositorieslock_repositoriesexclude_attachmentsr   /user/migrationsr
  r   Tr   )r   listtupler   r   r)   r   r   r   r   r	   mediaTypeMigrationPreviewr   r   )r_   reposr  r  r   r   r   s          r3   create_migrationz"AuthenticatedUser.create_migration  s     %$/66/;U;;BUB;,d3F5FF3.5J7JJ5*0*C*C %%6':+
 ;;!v??@	 < 
 ))$//7DTX)YYr2   c                    t        t        j                  j                  | j                  dddt        j
                  i      S )zh
        :calls: `GET /user/migrations <https://docs.github.com/en/rest/reference/migrations>`_
        r  Nr
  )r   )r   r   r   r   r	   r  r^   s    r3   get_migrationsz AuthenticatedUser.get_migrations!  s;     &&OOv??@
 	
r2   c                   t        |t              sJ t        j                  j	                  |      }| j
                  j                  dd|       \  }}t        j                  j                  | j
                  ||d      S )z
        :calls: `GET /user/memberships/orgs/{org} <https://docs.github.com/en/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user>`_
        r2  z/user/memberships/orgs/Tr   )	r   r'   rq  rr  rs  r   r   r   r   )r_   rl  r   r   s       r3   get_organization_membershipz-AuthenticatedUser.get_organization_membership-  sq     #s###ll  %;;EE\]`\aCbc  ++DOOWdVZ+[[r2   c                   d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j	                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j	                  |d         | _	        d|v r| j                  |d         | _
        d	|v r| j                  |d	         | _        d
|v r| j	                  |d
         | _        d|v r| j                  |d         | _        d|v r| j	                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j%                  |d         | _        d|v r| j                  |d         | _        d|v r| j	                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j	                  |d         | _        d|v r2| j9                  t:        j<                  j<                  |d         | _        d|v r| j	                  |d         | _         d|v r| j	                  |d         | _!        d|v r| j	                  |d         | _"        d|v r| j                  |d         | _#        d|v r| j                  |d         | _$        d|v r| j%                  |d         | _%        d |v r| j                  |d          | _&        d!|v r| j                  |d!         | _'        d"|v r| j	                  |d"         | _(        d#|v r| j                  |d#         | _)        d$|v r| j                  |d$         | _*        d%|v r| j                  |d%         | _+        d&|v r| j%                  |d&         | _,        y y )'Nrh   rk   rn   rq   rt   rw   ry   r(   r}   r   r   r   r   r   r   r   r   r   r   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )-_makeStringAttributer8   r9   r:   _makeIntAttributer;   r<   _makeDatetimeAttributer=   r>   r?   r@   rA   rB   rC   rD   rE   rF   _makeBoolAttributerG   rH   rI   rJ   rK   rL   rM   rN   rO   _makeClassAttributer   r    rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   )r_   
attributess     r3   r/  z AuthenticatedUser._useAttributes6  s   :%#88L9QRDJ11*U2CDDIZ22:f3EFDJj("&"8"8O9T"UD
" 55j6KLDM:%#:::l;STD:%#55j6NODj 33Jw4GHDK:%#88L9QRD*$"44Z5LMDOj("&";";J<W"XD*$"44Z5LMDOj("&";";J<W"XD*$"77
;8OPDOJ& $ 9 9*]:S TD#!44Z
5KLDN#!66z*7MNDN:--j.>?DH#!66z*7MNDNj 33Jw4GHDKZ22:f3EFDJ
" 55j6KLDM*,&*&?&?
K^@_&`D# J.(,(>(>zJ_?`(aD%Z11&++2B2BJvDVWDJj("&"8"8O9T"UDZ'!%!7!7
>8R!SDZ'!%!7!7
>8R!SD J.(,(A(A*MbBc(dD%*$"77
;8OPDO:%#66z,7OPDJ& $ 9 9*]:S TD*,&*&?&?
K^@_&`D# J.(,(>(>zJ_?`(aD%Z22:f3EFDJ:%#:::l;STDJ11*U2CDDI&*4.2.E.EjQlFm.nD+ 5r2   )returnNone)r  r'   )r  r3  )r  r   )r  r)   )r  r    )r   r'   r  r  )r   r   r  r  )r   r"   r  r  )r   r"   r  r  )r   r"   r  r  )r   zOpt[list[str]]r   Opt[str]r   r  r   r  r   r  r   z
str | Noner  r   )r  r"   r   r  r   	Opt[bool]r  r"   )r   r'   r  r"   r  r  r  r  r  r  r  r"   )r  r)   r  zdict[str, InputFileContent]r  r  r  r   )r  r'   r  r'   r  r$   )r   r'   r  r  r  r!   )"r   r'   r  r  r  r  r  r  r  r  r   r  r!  r  r"  r  r#  r  r$  r  r%  r  r&  r  r'  r  r(  r  r)  r  r*  r  r  r"   )r   r  r(   r  rn   r  rt   r  r   r  r   r  rk   r  r  r  )r   r3  r  r   )r  zPaginatedList[Authorization])r  zlist[EmailData])r  PaginatedList[Event])r  zPaginatedList[NamedUser])rE  Opt[datetime]r  PaginatedList[Gist])rJ  r  rK  r  rS  zOpt[list[Label]]rT  r  rU  r  rE  r  r  zPaginatedList[Issue])r   r3  r  r$   )r  zPaginatedList[UserKey])r   r'   r  r   )
r   r  rf  r  rE  r  rg  r  r  zPaginatedList[Notification])rl  r   r  r  )r  zPaginatedList[Organization])r   r'   r  r"   )r,   r  rv  r  r   r  rT  r  rU  r  r  PaginatedList[Repository])r  r  )r  r  )r  zPaginatedList[Team])r  zPaginatedList[Installation])r   r   r  r)   )r   r"   r  r)   )r   r"   r  r)   )r   r"   r  r)   r7   )r  zdatetime | Noner  r  )r  zInvitation | intr  r  )r  zPaginatedList[Invitation])r  z$list[Repository] | tuple[Repository]r  r  r  r  r  r   )r  zPaginatedList[Migration])rl  r'   r  r   )r  zdict[str, Any]r  r  )cr-   r.   r/   __doc__r`   re   propertyrh   rk   rn   rq   rt   rw   ry   r(   r}   r   r   r   r   r   r   r   r   r   r   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   staticmethodr  r  r  r  r  r,  r0  r5  r7  r:  r<  r?  rB  rH  rY  r\  r^  r`  rb  rj  rm  ro  rt  rw  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r/  r1   r2   r3   r5   r5      s-   &BP> & &       ) ) # # & & & & ! ! & & % % ) ) % % ) ) % % ' ' $ $ $ $   $ $ ! !     # # - - / /     ) ) ( ( ( ( / / % % & & ' ' - - / /     & &   5 5kmit	
 "(#$"('+&b&b &b 	&b
 &b  &b %&b 
&bP   )/


 '
 
	
 
& !'*0# \ \  \ 	 \
 ( \  \ 
 \L !'	PP +P 	P
 
P*V  :@ V0 !'## &$#)"(%+%%+'-(.(.(.,2#<\<\ <\ 	<\
 <\ <\ <\ !<\  <\ #<\ <\ #<\ %<\ &<\ &<\  &!<\" !*#<\$ 
%<\@   "#$!"!" !" 	!"
 !" !" !" !" 
!"Fbk4Scc 06 
Z " #)$%]] ] !	]
 ] ] ] 
]F " #)$%bb b !	b
 b b b 
bBVZ`  #)% &jj !j 	j
 j 
%j<

d\  & &$kk k 	k
 k k 
#k6cXiUi
	kmplwr
	
 (.)/	Z3Z %Z '	Z
 
Z:

\Lor2   r5   )=
__future__r   urllib.parserq  r   r   typingr   r   r   github.Authorizationr   github.Eventgithub.Gistgithub.GithubObjectgithub.Invitationgithub.Issuegithub.Membershipgithub.Migrationgithub.NamedUsergithub.Notificationgithub.Organizationgithub.Plangithub.Repositorygithub.UserKeyr	   r
   r   r   r   r   r   r   r   github.PaginatedListr   r   r   r   github.InputFileContentr   github.Installationr   r   r   github.Labelr   r   r   r   r   r   r    github.Projectr!   r"   github.Teamr#   r$   r&   r5   r1   r2   r3   <module>r     s   P #  ' 1 1               	 	 	 /2" 80,"",**00 &, &
 }o/ }or2   