
    ]ha                     6   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mZ ddlmZ dZ	d Z
d dZd d	Zd d
Zd dZd!dZd!dZd Zd Zd Zd Z G d d      Z G d d      Z G d d      Z G d de      Z G d de      Z G d d      Z G d d      Zy)"zFirebase Project Management module.

This module enables management of resources in Firebase projects, such as Android and iOS apps.
    N)
exceptions)_http_client)_utils_project_managementc                 @    t        j                  | t        t              S N)r   get_app_service_PROJECT_MANAGEMENT_ATTRIBUTE_ProjectManagementServiceapps    g/var/www/html/Kila-kolis-project/venv/lib/python3.12/site-packages/firebase_admin/project_management.py_get_project_management_servicer   #   s    !!#'DF_``    c                 .    t        | t        |            S )zObtains a reference to an Android app in the associated Firebase project.

    Args:
        app_id: The app ID that identifies this Android app.
        app: An App instance (optional).

    Returns:
        AndroidApp: An ``AndroidApp`` instance.
    app_idservice)
AndroidAppr   r   r   s     r   android_appr   '   s     V-LS-QRRr   c                 .    t        | t        |            S )zObtains a reference to an iOS app in the associated Firebase project.

    Args:
        app_id: The app ID that identifies this iOS app.
        app: An App instance (optional).

    Returns:
        IOSApp: An ``IOSApp`` instance.
    r   )IOSAppr   r   s     r   ios_appr   4   s     )H)MNNr   c                 4    t        |       j                         S )zLists all Android apps in the associated Firebase project.

    Args:
        app: An App instance (optional).

    Returns:
        list: a list of ``AndroidApp`` instances referring to each Android app in the Firebase
        project.
    )r   list_android_appsr   s    r   r   r   A   s     +3/AACCr   c                 4    t        |       j                         S )zLists all iOS apps in the associated Firebase project.

    Args:
        app: An App instance (optional).

    Returns:
        list: a list of ``IOSApp`` instances referring to each iOS app in the Firebase project.
    )r   list_ios_appsr   s    r   r   r   N   s     +3/==??r   c                 8    t        |      j                  | |      S )al  Creates a new Android app in the associated Firebase project.

    Args:
        package_name: The package name of the Android app to be created.
        display_name: A nickname for this Android app (optional).
        app: An App instance (optional).

    Returns:
        AndroidApp: An ``AndroidApp`` instance that is a reference to the newly created app.
    )r   create_android_app)package_namedisplay_namer   s      r   r    r    Z   s     +3/BB<Q]^^r   c                 8    t        |      j                  | |      S )aR  Creates a new iOS app in the associated Firebase project.

    Args:
        bundle_id: The bundle ID of the iOS app to be created.
        display_name: A nickname for this iOS app (optional).
        app: An App instance (optional).

    Returns:
        IOSApp: An ``IOSApp`` instance that is a reference to the newly created app.
    )r   create_ios_app)	bundle_idr"   r   s      r   r$   r$   h   s     +3/>>y,WWr   c                 ^    | t        | t              r| S t        dj                  |            )Nz{0} must be a string.
isinstancestr
ValueErrorformatobj
field_names     r   _check_is_string_or_noner/   v   s,    
{jc*

,33J?
@@r   c                 ^    t        | t              r| r| S t        dj                  |            )Nz{0} must be a non-empty string.r'   r,   s     r   _check_is_nonempty_stringr1   |   s*    #s

