j#g d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dl m
Z
d dlmZ ddl
mZ dd lmZ d d
lmZ d dlmZ ddlmZ d d
lmZ d dlmZ d dlmZmZmZmZmZ d Z G d de Z!dS ) )absolute_import)print_function)divisionN)map) iteritems )ClUserExtSelect)ClSelectExcept) clcaptain)clcagefs)utils)unescape)ExternalProgramFailed)
PhpConfReaderPhpConfBaseExceptionPhpConfReadErrorPhpConfLoadException!PhpConfNoSuchAlternativeExceptionc P t j | d }fd | S )zRSafely evaluate a bitwise expression containing only integers and |&~!^ operators.eval)modec t | t j r | j S t | t j r!t | j t r| j S t t d r!t | t j r| j S t | t j
rt | j t j t j
f rNt | j t j r | j nt
| j S t d t | t j r | j } | j }t | j t j r||z S t | j t j r||z S t | j t j r||z S t d t d )NNumzunsupported unary operatorzunsupported binary operatorzunsupported expression)
isinstanceast
ExpressionbodyConstantvalueinthasattrr nUnaryOpopInvertNotoperand
ValueErrorBinOpleftrightBitOrBitAndBitXor)noder* r+ _evals O/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/cluseroptselect.pyr0 z!_eval_bitwise_expr.