Ë
    <@‹g�u  ã                   óª  — U d dl mZmZ d dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZ d dlZd dlmZmZmZ d dlZd dlmZmZmZmZ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,m-Z- d dl.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZA erd dlBmCZC ed   ZDdaEeeF   eGd<    G d„ deH«      ZIy)é    )ÚBytesIOÚIOBaseN)
ÚAnyÚAsyncIterableÚDictÚListÚMappingÚOptionalÚTupleÚUnionÚcastÚClassVar)ÚTYPE_CHECKINGÚLiteralÚNoReturnÚUnpack)ÚurlsplitÚ
urlunsplitÚparse_qs)Ú	log_debugÚlog_infoÚdashboard_linkÚ_convert_to_stripe_objectÚget_api_mode)ÚVERSION)ÚMultipartDataGenerator)Ú	urlencode)Ú_api_encodeÚ_json_encode_date_callback)ÚStripeResponseÚStripeStreamResponseÚStripeStreamResponseAsync)ÚRequestOptionsÚmerge_options)ÚRequestorOptionsÚ_GlobalRequestorOptions)Ú
HTTPClientÚnew_default_http_clientÚnew_http_client_async_fallback)ÚAppInfo)ÚBaseAddress)ÚApiMode)ÚStripeObject)ÚgetÚpostÚdeleteÚ_default_proxyc                   ó  — e Zd ZU dZed   ed<   	 	 d.dee   dee   fd„Z	defd„Z
dee   dd fd	„Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zedee   dd fd„«       Zed„ «       Z	 	 d.ddœdededeeeef      dee   dedeee      ddfd„Z	 	 d.ddœdededeeeef      dee   dedeee      ddfd„Z	 	 d.ddœdededeeeef      dee   dedeee      defd„Z 	 	 d.ddœdededeeeef      dee   dedeee      de!fd„Z"de#fd„Z$d„ Z%d„ Z&d„ Z'de(d e)defd!„Z*	 	 d.ddœdededeeeef      dee   ded e)deee      fd"„Z+	 	 	 d/ddœdededeeeef      dee   d#e,ded e)deee      de-e.e/eeef   f   fd$„Z0	 	 	 d/ddœdededeeeef      dee   d#e,ded e)deee      de-e1e2   e/eeef   f   fd%„Z3d&„ Z4d'e.d(e/d)eeef   d e)de5f
d*„Z6d+e7d(e/d)eeef   d e)def
d,„Z8d+e1e2   d(e/d)eeef   d e)de!f
d-„Z9y)0Ú_APIRequestorNz_APIRequestor|NoneÚ	_instanceÚoptionsÚclientc                 ó8   — |€
t        «       }|| _        || _        y ©N)r%   Ú_optionsÚ_client)Úselfr5   r6   s      úT/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_api_requestor.pyÚ__init__z_APIRequestor.__init__H   s   € ð
 ˆ?Ü&Ó(ˆGØˆŒØˆ�ó    Úreturnc           	      ó€  — | j                   }|€¯t        j                  sQt        j                  t        j                  dœ}t        ddt        di |¤Ži|¤Žt        _        t        j                  an,t        j                  t        k7  rdd l}|j                  d«       t        j                  €J ‚t        j                  S |S )N)Úverify_ssl_certsÚproxyÚasync_fallback_clientr   z§stripe.proxy was updated after sending a request - this is a no-op. To use a different proxy, set stripe.default_http_client to a new client configured with the proxy.© )