6==jI
JJr   c                      | y t        | |      S r   )r1   r,   s     r   !_check_is_nonempty_string_or_noner3      s    
{$S*55r   c                 >    | t        dj                  |            | S )Nz{0} cannot be None.)r*   r+   r,   s     r   _check_not_noner5      s#    
{.55jABBJr   c                   J    e Zd ZdZd Zed        Zd Zd Zd Z	d Z
d Zd	 Zy
)r   a!  A reference to an Android app within a Firebase project.

    Note: Unless otherwise specified, all methods defined in this class make an RPC.

    Please use the module-level function ``android_app(app_id)`` to obtain instances of this class
    instead of instantiating it directly.
    c                      || _         || _        y r   _app_id_serviceselfr   r   s      r   __init__zAndroidApp.__init__       r   c                     | j                   S )zReturns the app ID of the Android app to which this instance refers.

        Note: This method does not make an RPC.

        Returns:
            string: The app ID of the Android app to which this instance refers.
        r9   r<   s    r   r   zAndroidApp.app_id        ||r   c                 L    | j                   j                  | j                        S )a&  Retrieves detailed information about this Android app.

        Returns:
            AndroidAppMetadata: An ``AndroidAppMetadata`` instance.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service.
        )r:   get_android_app_metadatar9   rA   s    r   get_metadatazAndroidApp.get_metadata   s     }}55dllCCr   c                 N    | j                   j                  | j                  |      S )ah  Updates the display name attribute of this Android app to the one given.

        Args:
            new_display_name: The new display name for this Android app.

        Returns:
            NoneType: None.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service.
        )r:   set_android_app_display_namer9   r<   new_display_names     r   set_display_namezAndroidApp.set_display_name   s      }}99$,,HXYYr   c                 L    | j                   j                  | j                        S )zFRetrieves the configuration artifact associated with this Android app.)r:   get_android_app_configr9   rA   s    r   
get_configzAndroidApp.get_config   s    }}33DLLAAr   c                 L    | j                   j                  | j                        S )a5  Retrieves the entire list of SHA certificates associated with this Android app.

        Returns:
            list: A list of ``SHACertificate`` instances.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service.
        )r:   get_sha_certificatesr9   rA   s    r   rO   zAndroidApp.get_sha_certificates        }}11$,,??r   c                 N    | j                   j                  | j                  |      S )aw  Adds a SHA certificate to this Android app.

        Args:
            certificate_to_add: The SHA certificate to add.

        Returns:
            NoneType: None.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service. (For example, if the certificate_to_add already exists.)
        )r:   add_sha_certificater9   )r<   certificate_to_adds     r   rR   zAndroidApp.add_sha_certificate   s      }}00?QRRr   c                 8    | j                   j                  |      S )a  Removes a SHA certificate from this Android app.

        Args:
            certificate_to_delete: The SHA certificate to delete.

        Returns:
            NoneType: None.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service. (For example, if the certificate_to_delete is not found.)
        )r:   delete_sha_certificate)r<   certificate_to_deletes     r   rU   z!AndroidApp.delete_sha_certificate   s     }}334IJJr   N)__name__
