File: //snap/certbot/4965/lib/python3.12/site-packages/certbot/_internal/__pycache__/main.cpython-312.pyc
�
N�h0 � �h � d Z ddlmZ ddlZddlZddlZddlZddlm Z ddlm
Z
ddlmZ ddlmZ ddlm
Z
dd lmZ dd
lmZ ddlZddlmZ ddlZddlmZ dd
lmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddl"m#Z# ddl"m$Z$ ddl"m%Z% dd
l"mZ ddl"m&Z& ddl"m'Z' ddl"m(Z( ddl"m)Z) ddl"m*Z* ddl"m+Z+ ddl"m,Z, ddl"m-Z- ddl.m/Z0 ddl.m!Z1 dd l2m3Z4 dd!l2m5Z6 dd"l7m8Z8 dd#l7m9Z9 dd$l7m:Z: dd%l;m<Z= ddl;m!Z> dd&l?m@Z@ d'ZA ej� eC� ZDd(ej� d)dfd*�ZF dpd+ej� d(ej� d,e
eHeI d-e
eI d.e
e,j� d)e
e,j� fd/�ZKd(ej� d0e,j� d)eLfd1�ZMd(ej� d,eeI d0e,j� d)eNeIe
e,j� f fd2�ZOd(ej� d.e,j� d)eNeIe
e,j� f fd3�ZPd(ej� d,eHeI d)eNe
eI e
e,j� f fd4�ZQd(ej� d,eHeI d-eId)eNeLe
e,j� f fd5�ZRd(ej� d,eHeI d-eId)eNe
eI e
e,j� f fd6�ZS ed7� ZTd8eeT d9eeT d)eNeHeT eHeT f fd:�ZUd;eId<eeI d)eIfd=�ZVd(ej� d>eeI d-eId?eeI d)df
d@�ZW dqd(ej� dAe
e j� dBe
eI d)eNeHeI eIf fdC�ZY drd(ej� dDe
ej� d.e
e,j� dEeLd)df
dF�Z[ dqd(ej� dGe
eI dHe
eI dIe
eI d)df
dJ�Z\d(ej� d)eLfdK�Z]d(ej� dGe
eI dLe
eI dHe
eI d)df
dM�Z^d(ej� d)eNe#j� e
ej� f fdN�Zad(ej� d)dfdO�Zbd(ej� dPe
e j� dAe
e j� d)ej� fdQ�Zdd(ej� dRe4j� d)e
eI fdS�Zfd(ej� dRe4j� d)e
eI fdT�Zgd(ej� dRe4j� d)e
eI fdU�Zhd(ej� dRe4j� d)e
eI fdV�Zid(ej� d.e
e,j� d)e
eI fdW�Zj dqd(ej� d+ej� d,eHeI d.e
e,j� d)df
dX�Zkd(ej� dYe4j� d)e
eI fdZ�Zld(ej� d)ej� fd[�Zmd(ej� d)dfd\�Znd(ej� dYe4j� d)dfd]�Zod(ej� dYe4j� d)e
eI fd^�Zpd(ej� dYe4j� d)dfd_�Zqd(ej� dRe4j� d)dfd`�Zrd(ej� dRe4j� d)dfda�Zsd(ej� dRe4j� d)e
eI fdb�Ztd(ej� dYe4j� d)e
eI fdc�Zud(ej� d+ej� d)eNe
eI e
eI e
eI f fdd�Zvd(ej� dYe4j� d.e,j� d)dfde�Zwd(ej� dYe4j� d)dfdf�Zxd(ej� dRe4j� d)dfdg�Zyd(ej� d)dfdh�ZzdieIdjej� d)dfdk�Z|d(ej� dYe4j� d)dfdl�Z}ed(ej� d)e
ee0j� e0j� f ddf fdm�� Z�dqdne
eHeI d)e
eeIe�f fdo�Z�y)szCertbot main entry point.� )�contextmanagerN)�cast)� Generator)�IO)�Iterable)�Optional)�TypeVar)�Union)�x509)�b64)�client)�errors)�messages)�
configuration)�crypto_util)�
interfaces)�util)�account)�cert_manager)�cli)� constants)�eff)�hooks)�log)�renewal)�snap_config)�storage)�updater)�obj)�disco)� selection)�
filesystem)�misc)�os)�ops)�enhancementsz?User chose to cancel the operation and may reinvoke the client.�config�returnc � � | j dk7 sJ �| j s| j ryt j t
j dd�� y)z�Potentially suggest a donation to support Certbot.
:param config: Configuration object
:type config: configuration.NamespaceConfig
:returns: `None`
:rtype: None
�renewNz�If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-leF��pause)�verb�staging�quietr �atexit_register�display_util�notification�r'