EVOLUTION-MANAGER
Edit File: utils.cpython-311.opt-1.pyc
� Bh�� � � � d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZd dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZm Z d dl!m"Z" d dl#Z#d d lm$Z$ d d l%m&Z&m'Z' d dl(m)Z) d dl*m*Z*m+Z+m,Z, d d lm-Z-m.Z.m/Z/m0Z0m1Z1 d dl2Z2d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z: d dl;m<Z< d dl=m>Z>m?Z? d dl@mAZAmBZB d dlCmDZDmEZE d dlFmGZGmHZH d dlImJZJ d dlKmLZLmMZMmNZNmOZOmPZPmQZQmRZR d dlSmTZTmUZUmVZV d dlWmZmXZX d dlYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_ d dl`maZa d dlbmcZcmdZd d dlemfZf d dlKmgZg d dlhmiZi d d!ljmkZk d d"llmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{ d d#l|m}Z}m~Z~ d d$lm�Z� d d%l�m�Z� ej� rd d&l�m�Z� da�d'� Z� G d(� d)e j� � � Z�d�d+e�d,e�fd-�Z�d�d+e�d.e�d/e�fd0�Z�d�d+e�d2e�fd3�Z�d4e�fd5�Z�d6e�fd7�Z�d4e�fd8�Z�d9ej� fd:�Z�d;� Z�d�d<e�d4e�fd=�Z�d4e�fd>�Z�dd?�d<e�d4e�fd@�Z�dd?�d<e�fdA�Z� G dB� dC� � Z�dDe�d4e/e� fdE�Z�d4e-e� fdF�Z�dGe�d4dfdH�Z�dIe�d4dfdJ�Z�dIe�d4dfdK�Z�dL� Z�dMe�d4e.e�e�f fdN�Z�dOe�dPe/e� fdQ�Z� G dR� dSe�� � Z�e$d�dUe�dPe/e� fdV�� � Z�dW� Z�e�d�dZ�� � Z�d[e�d4e.e�e�f fd\�Z�d�d4e�fd^�Z�d_� Z�d`� Z�e G da� db� � � � Z�e G dc� dd� � � � Z� e'd�e� � df� � � Z�dg� Z�dh� Z�d4e�fdi�Z�dj� Z�dk� Z�dl� Z�d4e�fdm�Z�d4e�fdn�Z�e$d4e1e� fdo�� � Z�dp� Z�dq� Z�dr� Z� G ds� dt� � Z�d�du�Z� G dv� dw� � Z�e$dxe�fdy�� � Z�dxe�d4e�fdz�Z�d4e�fd{�Z�d4e�fd|�Z�d4e�fd}�Z�d4e�fd~�Z�de�d�e�d4dfd��Z�dIe�de�d�e�d4dfd��Z�d4e�fd��Z�d4e�fd��Z�d4e.e�e�e�f fd��Z�d�e�d�e�d4e.e�e�e�f fd��Z�d�e�d4e.e�e�e�f fd��Z�d�� Z�e�d4e�fd��� � Z�e�d4e�fd��� � Z�e�d4e�fd��� � Z�e�d4e�fd��� � Z�d�e�d4e-fd��Z�d�� Z�d�e�d�e�d�e�fd��Z�d�� Z�d�� Z� e'd�e� � d�d<e�fd��� � Z� e'd�e� � d<e�fd��� � Z�d�� Z�dS )�� )�absolute_importN)� dataclass�asdict�field)�iglob)�Enum)�gettext)� urlencode�urlparse� parse_qsl� urlunparse)�Version)�contextmanager)�wraps� lru_cache)�Path)�socket�AF_UNIX�SOCK_STREAM)�List�Tuple�Optional�Set�ContextManager)�write_file_via_tempfile� disable_quota)�NoDomain)�ClPwd�drop_privileges)�mkdir��is_cl_shared_pro_edition�CLEditionDetectionError)�read_jwt� decode_jwt)�CLN_JWT_TOKEN_PATH�DEFAULT_JWT_ES_TOKEN_PATH)� PyJWTError� exceptions)� check_license)�docroot�get_domain_login� get_server_ip�cpusers�cpinfo�is_admin�get_main_username_by_uid)�exec_utility�run_command�demote)r � wp_config)� WposError�WPOSLicenseMissing�WpCliUnsupportedException�WpNotExists�WpConfigWriteFailed�PhpBrokenException)�UIConfig)� in_cagefs�_is_cagefs_enabled)�Feature)�is_panel_feature_supported)�get_locale_from_envars� )� setup_logging)� USER_WPOS_DIR�WPOS_DAEMON_SOCKET_FILE�CLCONFIG_UTILITY�RedisRequiredConstants�CAGEFS_ENTER_USER_BIN�CAGEFS_ENTER_UTIL�CLWPOS_OPT_DIR�ALT_PHP_PREFIX� EA_PHP_PREFIX�PLESK_PHP_PREFIX�USER_CLWPOS_CONFIG�PUBLIC_OPTIONS�SUITES_MARKERS�XRAY_MANAGER_UTILITY�XRAY_USER_SOCKET)�pack_data_for_socket�'read_unpack_response_from_socket_client)�RollbackException)�cached_in_scope)�PHPc � � � � fd�}|S )z' Decorator for catching errors c � �� t �t t � � a �| g|�R i |��S # t $ r3}t | j |j |j |j d�� � Y d }~d S d }~wt $ r�}t |t � � rt � |� � nt � |� � |j |j |j d�}|j r |j |d<