+
    8i6                    r   R t ^ RIHt ^ RIHtHtHtHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHtHtHt ^ RIHt ^ RIH t  ^ RI!H"t"H#t# ]'       d   ^ RI
H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ^ RI+H,t, R R lt-R R lt.R R lt/R R lt0R R lt1R R lt2 ! R R 4      t3R!# )"zTools to parse mongo client options.

.. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs.
)annotations)TYPE_CHECKINGAnyMappingOptionalSequencecast)_parse_codec_options)common)CompressionSettings)ConfigurationError)_EventListener_EventListeners)PoolOptions)ReadConcern)_ServerModemake_read_preferenceread_pref_mode_from_name)any_server_selector)get_ssl_context)WriteConcernvalidate_boolean)CodecOptions)MongoCredential)AutoEncryptionOpts)
SSLContext)_ServerSelectorc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
   usernamestrpassworddatabaseOptional[str]optionsMapping[str, Any]returnzOptional[MongoCredential] )formats   "T/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/client_options.py__annotate__r*   /   s4     
 

 
,9
DU

    c                    TP                  RV '       d   RMR4      pVP                  R4      pV '       g	   V'       d   ^ RIHp V! WEWW24      # R# )z!Parse authentication credentials.authmechanismDEFAULTN
authsource)_build_credentials_tuple)getpymongo.auth_sharedr0   )r   r!   r"   r$   	mechanismsourcer0   s   &&&&   r)   _parse_credentialsr5   /   s@     O(YMI[[&F9@'	8waar+   c                    V ^8  d   QhRRRR/# )r   r$   r%   r&   r   r'   )r(   s   "r)   r*   r*   <   s     	; 	;$5 	;+ 	;r+   c                    RV 9   d
   V R,          # V P                  RR4      p\        V4      pV P                  R4      pV P                  RR4      p\        W#V4      # )zParse read preference options.read_preferencereadpreferenceprimaryreadpreferencetagsmaxstalenessseconds)r1   r   r   )r$   namemodetagsmax_stalenesss   &    r)   _parse_read_preferencerB   <   s^    G#());;'3D#D)D;;+,DKK 5r:MM::r+   c                    V ^8  d   QhRRRR/# )r   r$   r%   r&   r   r'   )r(   s   "r)   r*   r*   H   s     5 5"3 5 5r+   c                    V P                  R4      pV P                  R4      pV P                  R4      pV P                  R4      p\        WW44      # )zParse write concern options.w
wtimeoutmsjournalfsync)r1   r   )r$   concernwtimeoutjrH   s   &    r)   _parse_write_concernrL   H   sG    kk#G{{<(HIAKK E144r+   c                    V ^8  d   QhRRRR/# )r   r$   r%   r&   r   r'   )r(   s   "r)   r*   r*   Q   s        !2  {  r+   c                :    V P                  R4      p\        V4      # )zParse read concern options.readconcernlevel)r1   r   )r$   rI   s   & r)   _parse_read_concernrP   Q   s    kk,-Gwr+   c               $    V ^8  d   QhRRRRRR/# )r   r$   r%   is_syncboolr&   z!tuple[Optional[SSLContext], bool]r'   )r(   s   "r)   r*   r*   W   s$     ;) ;);))-;)&;)r+   c           
        V P                  R4      pVe   \        RV4       V P                  R4      pV P                  R4      pV P                  R4      pV P                  R4      pV P                  RR4      pV P                  R	R4      pV P                  R
