
    +h                    R   d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
mZ d dlmZmZ ddlmZmZmZ ddlmZ  ed      Zed	   Zed
   Zeeeeedf   Zeeee   ee   df   Zeeef   Z G d d      Z e       Z e jB                  Z!e jD                  Z"e jF                  Z# G d d      Z$y)    )annotations)AnyListTupleUnionMappingTypeVar)parse_qs	urlencode)Literalget_args   )	NOT_GIVENNotGiven
NotGivenOr)flatten_T)commarepeatindicesbrackets)dotsr   NzMapping[str, Any]c                      e Zd ZU ded<   ded<   ddd	 	 	 	 	 ddZdd	Zeed	 	 	 	 	 	 	 dd
Zeed	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZ	ddZ
y)QuerystringArrayFormatarray_formatNestedFormatnested_formatr   r   r   r   c                    || _         || _        y Nr   )selfr   r   s      =/var/www/html/venv/lib/python3.12/site-packages/openai/_qs.py__init__zQuerystring.__init__   s     )*    c                    t        |      S r!   )r
   )r"   querys     r#   parsezQuerystring.parse$   s    r%   c               <    t        | j                  |||            S )Nr   )r   stringify_items)r"   paramsr   r   s       r#   	stringifyzQuerystring.stringify(   s-       )+ ! 
 	
r%   c                   t        | ||      }t        |j                         D cg c]  \  }}| j                  |||       c}}      S c c}}w )N)qsr   r   )Optionsr   items_stringify_item)r"   r+   r   r   optskeyvalues          r#   r*   zQuerystring.stringify_items7   sO     %'

 QWQ]Q]Q_`:3,,S%>`aa`s   A
c           
         t        |t              r\g }|j                  }|j                         D ]9  \  }}|j	                   j                  |dk(  r| d| n| d| d||             ; |S t        |t        t        f      r|j                  }|dk(  r|dj                   fd|D              fgS |dk(  r-g }|D ]$  }	|j	                   j                  ||	|             & |S |d	k(  rt        d
      |dk(  r2g }|dz   }|D ]$  }	|j	                   j                  ||	|             & |S t        d| ddj                  t        t                            j                  |      }
|
sg S ||
fgS )Nr   .[]r   ,c              3  F   K   | ]  }|j                  |        y wr!   )_primitive_value_to_str).0itemr"   s     r#   	<genexpr>z.Querystring._stringify_item.<locals>.<genexpr>_   s"      jY]Yi!=!=d!C js   !!r   r   z-The array indices format is not supported yetr   z[]zUnknown array_format value: z, choose from z, )
isinstancer   r   r0   extendr1   listtupler   joinNotImplementedErrorr   r   r;   )r"   r3   r4   r2   r0   r   subkeysubvaluer   r=   
serialiseds   `          r#   r1   zQuerystring._stringify_itemE   s    eW%+-E ..M$)KKM  ((-:f-D3%q)SEQRSYRZZ[J\ 	 LedE]+,,Lw&  jPU jj  )! HDLL!5!5c4!FGH*)*YZZ+Dj! HDLL!5!5c4!FGH)2<.tyyYabmYnOoNpq  11%8
Ij!""r%   c                2    |du ry|du ry|yt        |      S )NTtrueFfalse )str)r"   r4   s     r#   r;   z#Querystring._primitive_value_to_stry   s(    D=e^]5zr%   N)r   r   r   r   returnNone)r'   rL   rM   zMapping[str, object])r+   Paramsr   NotGivenOr[ArrayFormat]r   NotGivenOr[NestedFormat]rM   rL   )r+   rO   r   rP   r   rQ   rM   list[tuple[str, str]])r3   rL   r4   Datar2   r/   rM   rR   )r4   PrimitiveDatarM   rL   )__name__
__module____qualname____annotations__r$   r(   r   r,   r*   r1   r;    r%   r#   r   r      s    
 %-&0	+ "+ $	+
 
+ 1:2;

 .	

 0
 

& 1:2;bb .	b
 0b 
b2#2# 2# 	2#
 
2#hr%   r   c                  D    e Zd ZU ded<   ded<   efeed	 	 	 	 	 	 	 ddZy)	r/   r   r   r   r   r   c                   t        |t              r|j                  n|| _        t        |t              r|j                  | _        y || _        y r!   )r?   r   r   r   )r"   r.   r   r   s       r#   r$   zOptions.__init__   s;     0:,/QBOOWc1;M81TR--Zgr%   N)r.   r   r   rP   r   rQ   rM   rN   )rU   rV   rW   rX   _qsr   r$   rY   r%   r#   r/   r/      sQ     h 1:2;hh .	h
 0h 
hr%   r/   )%
__future__r   typingr   r   r   r   r   r	   urllib.parser
   r   typing_extensionsr   r   _typesr   r   r   _utilsr   r   r   r   rL   intfloatboolrT   rS   rO   r   r\   r(   r,   r*   r/   rY   r%   r#   <module>rf      s    " < < , / 3 3 T] >?)*c3tT12 ]DIuSz3FFG	d	j jZ m		MM	%%h hr%   