r:   ÚstripeÚdefault_http_clientrA   rB   r(   r)   r1   ÚwarningsÚwarn)r;   r6   ÚkwargsrG   s       r<   Ú_get_http_clientz_APIRequestor._get_http_clientV   s±   € Ø—‘ˆØˆ>ô ×-Ò-ä(.×(?Ñ(?Ü#Ÿ\™\ñ�ô .Eñ .Ü*Hñ +Ø ñ+ð.ð ñ	.”Ô*ô "(§¡‘Ü—‘¤Ò/Ûà—‘ð1ôô ×-Ñ-Ð9Ð9Ð9Ü×-Ñ-Ð-Øˆr>   c                 ó¶   — |xs i }| j                   j                  «       }dD ]  }||v sŒ||   €Œ||   ||<   Œ t        t        di |¤Ž| j                  ¬«      S )N)Úapi_keyÚstripe_accountÚstripe_version©r5   r6   rD   )r9   Úto_dictr3   r%   r:   )r;   r5   Únew_optionsÚkeys       r<   Ú_replace_optionsz_APIRequestor._replace_optionsx   sl   € ð ’-˜RˆØ—m‘m×+Ñ+Ó-ˆØBò 	0ˆCØ�gŠ~ '¨#¡,Ñ":Ø#*¨3¡<�˜CÒ ð	0ô Ü$Ñ3 {Ñ3¸D¿L¹Lô
ð 	
r>   c                 ó.   — | j                   j                  S r8   )r9   rL   ©r;   s    r<   rL   z_APIRequestor.api_key„   s   € à�}‰}×$Ñ$Ð$r>   c                 ó.   — | j                   j                  S r8   )r9   rM   rU   s    r<   rM   z_APIRequestor.stripe_accountˆ   ó   € à�}‰}×+Ñ+Ð+r>   c                 ó.   — | j                   j                  S r8   )r9   rN   rU   s    r<   rN   z_APIRequestor.stripe_versionŒ   rW   r>   c                 ó.   — | j                   j                  S r8   )r9   Úbase_addressesrU   s    r<   rZ   z_APIRequestor.base_addresses�   rW   r>   c                 ó`   — | j                   € | t        «       d¬«      | _         | j                   S )z–
        Returns the singleton instance of _APIRequestor, to be used when
        calling a static method such as stripe.Customer.create(...)
        NrO   )r4   r&   )Úclss    r<   Ú_global_instancez_APIRequestor._global_instance”   s*   € ð �=‰=Ð ÙÔ(?Ó(AÈ$ÔOˆCŒMØ�}‰}Ðr>   Úparamsc                  óH   — t         j                  «       j                  | «      S r8   )r3   r]   rS   )r^   s    r<   Ú_global_with_optionsz"_APIRequestor._global_with_options    s   € ô ×-Ñ-Ó/×@Ñ@ÀÓHÐHr>   c                 óR   — |d   }|d   r|d|d   ›�z  }|d   r|d|d   ›d�z  }|S )NÚnameÚversionú/Úurlz (ú)rD   )r\   ÚinfoÚstrs      r<   Ú_format_app_infoz_APIRequestor._format_app_info¦   s@   € à�6‰lˆØ�	Š?Ù˜D šOÐ-Ñ-ˆCØ�Š;Ù˜d 5›kÐ+Ñ+ˆCØˆ
r>   )ÚusageÚmethodre   Úbase_addressrj   r-   c          
      óÚ   — t        |«      }| j                  |«      }|j                  |j                  «       ||d||||¬«      \  }	}
}|j	                  |	|
||«      }t        ||||¬«      }|S ©NF©Úis_streamingÚapi_moderl   r5   rj   )Úrespr^   Ú	requestorrq   )r   rS   Úrequest_rawÚlowerÚ_interpret_responser   ©r;   rk   re   r^   r5   rl   rj   rq   rs   ÚrbodyÚrcodeÚrheadersrr   Úobjs                 r<   Úrequestz_APIRequestor.request¯   s�   € ô   Ó$ˆØ×)Ñ)¨'Ó2ˆ	Ø!*×!6Ñ!6Ø�L‰L‹NØØØØØ%ØØð "7ó 	"
Ñˆˆu�hð ×,Ñ,¨U°E¸8ÀXÓNˆä'ØØØØô	
ˆð ˆ
r>   c          
   ƒ   óö   K  — t        |«      }| j                  |«      }|j                  |j                  «       ||d||||¬«      ƒ d {  –—† \  }	}
}|j	                  |	|
||«      }t        ||||¬«      }|S 7 Œ-­wrn   )r   rS   Úrequest_raw_asyncru   rv   r   rw   s                 r<   Úrequest_asyncz_APIRequestor.request_asyncÐ   sœ   è ø€ ô   Ó$ˆØ×)Ñ)¨'Ó2ˆ	Ø'0×'BÑ'BØ�L‰L‹NØØØØØ%ØØð (Có 	(
÷ 	"
Ñˆˆu�hð ×,Ñ,¨U°E¸8ÀXÓNˆä'ØØØØô	
ˆð ˆ
ð'	"
ús   ‚AA9Á	A7Á
.A9c          
      ó¶   — t        |«      }| j                  |j                  «       ||d||||¬«      \  }}	}
| j                  t	        t
        |«      |	|
|«      }|S ©NTro   )r   rt   ru   Ú_interpret_streaming_responser   r   ©r;   rk   re   r^   r5   rl   rj   rq   Ústreamry   rz   rr   s               r<   Úrequest_streamz_APIRequestor.request_streamñ   sv   € ô   Ó$ˆØ"&×"2Ñ"2Ø�L‰L‹NØØØØØ%ØØð #3ó 	#
Ñˆ��xð ×1Ñ1ô ”˜Ó ØØØó
ˆð ˆr>   c          
   ƒ   óÊ   K  — t        |«      }| j                  |j                  «       ||d||||¬«      ƒ d {  –—† \  }}	}
| j                  ||	|
|«      ƒ d {  –—† }|S 7 Œ&7 Œ­wr�   )r   r~   ru   Ú#_interpret_streaming_response_asyncrƒ   s               r<   Úrequest_stream_asyncz"_APIRequestor.request_stream_async  s†   è ø€ ô   Ó$ˆØ(,×(>Ñ(>Ø�L‰L‹NØØØØØ%ØØð )?ó 	)
÷ 	#
Ñˆ��xð ×=Ñ=ØØØØó	
÷ 
ˆð ˆð!	#
øð
ús!   ‚6A#¸A¹A#ÁA!ÁA#Á!A#c                 ó"  — 	 |d   }d }t	        |t
        «      r| j                  |||||«      }|€/|dk(  r| j                  |||||«      n| j                  |||||«      }|‚# t         t        f$ r t        j                  d||fz  |||«      ‚w xY w)NÚerrorz@Invalid response object from API: %r (HTTP response code was %d)ÚV2)	ÚKeyErrorÚ	TypeErrorrŠ   ÚAPIErrorÚ
isinstancerh   Úspecific_oauth_errorÚspecific_v2_api_errorÚspecific_v1_api_error)r;   rx   ry   rr   rz   rq   Ú
error_dataÚerrs           r<   Úhandle_error_responsez#_APIRequestor.handle_error_response-  sÒ   € ð		Ø˜g™ˆJð ˆô
 �j¤#Ô&Ø×+Ñ+Ø�u˜d H¨jóˆCð ˆ;ð
 ˜tÒ#ð ×*Ñ*Ø˜5 $¨°*ôð ×/Ñ/Ø˜5 $¨°*óð ð ˆ	øô= œ)Ð$ò 	Ü—.‘.ðØ" E˜Nñ+àØØóð ð	ús   ‚A! Á!-Bc           	      ór  — |j                  d«      }|j                  d«      }|j                  d«      }||||||dœ}	t        d||j                  d«      ||j                  d«      ¬«       |dk(  rt        j                  ||||||«      S |d	k(  rt        j                  d
i |	¤ŽS | j                  |||||«      S )NÚtypeÚcodeÚmessage)r™   Ú	http_bodyÚhttp_statusÚ	json_bodyÚheadersr˜   zStripe v2 API error receivedÚparam©Ú
error_codeÚ
error_typeÚerror_messageÚerror_paramÚidempotency_errorÚtemporary_session_expiredrD   )r.   r   rŠ   ÚIdempotencyErrorÚTemporarySessionExpiredErrorr’   )
r;   rx   ry   rr   rz   r“   r—   r˜   r™   Ú
error_argss
             r<   r‘   z#_APIRequestor.specific_v2_api_errorR  sß   € Ø�~‰~˜fÓ%ˆØ�~‰~˜fÓ%ˆØ—.‘. Ó+ˆàØØ ØØØñ
ˆ
ô 	Ø*ØØ!—~‘~ fÓ-Ø!Ø"Ÿ™ wÓ/õ	
ð Ð&Ò&Ü×)Ñ)ØØØØØØóð ð Ð0Ò0Ü×5Ñ5ÑC¸
ÑCÐCð ×)Ñ)Ø�5˜$ ¨*ó
ð 	
r>   c           	      óÔ  — t        d|j                  d«      |j                  d«      |j                  d«      |j                  d«      ¬«       |dk(  s|dk(  r<|j                  d«      d	k(  r(t        j                  |j                  d«      ||||«      S |d
v r„|j                  d«      dk(  r(t        j                  |j                  d«      ||||«      S t        j
                  |j                  d«      |j                  d«      |j                  d«      ||||«      S |dk(  r(t        j                  |j                  d«      ||||«      S |dk(  rHt        j                  |j                  d«      |j                  d«      |j                  d«      ||||«      S |dk(  r(t        j                  |j                  d«      ||||«      S t        j                  |j                  d«      ||||«      S )NzStripe v1 API error receivedr˜   r—   r™   rž   rŸ   i­  é�  Ú
rate_limit)rª   i”  r¤   i‘  i’  i“  )
r   r.   rŠ   ÚRateLimitErrorr¦   ÚInvalidRequestErrorÚAuthenticationErrorÚ	CardErrorÚPermissionErrorrŽ   )r;   rx   ry   rr   rz   r“   s         r<   r’   z#_APIRequestor.specific_v1_api_errory  sÝ  € ÜØ*Ø!—~‘~ fÓ-Ø!—~‘~ fÓ-Ø$Ÿ.™.¨Ó3Ø"Ÿ™ wÓ/õ	
ð �CŠ<Ø�SŠL˜ZŸ^™^¨FÓ3°|ÒCä×'Ñ'Ø—‘˜yÓ)¨5°%¸¸xóð ð �jÑ Ø�~‰~˜fÓ%Ð)<Ò<Ü×-Ñ-Ø—N‘N 9Ó-¨u°e¸TÀ8óð ô ×0Ñ0Ø—N‘N 9Ó-Ø—N‘N 7Ó+Ø—N‘N 6Ó*ØØØØóð ð �cŠ\Ü×,Ñ,Ø—‘˜yÓ)¨5°%¸¸xóð ð �cŠ\Ü—?‘?Ø—‘˜yÓ)Ø—‘˜wÓ'Ø—‘˜vÓ&ØØØØóð ð �cŠ\Ü×(Ñ(Ø—‘˜yÓ)¨5°%¸¸xóð ô —>‘>Ø—‘˜yÓ)¨5°%¸¸xóð r>   c                 óh  — |j                  d|«      }t        d||¬«       ||||||g}|dk(  rt        j                  |Ž S |dk(  rt        j                  |Ž S |dk(  rt        j
                  |Ž S |dk(  rt        j                  |Ž S |dk(  rt        j                  |Ž S |d	k(  rt        j                  |Ž S y )
NÚerror_descriptionzStripe OAuth error received)r    r²   Úinvalid_clientÚinvalid_grantÚinvalid_requestÚinvalid_scopeÚunsupported_grant_typeÚunsupported_response_type)	r.   r   Úoauth_errorÚInvalidClientErrorÚInvalidGrantErrorr­   ÚInvalidScopeErrorÚUnsupportedGrantTypeErrorÚUnsupportedResponseTypeError)r;   rx   ry   rr   rz   r    ÚdescriptionÚargss           r<   r�   z"_APIRequestor.specific_oauth_error¯  sÕ   € Ø—h‘hÐ2°JÓ?ˆäØ)Ø!Ø)õ	
ð ˜K¨°°t¸XÐFˆàÐ)Ò)Ü×1Ñ1°4Ð8Ð8Ø˜?Ò*Ü×0Ñ0°$Ð7Ð7ØÐ,Ò,Ü×2Ñ2°DÐ9Ð9Ø˜?Ò*Ü×0Ñ0°$Ð7Ð7ØÐ3Ò3Ü×8Ñ8¸$Ð?Ð?ØÐ6Ò6Ü×;Ñ;¸TÐBÐBàr>   rq   c                 ó†  — d|j                  «       ›dt        ›�}t        j                  r%|d| j	                  t        j                  «      z   z  }t        dd| j                  «       j                  dœ}dt        j                  gdt        j                  gd	d
„ gfD ]  \  }}	  |«       }|||<   Œ t        j                  rt        j                  |d<   t        j                  |«      |d|j                  d«      ›�dœ}	|j                  d«      }
|
r|
|	d<   |j                  d«      }|r||	d<   |j                  d«      }|r||	d<   |dk(  s
|dk(  r2|dk(  r-|	j                  dt        t        j                   «       «      «       |dk(  r|dk(  rd|	d<   nd|	d<   |j                  d«      }|r||	d<   |	S # t        $ r d}Y �Œw xY w)NzStripe/z PythonBindings/ú ÚpythonrE   )Úbindings_versionÚlangÚ	publisherÚhttplibÚlang_versionÚplatformÚunamec                  óH   — dj                  t        j                  «       «      S )NrÂ   )ÚjoinrÉ   rÊ   rD   r>   r<   ú<lambda>z/_APIRequestor.request_headers.<locals>.<lambda>Ü  s   € ˜cŸh™h¤x§~¡~Ó'7Ó8€ r>   z
(disabled)ÚapplicationzBearer rL   )zX-Stripe-Client-User-Agentz
User-AgentÚAuthorizationrM   zStripe-AccountÚstripe_contextzStripe-ContextÚidempotency_keyzIdempotency-Keyr/   r‹   r0   zapplication/jsonúContent-Typez!application/x-www-form-urlencodedrN   zStripe-Version)ru   r   rE   Úapp_infori   rJ   rb   rÉ   Úpython_versionÚ	ExceptionÚjsonÚdumpsr.   Ú
setdefaultrh   ÚuuidÚuuid4)r;   rk   rq   r5   Ú
user_agentÚuaÚattrÚfuncÚvalr�   rM   rÐ   rÑ   rN   s                 r<   Úrequest_headersz_APIRequestor.request_headersÉ  sÝ  � ð �N‰NÕÝð
ˆ
ô �?Š?Ø˜# × 5Ñ 5´f·o±oÓ FÑFÑFˆJô !(ØØ!Ø×,Ñ,Ó.×3Ñ3ñ	.
ˆð œX×4Ñ4Ð5Øœ×*Ñ*Ð+ØÑ8Ð9ð
ò 		‰JˆD�$ð
#Ù“f�ð ˆBˆtŠHð		ô �?Š?Ü &§¡ˆBˆ}Ñô +/¯*©*°R«.Ù$Ø,3¯K©K¸	Ô,BÐDñ#
ˆð !Ÿ™Ð%5Ó6ˆÙØ(6ˆGÐ$Ñ%à Ÿ™Ð%5Ó6ˆÙØ(6ˆGÐ$Ñ%à!Ÿ+™+Ð&7Ó8ˆÙØ)8ˆGÐ%Ñ&ð �VÒ ¨DÒ 0°V¸xÒ5GØ×ÑÐ0´#´d·j±j³lÓ2CÔDà�VÒØ˜4ÒØ*<�˜Ò'à*M�˜Ñ'à Ÿ™Ð%5Ó6ˆÙØ(6ˆGÐ$Ñ%àˆøôM ò #Ø"“ð#ús   Â"F1Æ1G Æ?G c          
      ór  — t        | j                  |«      }|rd|v r|d   �|d   |d<   |j                  d«      €t        j                  d«      ‚| j                  j
                  j                  |«      ›|›�}	|xs i }|r¡|dk(  s|dk(  r—i }
t        t        |«      j                  «      j                  «       D ]7  \  }}|j                  d«      r	||
|dd <   Œ t        |«      d	k(  r|d
   n||
|<   Œ9 d|
v r%d|v r!t        t        g |
d   ¢|d   ¢«      «      |d<   i |
¥|¥}t        t        t        |xs i |«      «      «      }|j!                  dd«      j!                  dd«      }|dk(  r t#        j$                  |xs i t&        ¬«      }n|}d}d|v r|d   �t)        |d   «      }| j+                  t-        t.        |«      ||«      }|dk(  s|dk(  r&|r!t        |	«      \  }}}}}t1        |||||f«      }	d}ny|dk(  r[|�V|j                  d«      dk(  rBt3        «       }|j5                  |xs i «       |j7                  «       }d|j8                  ›�|d<   n|}nt        j:                  d|›d�«      ‚|�|j                  «       D ]
  \  }}|||<   Œ |j                  d«      }||	||||||j                  d«      fS )z`
        Mechanism for issuing an API call.  Used by request_raw and request_raw_async.
        rN   NrL   zêNo API key provided. (HINT: set your API key using "stripe.api_key = <API-KEY>"). You can generate API keys from the Stripe web interface.  See https://stripe.com/api for details, or email support@stripe.com if you have any questions.r.   r0   z[]éþÿÿÿé   r   Úexpandz%5Bú[z%5Dú]r‹   )Údefaultr�   r/   Úcontent_typezmultipart/form-datazmultipart/form-data; boundary=rÒ   zUnrecognized HTTP method ze.  This may indicate a bug in the Stripe bindings.  Please contact support@stripe.com for assistance.Úmax_network_retries)r$   r9   r.   rŠ   r®   rZ   r   r   ÚqueryÚitemsÚendswithÚlenÚlistÚsetr   r   ÚreplacerÖ   r×   r   Údictrà   r   ÚHttpVerbr   r   Ú