__module____qualname____doc__r=   propertyr   rE   rJ   rM   rO   rR   rU    r   r   r   r      sD       
DZB
@SKr   r   c                   8    e Zd ZdZd Zed        Zd Zd Zd Z	y)r   a  A reference to an iOS app within a Firebase project.

    Note: Unless otherwise specified, all methods defined in this class make an RPC.

    Please use the module-level function ``ios_app(app_id)`` to obtain instances of this class
    instead of instantiating it directly.
    c                      || _         || _        y r   r8   r;   s      r   r=   zIOSApp.__init__   r>   r   c                     | j                   S )zReturns the app ID of the iOS app to which this instance refers.

        Note: This method does not make an RPC.

        Returns:
            string: The app ID of the iOS app to which this instance refers.
        r@   rA   s    r   r   zIOSApp.app_id   rB   r   c                 L    | j                   j                  | j                        S )a  Retrieves detailed information about this iOS app.

        Returns:
            IOSAppMetadata: An ``IOSAppMetadata`` instance.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service.
        )r:   get_ios_app_metadatar9   rA   s    r   rE   zIOSApp.get_metadata  rP   r   c                 N    | j                   j                  | j                  |      S )a`  Updates the display name attribute of this iOS app to the one given.

        Args:
            new_display_name: The new display name for this iOS app.

        Returns:
            NoneType: None.

        Raises:
            FirebaseError: If an error occurs while communicating with the Firebase Project
                Management Service.
        )r:   set_ios_app_display_namer9   rH   s     r   rJ   zIOSApp.set_display_name  s      }}55dllDTUUr   c                 L    | j                   j                  | j                        S )zBRetrieves the configuration artifact associated with this iOS app.)r:   get_ios_app_configr9   rA   s    r   rM   zIOSApp.get_config#  s    }}//==r   N)
rW   rX   rY   rZ   r=   r[   r   rE   rJ   rM   r\   r   r   r   r      s1       
@V>r   r   c                   L    e Zd ZdZd Zed        Zed        Zed        Zd Z	y)_AppMetadataz9Detailed information about a Firebase Android or iOS app.c                     t        |d      | _        t        |d      | _        t        |d      | _        t        |d      | _        y )Nnamer   r"   
project_id)r1   _namer9   r/   _display_name_project_id)r<   ri   r   r"   rj   s        r   r=   z_AppMetadata.__init__+  s>     /tV<
0B5lNS4ZNr   c                     | j                   S )zThe globally unique, Firebase-assigned identifier of this Android or iOS app.

        This ID is unique even across apps of different platforms.
        r@   rA   s    r   r   z_AppMetadata.app_id3  s     ||r   c                     | j                   S )zThe user-assigned display name of this Android or iOS app.

        Note that the display name can be None if it has never been set by the user.)rl   rA   s    r   r"   z_AppMetadata.display_name;  s    
 !!!r   c                     | j                   S )zPThe permanent, globally unique, user-assigned ID of the parent Firebase project.)rm   rA   s    r   rj   z_AppMetadata.project_idB  s     r   c                    t        |t        |             sy| j                  |j                  k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j
                  |j
                  k(  S NF)r(   typerk   r   r"   rj   r<   others     r   __eq__z_AppMetadata.__eq__G  sp    %d,

ekk) `dkkU\\.I `!!U%7%77`<@OOuO_O_<_	ar   N)
rW   rX   rY   rZ   r=   r[   r   r"   rj   rv   r\   r   r   rg   rg   (  sM    CO   " "    ar   rg   c                   H     e Zd ZdZ fdZed        Z fdZd Zd Z	 xZ
S )AndroidAppMetadataz;Android-specific information about an Android Firebase app.c                 T    t         t        |   ||||       t        |d      | _        y)3Clients should not instantiate this class directly.r!   N)superrx   r=   r1   _package_name)r<   r!   ri   r   r"   rj   	__class__s         r   r=   zAndroidAppMetadata.__init__S  s(     $0v|ZX6|^Tr   c                     | j                   S )zTThe canonical package name of this Android app as it would appear in the Play Store.)r|   rA   s    r   r!   zAndroidAppMetadata.package_nameX  s     !!!r   c                 `    t         t        |   |      xr | j                  |j                  k(  S r   )r{   rx   rv   r!   r<   ru   r}   s     r   rv   zAndroidAppMetadata.__eq__]  s1    ($6u= 8!!U%7%77	9r   c                 &    | j                  |       S r   rv   rt   s     r   __ne__zAndroidAppMetadata.__ne__a      ;;u%%%r   c                     t        | j                  | j                  | j                  | j                  | j
                  f      S r   )hashrk   r   r"   rj   r!   rA   s    r   __hash__zAndroidAppMetadata.__hash__d  s7    ZZd&7&7$J[J[\^ 	^r   )rW   rX   rY   rZ   r=   r[   r!   rv   r   r   __classcell__r}   s   @r   rx   rx   P  s0    EU
 " "9&^r   rx   c                   H     e Zd ZdZ fdZed        Z fdZd Zd Z	 xZ
S )IOSAppMetadataz3iOS-specific information about an iOS Firebase app.c                 T    t         t        |   ||||       t        |d      | _        y)rz   r%   N)r{   r   r=   r1   
_bundle_id)r<   r%   ri   r   r"   rj   r}   s         r   r=   zIOSAppMetadata.__init__l  s&    nd,T6<T3I{Kr   c                     | j                   S )zOThe canonical bundle ID of this iOS app as it would appear in the iOS AppStore.)r   rA   s    r   r%   zIOSAppMetadata.bundle_idq  s     r   c                 `    t         t        |   |      xr | j                  |j                  k(  S r   )r{   r   rv   r%   r   s     r   rv   zIOSAppMetadata.__eq__v  s'    ^T1%8^T^^u=^^r   c                 &    | j                  |       S r   r   rt   s     r   r   zIOSAppMetadata.__ne__y  r   r   c                     t        | j                  | j                  | j                  | j                  | j
                  f      S r   )r   rk   r   r"   rj   r%   rA   s    r   r   zIOSAppMetadata.__hash__|  s1    TZZd.?.?RVR`R`abbr   )rW   rX   rY   rZ   r=   r[   r%   rv   r   r   r   r   s   @r   r   r   i  s1    =L
  _&cr   r   c                       e Zd ZdZdZdZ ej                  d      Z ej                  d      Z	ddZ