R4      p	. p
R F,  pW9   g   K  W,          '       g   K  V
P                  V4       K.  	  R F,  pW9   g   K  W,          '       d   K  V
P                  V4       K.  	  V
'       d1   Vf   RpM)V'       g"   \        RRP	                  V
4      ,          4      hV'       d   \        VVVVVVV	V4      pW3# RV3# )zParse ssl options.tlsNtlscertificatekeyfiletlscertificatekeyfilepassword	tlscafile
tlscrlfiletlsallowinvalidcertificatesFtlsallowinvalidhostnamestlsdisableocspendpointcheckTzmTLS has not been enabled but the following tls parameters have been set: %s. Please set `tls=True` or remove.z, )rV   rW   rX   rY   )rZ   r[   r\   )r1   r   appendr   joinr   )r$   rR   use_tlscertfile
passphraseca_certscrlfileallow_invalid_certificatesallow_invalid_hostnamesdisable_ocsp_endpoint_checkenabled_tls_optsoptctxs   &&           r)   _parse_ssl_optionsrj   W   s[    kk% G({{23H<=J{{;'Hkk,'G!(-JE!R%kk*DeL")++.KU"S >gll##C( >',,##C( ?G$79=CS9TU  &#'	
 ++(((r+   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r   r   r    r!   r"   r#   r$   r%   rR   rS   r&   r   r'   )r(   s   "r)   r*   r*      sD     - --- - 	-
 - -r+   c                   \        WW#4      pVP                  R\        P                  4      pVP                  R\        P                  4      pVP                  R\        P
                  4      pVe   Wv8  d   \        R4      hVP                  R\        P                  4      p	VP                  R4      p
VP                  R\        P                  4      p\        \        \        \        ,          ,          VP                  R4      4      pVP                  R	4      pVP                  R
4      pVP                  R4      p\        VP                  R. 4      VP                  RR4      4      p\        W44      w  ppVP                  R4      pVP                  R\        P                  4      p\!        VVVV	V
VVV\#        V4      VVVVVVVVR7      # )zParse connection pool options.maxpoolsizeminpoolsizemaxidletimemsz3minPoolSize must be smaller or equal to maxPoolSizeconnecttimeoutmssockettimeoutmswaitqueuetimeoutmsevent_listenersappnamedriver
server_apicompressorszlibcompressionlevelloadbalancedmaxconnecting)max_connectingrv   load_balancedcredentialsrR   r=   )r5   r1   r
   MAX_POOL_SIZEMIN_POOL_SIZEMAX_IDLE_TIME_SEC
ValueErrorCONNECT_TIMEOUTWAIT_QUEUE_TIMEOUTr   r   r   r   r   rj   MAX_CONNECTINGr   r   )r   r!   r"   r$   rR   r}   max_pool_sizemin_pool_sizemax_idle_time_secondsconnect_timeoutsocket_timeoutwait_queue_timeoutrs   rt   ru   rv   compression_settingsssl_contexttls_allow_invalid_hostnamesr|   r{   s   &&&&&                r)   _parse_pool_optionsr      s    %XKKKKv/C/CDMKKv/C/CDM#KK9Q9QR ]%BNOOkk"4f6L6LMO[[!23N %96;T;TU8H^$<=w{{K\?]^Okk)$G[["F\*J.M2&4JB(O 0B'/S,K,KK/M[[&2G2GHN#(%## r+   c                     ] tR t^tRtR2R R llt]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       tR0tR1# )3ClientOptionsa  Read only configuration options for an AsyncMongoClient/MongoClient.

Should not be instantiated directly by application developers. Access
a client's options via :attr:`pymongo.mongo_client.AsyncMongoClient.options` or :attr:`pymongo.mongo_client.MongoClient.options`
instead.
c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r    r!   r"   r#   r$   r%   rR   rS   r'   )r(   s   "r)   r*   ClientOptions.__annotate__   s<     *
 *
*
 *
  	*

 #*
 *
r+   c                	   W@n         \        V4      V n        VP                  R 4      V n        VP                  R\
        P                  4      V n        VP                  R\
        P                  4      V n	        \        WW4V4      V n        \        V4      V n        VP                  R4      V n        \        V4      V n        \#        V4      V n        VP                  R4      V n        VP                  R\
        P(                  4      V n        VP                  R\
        P,                  4      V n        VP                  R\
        P0                  4      V n        VP                  R\4        4      V n        VP                  R	4      V n        VP                  R
4      V n        VP                  R4      V n        VP                  R\
        P>                  4      V n         RV9   d!   VP                  R\
        PB                  4      MVP                  R\
        PB                  4      V n"        RV9   d(   VP                  R\
        PF                  4      V n$        R# VP                  R\
        PF                  4      V n$        R# )directconnectionlocalthresholdmsserverselectiontimeoutms
replicasetconnectheartbeatfrequencymsretrywrites
retryreadsserver_selectorauto_encryption_optsry   	timeoutmsservermonitoringmodemax_adaptive_retriesmaxadaptiveretriesenable_overload_retargetingenableoverloadretargetingN)%_ClientOptions__optionsr	   _ClientOptions__codec_optionsr1   !_ClientOptions__direct_connectionr
   LOCAL_THRESHOLD_MS"_ClientOptions__local_threshold_msSERVER_SELECTION_TIMEOUT(_ClientOptions__server_selection_timeoutr   _ClientOptions__pool_optionsrB   _ClientOptions__read_preference _ClientOptions__replica_set_namerL   _ClientOptions__write_concernrP   _ClientOptions__read_concern_ClientOptions__connectHEARTBEAT_FREQUENCY#_ClientOptions__heartbeat_frequencyRETRY_WRITES_ClientOptions__retry_writesRETRY_READS_ClientOptions__retry_readsr   _ClientOptions__server_selector$_ClientOptions__auto_encryption_opts_ClientOptions__load_balanced_ClientOptions__timeoutSERVER_MONITORING_MODE&_ClientOptions__server_monitoring_modeMAX_ADAPTIVE_RETRIES$_ClientOptions__max_adaptive_retriesENABLE_OVERLOAD_RETARGETING+_ClientOptions__enable_overload_retargeting)selfr   r!   r"   r$   rR   s   &&&&&&r)   __init__ClientOptions.__init__   s    !3G<#*;;/A#B $+KK0BFD]D]$^! +2++&(G(G+
' 2(hY`a!7!@")++l";3G<1': Y/%,[[1GIcIc%d"%kk-9L9LM$[[v7I7IJ!(->@S!T&-kk2H&I#&{{>: [1(/"F$A$A)
%
 &0 KK.0K0KL163N3NO 	# -7 KK5v7Y7YZ 	* 8&:\:\] 	*r+   c                   V ^8  d   QhRR/# )r   r&   r%   r'   )r(   s   "r)   r*   r      s      + r+   c                    V P                   # )z7The original options used to create this ClientOptions.)r   r   s   &r)   _optionsClientOptions._options        ~~r+   c                   V ^8  d   QhRR/# r   r&   zOptional[bool]r'   )r(   s   "r)   r*   r      s       r+   c                    V P                   # )z>Whether to begin discovering a MongoDB topology automatically.)r   r   s   &r)   r   ClientOptions.connect   r   r+   c                   V ^8  d   QhRR/# )r   r&   zCodecOptions[Any]r'   )r(   s   "r)   r*   r     s     $ $0 $r+   c                    V P                   # )z5A :class:`~bson.codec_options.CodecOptions` instance.)r   r   s   &r)   codec_optionsClientOptions.codec_options       ###r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r   	  s     ( (> (r+   c                    V P                   # )z:Whether to connect to the deployment in 'Single' topology.)r   r   s   &r)   direct_connectionClientOptions.direct_connection  s     '''r+   c                   V ^8  d   QhRR/# r   r&   intr'   )r(   s   "r)   r*   r     s     ) )C )r+   c                    V P                   # )z&The local threshold for this instance.)r   r   s   &r)   local_threshold_ms ClientOptions.local_threshold_ms  s     (((r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r     s     / /# /r+   c                    V P                   # )z:The server selection timeout for this instance in seconds.)r   r   s   &r)   server_selection_timeout&ClientOptions.server_selection_timeout  s     ...r+   c                   V ^8  d   QhRR/# )r   r&   r   r'   )r(   s   "r)   r*   r     s     & & &r+   c                	    V P                   # )N)r   r   s   &r)   r   ClientOptions.server_selector  s    %%%r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r     s     * *S *r+   c                    V P                   # )z$The monitoring frequency in seconds.)r   r   s   &r)   heartbeat_frequency!ClientOptions.heartbeat_frequency  s     )))r+   c                   V ^8  d   QhRR/# )r   r&   r   r'   )r(   s   "r)   r*   r   !       # #k #r+   c                    V P                   # )z.A :class:`~pymongo.pool.PoolOptions` instance.)r   r   s   &r)   pool_optionsClientOptions.pool_options        """r+   c                   V ^8  d   QhRR/# )r   r&   r   r'   )r(   s   "r)   r*   r   &  s     & & &r+   c                    V P                   # )zA read preference instance.)r   r   s   &r)   r8   ClientOptions.read_preference%  s     %%%r+   c                   V ^8  d   QhRR/# )r   r&   r#   r'   )r(   s   "r)   r*   r   +  s     ' '- 'r+   c                    V P                   # )zReplica set name or None.)r   r   s   &r)   replica_set_nameClientOptions.replica_set_name*  s     &&&r+   c                   V ^8  d   QhRR/# )r   r&   r   r'   )r(   s   "r)   r*   r   0  s     $ $| $r+   c                    V P                   # )z8A :class:`~pymongo.write_concern.WriteConcern` instance.)r   r   s   &r)   write_concernClientOptions.write_concern/  r   r+   c                   V ^8  d   QhRR/# )r   r&   r   r'   )r(   s   "r)   r*   r   5  r   r+   c                    V P                   # )z6A :class:`~pymongo.read_concern.ReadConcern` instance.)r   r   s   &r)   read_concernClientOptions.read_concern4  r   r+   c                   V ^8  d   QhRR/# )r   r&   zOptional[float]r'   )r(   s   "r)   r*   r   :  s       r+   c                    V P                   # )zOThe configured timeoutMS converted to seconds, or None.

.. versionadded:: 4.2
)r   r   s   &r)   timeoutClientOptions.timeout9  s     ~~r+   c                   V ^8  d   QhRR/# r   r&   rS   r'   )r(   s   "r)   r*   r   B  s     # #d #r+   c                    V P                   # )z9If this instance should retry supported write operations.)r   r   s   &r)   retry_writesClientOptions.retry_writesA  r   r+   c                   V ^8  d   QhRR/# r  r'   )r(   s   "r)   r*   r   G  s     " "T "r+   c                    V P                   # )z8If this instance should retry supported read operations.)r   r   s   &r)   retry_readsClientOptions.retry_readsF  s     !!!r+   c                   V ^8  d   QhRR/# )r   r&   zOptional[AutoEncryptionOpts]r'   )r(   s   "r)   r*   r   L  s     + +&B +r+   c                    V P                   # )z:A :class:`~pymongo.encryption.AutoEncryptionOpts` or None.)r   r   s   &r)   r   "ClientOptions.auto_encryption_optsK  s     ***r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r   Q  s     $ $~ $r+   c                    V P                   # )z@True if the client was configured to connect to a load balancer.)r   r   s   &r)   r|   ClientOptions.load_balancedP  r   r+   c                   V ^8  d   QhRR/# )r   r&   zlist[_EventListeners]r'   )r(   s   "r)   r*   r   V  s     F F!6 Fr+   c                ~    V P                   P                  f   Q hV P                   P                  P                  4       # )ztThe event listeners registered for this client.

See :mod:`~pymongo.monitoring` for details.

.. versionadded:: 4.0
)r   _event_listenersrs   r   s   &r)   rs   ClientOptions.event_listenersU  s7     ""33???""33CCEEr+   c                   V ^8  d   QhRR/# )r   r&   r    r'   )r(   s   "r)   r*   r   a  s     - - -r+   c                    V P                   # )zCThe configured serverMonitoringMode option.

.. versionadded:: 4.5
)r   r   s   &r)   server_monitoring_mode$ClientOptions.server_monitoring_mode`  s     ,,,r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r   i  s     + +c +r+   c                    V P                   # )zBThe configured maxAdaptiveRetries option.

.. versionadded:: 4.17
)r   r   s   &r)   r   "ClientOptions.max_adaptive_retriesh  s     ***r+   c                   V ^8  d   QhRR/# r  r'   )r(   s   "r)   r*   r   q  s     2 2T 2r+   c                    V P                   # )zIThe configured enableOverloadRetargeting option.

.. versionadded:: 4.17
)r   r   s   &r)   r   )ClientOptions.enable_overload_retargetingp  s     111r+   )__auto_encryption_opts__codec_options	__connect__direct_connection__enable_overload_retargeting__heartbeat_frequency__load_balanced__local_threshold_ms__max_adaptive_retries	__options__pool_options__read_concern__read_preference__replica_set_name__retry_reads__retry_writes__server_monitoring_mode__server_selection_timeout__server_selector	__timeout__write_concernN)T)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   r   r   r   r   r   r   r8   r   r   r   r   r  r  r   r|   rs   r  r   r   __static_attributes__r'   r+   r)   r   r      s   *
X     $ $ ( ( ) ) / / & & * * # # & & ' ' $ $ # #   # # " " + + $ $ F F - - + + 2 2r+   r   N)4r7  
__future__r   typingr   r   r   r   r   r   bson.codec_optionsr	   pymongor
   pymongo.compression_supportr   pymongo.errorsr   pymongo.monitoringr   r   pymongo.pool_optionsr   pymongo.read_concernr   pymongo.read_preferencesr   r   r   pymongo.server_selectorsr   pymongo.ssl_supportr   pymongo.write_concernr   r   r   r2   r   pymongo.encryption_optionsr   pymongo.pyopenssl_contextr   pymongo.topology_descriptionr   r5   rB   rL   rP   rj   r   r   r'   r+   r)   <module>rJ     s}    # H H 3  ; - > , , 
 9 / @/3=4<
	;5 ;)|-`q2 q2r+   