add_paramsÚget_post_dataÚboundaryÚAPIConnectionError)r;   rk   re   r^   r5   rl   rq   rj   Úrequest_optionsÚabs_urlÚexisting_paramsÚkÚvÚencoded_paramsÚencoded_bodyÚsupplied_headersr�   ÚschemeÚnetlocÚpathÚ_ÚfragmentÚ	post_dataÚ	generatorrR   Úvalueré   s                              r<   Ú_args_for_request_with_retriesz,_APIRequestor._args_for_request_with_retries  sS  € ô (¨¯©°wÓ?ˆñ Ø  GÑ+ØÐ)Ñ*Ð6ð 18Ð8HÑ0IˆOÐ,Ñ-à×Ñ˜yÓ)Ð1Ü×+Ñ+ðóð ð �M‰M×(Ñ(×,Ñ,¨\Ô:Ùð
ˆð
 ’˜2ˆÙ�v ’¨&°HÒ*<ð !ˆOÜ ¤¨#£×!4Ñ!4Ó5×;Ñ;Ó=ò D‘��1à—:‘:˜dÔ#Ø./�O A c r FÒ+ô 25°Q³¸1²¨¨1ªÀ!�O AÒ&ðDð ˜?Ñ*¨x¸6Ñ/AÜ#'ÜÐG˜/¨(Ñ3ÐG°f¸XÑ6FÐGÓHó$��xÑ ðØ!ðð ðˆFô #¤4¬°F²L¸bÀ(Ó(KÓ#LÓMˆð
 (×/Ñ/°°sÓ;×CÑCÀEÈ3ÓOˆà�tÒÜŸ:™:Ø’˜"Ô&@ô‰Lð *ˆLàÐà˜Ñ(Ø 	Ñ*Ð6ä# O°IÑ$>Ó?Ðà×&Ñ&ä”˜6Ó"ØØó	
ˆð �UŠ?˜f¨Ò0Ùô 5=¸WÓ4EÑ1�˜  a¨ä$Ø˜V T¨>¸8ÐDó�ð ‰IØ�vÒàÐ#Ø—K‘K Ó/Ð3HÒHä2Ó4�	Ø×$Ñ$ V¢\¨rÔ2Ø%×3Ñ3Ó5‘	à:C×:LÒ:LÐNð ˜Ò'ð )‘	ä×*Ò*ò "(ð*óð ð Ð'Ø.×4Ñ4Ó6ò %‘
��UØ$�˜’ð%ð .×1Ñ1Ð2GÓHÐð ØØØØØàØ×ÑÐ 0Ó1ð
ð 	
r>   rp   c          	      ó¤  — | j                  |||||||¬«      \  }}	}
}}}}}t        d||	¬«       t        d||¬«       |r*| j                  «       j	                  ||	|
|||¬«      \  }}}n)| j                  «       j                  ||	|
|||¬«      \  }}}t        d|	|¬«       t        d	|¬
«       d|v r|d   }t        dt        |«      ¬«       |||fS )N©rl   rq   rj   úRequest to Stripe api©rk   re   úPost details©r  Úapi_version©ré   Ú_usageúStripe API response©r  Úresponse_codeúAPI response body©Úbodyú
Request-IdúDashboard link for request©Úlink)r  r   r   rJ   Úrequest_stream_with_retriesÚrequest_with_retriesr   ©r;   rk   re   r^   r5   rp   rl   rq   rj   rø   r�   r  ré   rü   r  Úrcontentry   rz   Ú
request_ids                      r<   rt   z_APIRequestor.request_raw™  s7  € ð* ×/Ñ/ØØØØØ%ØØð 0ó 
ñ		
ØØØØØØØØô 	Ð(°¸WÕEÜØ nÀ+õ	
ñ ð
 ×%Ñ%Ó'×CÑCØØØØØ$7Øð Dó ñ	ØØÙð ×%Ñ%Ó'×<Ñ<ØØØØØ$7Øð =ó ñ	ØØØô 	Ð&¨WÀEÕJÜÐ%¨HÕ5à˜8Ñ#Ø! ,Ñ/ˆJÜØ,Ü# JÓ/õð
 ˜ Ð(Ð(r>   c          	   ƒ   óì  K  — |xs g }|dgz   }| j                  |||||||¬«      \  }}	}
}}}}}t        d||	¬«       t        d||¬«       |r2| j                  «       j	                  ||	|
|||¬«      ƒ d{  –—† \  }}}n1| j                  «       j                  ||	|
|||¬«      ƒ d{  –—† \  }}}t        d	|	|¬
«       t        d|¬«       d|v r|d   }t        dt        |«      ¬«       |||fS 7 Œy7 ŒI­w)z3
        Mechanism for issuing an API call
        Úasyncr	  r
  r  r  r  r  Nr  r  r  r  r  r  r  )r  r   r   rJ   Ú!request_stream_with_retries_asyncÚrequest_with_retries_asyncr   r  s                      r<   r~   z_APIRequestor.request_raw_asyncä  sk  è ø€ ð  ’˜ˆØ˜˜	Ñ!ˆð ×/Ñ/ØØØØØ%ØØð 0ó 