ed        Zed	        Zed
        Zd Zd Zd Zy)SHACertificatezIRepresents a SHA-1 or SHA-256 certificate associated with an Android app.SHA_1SHA_256z^[0-9A-Fa-f]{40}$z^[0-9A-Fa-f]{64}$Nc                 T   t        |d       t        |d       || _        |j                         | _        t
        j                  j                  |      rt
        j                  | _	        yt
        j                  j                  |      rt
        j                  | _	        yt        d      )a  Creates a new SHACertificate instance.

        Args:
            sha_hash: A string; the certificate hash for the Android app.
            name: The fully qualified resource name of this certificate; note that this field should
                be omitted if the instance is being constructed for the purpose of calling the
                add_sha_certificate() method on an ``AndroidApp``.

        Raises:
            ValueError: If the sha_hash is not a valid SHA-1 or SHA-256 certificate hash.
        sha_hashri   zHThe supplied certificate hash is neither a valid SHA-1 nor SHA_256 hash.N)r1   r3   rk   lower	_sha_hashr   	_SHA_1_REmatchr   
_cert_type_SHA_256_REr   r*   )r<   r   ri   s      r   r=   zSHACertificate.__init__  s     	"(J7)$7
!)##))(3,22DO''--h7,44DOZ\ \r   c                     | j                   S )zReturns the fully qualified resource name of this certificate, if known.

        Returns:
            string: The fully qualified resource name of this certificate, if known; otherwise, the
            empty string.
        )rk   rA   s    r   ri   zSHACertificate.name  s     zzr   c                     | j                   S )zbReturns the certificate hash.

        Returns:
            string: The certificate hash.
        )r   rA   s    r   r   zSHACertificate.sha_hash  s     ~~r   c                     | j                   S )zReturns the type of the SHA certificate encoded in the hash.

        Returns:
            string: One of 'SHA_1' or 'SHA_256'.
        )r   rA   s    r   	cert_typezSHACertificate.cert_type  s     r   c                     t        |t              sy| j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S rr   )r(   r   ri   r   r   rt   s     r   rv   zSHACertificate.__eq__  sM    %0		UZZ' 2DMMU^^,K 2%//1	3r   c                 &    | j                  |       S r   r   rt   s     r   r   zSHACertificate.__ne__  r   r   c                 Z    t        | j                  | j                  | j                  f      S r   )r   ri   r   r   rA   s    r   r   zSHACertificate.__hash__  s     TYYt~~>??r   r   )rW   rX   rY   rZ   r   r   recompiler   r   r=   r[   ri   r   r   rv   r   r   r\   r   r   r   r     s    SEG

./I"**01K\0      3&@r   r   c                       e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd"dZd"dZd Zd Zd Zd Zd Zd Zd Zd Z d"d Z!d"d!Z"y)#r   zNProvides methods for interacting with the Firebase Project Management Service.zhttps://firebase.googleapis.comd      g      ?g      ?androidAppspackageNameiosAppsbundleIdc                 b   |j                   }|st        d      || _        dj                  t        j
                        }|j                  j                  dt        j                        }t        j                  |j                  j                         t        j                  d|i|      | _        y )NzProject ID is required to access the Firebase Project Management Service. Either set the projectId option, or use service account credentials. Alternatively, set the GOOGLE_CLOUD_PROJECT environment variable.zPython/Admin/{0}httpTimeoutzX-Client-Version)
