from __future__ import unicode_literals import contextlib import errno import functools import os.path import shutil import stat import subprocess import sys import tempfile import six from pre_commit import five from pre_commit import parse_shebang if sys.version_info >= (3, 7): # pragma: no cover (PY37+) from importlib.resources import open_binary from importlib.resources import read_text else: # pragma: no cover (