ñ		
ØØØØØØØØô 	Ð(°¸WÕEÜØØ$Ø#õ	
ñ ð
 ×+Ñ+Ó-×OÑOØØØØØ$7Øð Pó ÷ ñ	ØØÙð ×+Ñ+Ó-×HÑHØØØØØ$7Øð Ió ÷ ñ	ØØØô 	Ð&¨WÀEÕJÜÐ%¨HÕ5à˜8Ñ#Ø! ,Ñ/ˆJÜØ,Ü# JÓ/õð
 ˜ Ð(Ð(ðAøðús%   ‚A4C4Á6C0Á71C4Â(C2Â)AC4Ã2C4c                 ó&   — d|cxk  xr dk   S c  S )NéÈ   i,  rD   )r;   ry   s     r<   Ú_should_handle_code_as_errorz*_APIRequestor._should_handle_code_as_error8  s   € Ø˜%Ö% #Ñ%Ð%Ð%Ñ%Ð%Ð%r>   rx   ry   rz   c                 ód  — 	 t        |d«      rt        t        |«      j                  d«      }t	        t        t
        |«      ||«      }| j                  |«      r| j                  |||j                  ||«       |S # t        $ r, t        j                  d||fz  t        t        |«      ||«      ‚w xY w)NÚdecodezutf-8z>Invalid response body from API: %s (HTTP response code was %d))Úhasattrr   Úbytesr(  r    rh   rÕ   rŠ   rŽ   r&  r•   Údata)r;   rx   ry   rz   rq   rr   s         r<   rv   z!_APIRequestor._interpret_response;  s»   € ð	Ü�u˜hÔ'ô œU EÓ*×1Ñ1°'Ó:�Ü!Ü”S˜%Ó ØØóˆDð ×,Ñ,¨UÔ3Ø×&Ñ&Ø�u˜dŸi™i¨°8ôð ˆøô ò 	Ü—.‘.ð.Ø16¸°ñ?ä”U˜EÓ"ØØóð ð	ús   ‚AA: Á:5B/r„   c                 óX  — | j                  |«      r�t        |d«      rt        t        |«      j	                  «       }nCt        |d«      r|j                  «       }n&t        d| j                  «       j                  z  «      ‚| j                  ||||«       t        d«      ‚t        |||«      S )NÚgetvalueÚreadz`HTTP client %s does not return an IOBase object which can be consumed when streaming a response.ú/_interpret_response should have raised an error)r&  r)  r   r   r-  r.  ÚNotImplementedErrorrJ   rb   rv   ÚRuntimeErrorr!   )r;   r„   ry   rz   rq   Újson_contents         r<   r‚   z+_APIRequestor._interpret_streaming_responseZ  s§   € ð ×,Ñ,¨UÔ3Ü�v˜zÔ*Ü#¤G¨VÓ4×=Ñ=Ó?‘Ü˜ Ô(Ø%Ÿ{™{›}‘ä)ðAà×+Ñ+Ó-×2Ñ2ñ3óð ð ×$Ñ$ \°5¸(ÀHÔMäØAóð ô (¨°°xÓ@Ð@r>   c              ƒ   óÞ   K  — | j                  |«      rdj                  |2 �cg c3 d {  –—† }|‘Œt	        |||«      S 7 Œ6 nc c}w c}«      }| j                  ||||«       t        d«      ‚­w)Nr>   r/  )r&  rÌ   rv   r1  r"   )r;   r„   ry   rz   rq   Úchunkr2  s          r<   r‡   z1_APIRequestor._interpret_streaming_response_asyncy  sq   è ø€ ð ×,Ñ,¨UÔ3ØŸ8™8¸f×$EÔ$E°U¢Uô -¨V°U¸HÓEÐEð %FøÑ$EùÔ$EÓFˆLØ×$Ñ$ \°5¸(ÀHÔMäØAóð ùs3   ‚!A-£A¥A 