credentialbase_urlheaderstimeout)rj   r*   rm   r+   firebase_admin__version__optionsgetr   DEFAULT_TIMEOUT_SECONDSJsonHttpClientr   get_credentialr   BASE_URL_client)r<   r   rj   version_headerr   s        r   r=   z"_ProjectManagementService.__init__  s    ^^
AB B &+22>3M3MN++//-1U1UV#22~~446.77'8	r   c                 l    | j                  t        j                  t        j                  t        |      S N)platform_resource_nameidentifier_namemetadata_classr   )_get_app_metadatar   ANDROID_APPS_RESOURCE_NAMEANDROID_APP_IDENTIFIER_NAMErx   r<   r   s     r   rD   z2_ProjectManagementService.get_android_app_metadata  s2    %%#<#W#W5QQ-	 &  	r   c                 l    | j                  t        j                  t        j                  t        |      S r   )r   r   IOS_APPS_RESOURCE_NAMEIOS_APP_IDENTIFIER_NAMEr   r   s     r   ra   z._ProjectManagementService.get_ios_app_metadata  s2    %%#<#S#S5MM)	 &  	r   c                     t        |d       dj                  ||      }| j                  d|      } |||   |d   |d   |j                  d      xs d|d   	      S )
z;Retrieves detailed information about an Android or iOS app.r   z/v1beta1/projects/-/{0}/{1}r   ri   appIddisplayNameN	projectId)ri   r   r"   rj   )r1   r+   _make_requestr   )r<   r   r   r   r   pathresponses          r   r   z+_ProjectManagementService._get_app_metadata  so    !&(3,334JFS%%eT2_%&!G$!m4<,. 	.r   c                 H    | j                  ||t        j                         y N)r   rI   r   )_set_display_namer   r   r<   r   rI   s      r   rG   z6_ProjectManagementService.set_android_app_display_name  s%    -#<#W#W 	 	Yr   c                 H    | j                  ||t        j                         y r   )r   r   r   r   s      r   rc   z2_ProjectManagementService.set_ios_app_display_name  s%    -#<#S#S 	 	Ur   c                 X    dj                  ||      }d|i}| j                  d||       y)z/Sets the display name of an Android or iOS app.z2/v1beta1/projects/-/{0}/{1}?updateMask=displayNamer   patchjsonN)r+   r   )r<   r   rI   r   r   request_bodys         r   r   z+_ProjectManagementService._set_display_name  s7    CJJ"F,%'787D|<r   c                 L    | j                  t        j                  t              S N)r   	app_class)
_list_appsr   r   r   rA   s    r   r   z+_ProjectManagementService.list_android_apps  s$    #<#W#W   " 	"r   c                 L    | j                  t        j                  t              S r   )r   r   r   r   rA   s    r   r   z'_ProjectManagementService.list_ios_apps  s$    #<#S#S   	r   c                     dj                   j                  |t        j                        } j	                  d|      }g }	 |j                  d      }|s	 |S |j                   fd|D               |j                  d      }|s	 |S dj                   j                  ||t        j                        } j	                  d|      })z>Lists all the Android or iOS apps within the Firebase project.z&/v1beta1/projects/{0}/{1}?pageSize={2}r   appsc              3   8   K   | ]  } |d            yw)r   r   Nr\   ).0r   r   r<   s     r   	<genexpr>z7_ProjectManagementService._list_apps.<locals>.<genexpr>+  s"     ZUYcYc'lDIIUYs   nextPageTokenz4/v1beta1/projects/{0}/{1}?pageToken={2}&pageSize={3})r+   rm   r   MAXIMUM_LIST_APPS_PAGE_SIZEr   r   extend)r<   r   r   r   r   	apps_listr   next_page_tokens   ` `     r   r   z$_ProjectManagementService._list_apps  s    7>>"%AAC %%eT2	<<'D  ZUYZZ&ll?;O"  JPP  &)EE	GD
 ))%6H r   Nc                 n    | j                  t        j                  t        j                  ||t              S N)r   r   
identifierr"   r   )_create_appr   r   r   r   )r<   r!   r"   s      r   r    z,_ProjectManagementService.create_android_app8  s5    #<#W#W5QQ#%    " 	"r   c                 n    | j                  t        j                  t        j                  ||t              S r   )r   r   r   r   r   )r<   r%   r"   s      r   r$   z(_ProjectManagementService.create_ios_app@  s5    #<#S#S5MM %    	r   c                     t        |d       dj                  | j                  |      }||i}|r||d<   | j                  d||      }|d   }	| j	                  |	      }
 ||