©>ªA 
­A±A-¾A 
Á AÁ,A-)NN)NNF):Ú__name__Ú
__module__Ú__qualname__r4   r   Ú__annotations__r
   r%   r'   r=   rJ   r#   rS   ÚpropertyrL   rM   rN   rZ   Úclassmethodr]   Ústaticmethodr   r`   ri   rh   r	   r   r+   r   r|   r   r!   r…   r"   rˆ   r   r•   r‘   r’   r�   rò   r,   rà   r  Úboolr   ÚobjectÚintrt   r   r*  r~   r&  r    rv   r   r‚   r‡   rD   r>   r<   r3   r3   E   sØ  … Ø04€IˆxÐ,Ñ-Ó4ð /3Ø'+ñàÐ*Ñ+ðð ˜Ñ$óð  *ó  ðD

Ø Ñ/ð

à	ó

ð ñ%ó ð%ð ñ,ó ð,ð ñ,ó ð,ð ñ,ó ð,ð ñ	ó ð	ð ðIØ˜Ñ(ðIà	òIó ðIð
 ñó ðð /3Ø,0ðð &*òàðð ðð ˜  c Ñ*Ñ+ð	ð
 ˜.Ñ)ðð "ðð ˜˜S™	Ñ"ðð 
óðJ /3Ø,0ðð &*òàðð ðð ˜  c Ñ*Ñ+ð	ð
 ˜.Ñ)ðð "ðð ˜˜S™	Ñ"ðð 
óðJ /3Ø,0ðð &*òàðð ðð ˜  c Ñ*Ñ+ð	ð
 ˜.Ñ)ðð "ðð ˜˜S™	Ñ"ðð 
óðF /3Ø,0ðð &*òàðð ðð ˜  c Ñ*Ñ+ð	ð
 ˜.Ñ)ðð "ðð ˜˜S™	Ñ"ðð 
#óð:#à	ó#òJ%
òN4òlð4=Øð=Ø*1ð=Ø<Jó=ðF /3Ø,0ðO
ð &*òO
àðO
ð ðO
ð ˜  c Ñ*Ñ+ð	O
ð
 ˜.Ñ)ðO
ð "ðO
ð ðO
ð ˜˜S™	Ñ"óO
ðj /3Ø,0Ø"ðI)ð &*òI)àðI)ð ðI)ð ˜  c Ñ*Ñ+ð	I)ð
 ˜.Ñ)ðI)ð ðI)ð "ðI)ð ðI)ð ˜˜S™	Ñ"ðI)ð 
ˆv�s˜G C¨ HÑ-Ð-Ñ	.óI)ð^ /3Ø,0Ø"ðR)ð &*òR)àðR)ð ðR)ð ˜  c Ñ*Ñ+ð	R)ð
 ˜.Ñ)ðR)ð ðR)ð "ðR)ð ðR)ð ˜˜S™	Ñ"ðR)ð 