d   |       S )	zCreates an Android or iOS app.r"   z/v1beta1/projects/{0}/{1}r   postr   ri   r   r   )r/   r+   rm   r   _poll_app_creation)r<   r   r   r   r"   r   r   r   r   operation_namepoll_responses              r   r   z%_ProjectManagementService._create_appH  s     	!~>*11$2B2BDZ['4*6L'%%fd%F!&)//?g 6EEr   c                    t        t        j                        D ]  }t        t        j                  |      }|t        j
                  z  }t        j                  |       dj                  |      }| j                  d|      \  }}|j                  d      }|s|j                  d      }	|	r|	c S t        j                  d|       t        j                  d      )zVPolls the Long-Running Operation repeatedly until it is done with exponential backoff.z/v1/{0}r   doner   z;Polling finished, but the operation terminated in an error.)http_responsezPolling deadline exceeded.)ranger   MAXIMUM_POLLING_ATTEMPTSpowPOLL_EXPONENTIAL_BACKOFF_FACTORPOLL_BASE_WAIT_TIME_SECONDStimesleepr+   _body_and_responser   r   UnknownErrorDeadlineExceededError)
r<   r   current_attemptdelay_factorwait_time_secondsr   r   r   r   r   s
             r   r   z,_ProjectManagementService._poll_app_creationZ  s    $%>%W%WXO)II?\L ,/H/d/d dJJ()##N3D+/+B+B5$+O(M= $$V,D(,,Z8#O --Q"/1 1  Y  ../KLLr   c                 D    | j                  t        j                  |      S N)r   r   )_get_app_configr   r   r   s     r   rL   z0_ProjectManagementService.get_android_app_confign  s&    ###<#W#W $  	r   c                 D    | j                  t        j                  |      S r  )r  r   r   r   s     r   re   z,_ProjectManagementService.get_ios_app_configs  s(    ###<#S#S\b $ d 	dr   c                     dj                  ||      }| j                  d|      }t        j                  |d         j	                  d      S )Nz"/v1beta1/projects/-/{0}/{1}/configr   configFileContentszutf-8)encoding)r+   r   base64standard_b64decodedecode)r<   r   r   r   r   s        r   r  z)_ProjectManagementService._get_app_configw  sP    3::;QSYZ%%eT2 ((2F)GHOOY`Oaar   c                     dj                  |      }| j                  d|      }|j                  d      xs g }|D cg c]  }t        |d   |d          c}S c c}w )N'/v1beta1/projects/-/androidApps/{0}/shar   certificatesshaHashri   )r   ri   )r+   r   r   r   )r<   r   r   r   	cert_listcerts         r   rO   z._ProjectManagementService.get_sha_certificates~  sa    8??G%%eT2LL06B	XabXaPTYd6lKXabbbs   Ac                     dj                  |      }t        |d      j                  }|j                  }||d}| j	                  d||       y )Nr  rS   )r  certTyper   r   )r+   r5   r   r   r   )r<   r   rS   r   r   r   r   s          r   rR   z-_ProjectManagementService.add_sha_certificate  sP    8??G"#57KLUU&00	#+C64l;r   c                 v    t        |d      j                  }dj                  |      }| j                  d|       y )NrV   z/v1beta1/{0}delete)r5   ri   r+   r   )r<   rV   ri   r   s       r   rU   z0_ProjectManagementService.delete_sha_certificate  s6    46MNSS$$T*8T*r   c                 2    | j                  |||      \  }}|S r   )r   )r<   methodurlr   body_s         r   r   z'_ProjectManagementService._make_request  s    ))&#t<ar   c                     	 | j                   j                  |||      S # t        j                  j                  $ r}t        j                  |      d }~ww xY w)N)r  r  r   )r   body_and_responserequestsr   RequestExceptionr   #handle_platform_error_from_requests)r<   r  r  r   errors        r   r   z,_ProjectManagementService._body_and_response  sS    	D<<11St1TT""33 	D<<UCC	Ds     AAAr   )#rW   rX   rY   rZ   r   r   r   r   r   r   r   r   r   r=   rD   ra   r   rG   rc   r   r   r   r   r    r$   r   r   rL   re   r  rO   rR   rU   r   r   r\   r   r   r   r     s    X0H"% "%&)#!."/&( 
.YU="

2"F$M(
dbc<+
Dr   r   r   )NN)rZ   r  r   r   r  r   r   r   r   r
   r   r   r   r   r   r    r$   r/   r1   r3   r5   r   r   rg   rx   r   r   r   r\   r   r   <module>r#     s   
  	    % ' ! !6 a
S
O
D	@_XAK6_K _KD5> 5>p$a $aP^ ^2c\ c.G@ G@TND NDr   