ˆ}˜UÑ# S¨'°#°s°(Ñ*;Ð;Ñ	<óR)òh&ðàðð ðð ˜#˜s˜(Ñ#ð	ð
 ðð 
óð>AàðAð ðAð ˜#˜s˜(Ñ#ð	Að
 ðAð 
óAð>Fà˜eÑ$ðFð ðFð ˜#˜s˜(Ñ#ð	Fð
 ðFð 
#ôFr>   r3   )JÚior   r   rÖ   rÉ   Útypingr   r   r   r   r	   r
   r   r   r   r   Útyping_extensionsr   r   r   r   rÙ   Úurllib.parser   r   r   rE   Ústripe._utilr   r   r   r   r   Ústripe._versionr   Ústripe._errorÚ_errorrŠ   Ústripe.oauth_errorr¹   Ú stripe._multipart_data_generatorr   r   Ústripe._encoder   r   Ústripe._stripe_responser    r!   r"   Ústripe._request_optionsr#   r$   Ústripe._requestor_optionsr%   r&   Ústripe._http_clientr'   r(   r)   Ústripe._app_infor*   Ústripe._base_addressr+   Ústripe._api_moder,   Ústripe._stripe_objectr-   rò   r1   rh   r8  r=  r3   rD   r>   r<   ú<module>rR     s³   ðß Ð Û Û ÷÷ ÷ ÷ó ó ß 7Ñ 7ó ÷õ õ $Ý Ý (Ý CÝ "ß B÷ñ ÷
 B÷÷ñ õ
 %å ,Ý $áÝ2àÐ*Ñ+€ð !%€�˜‘Ó $ôCF�Fõ CFr>   