'Infer target architecture, bit-with, and endianness from a binary file.
Data type is a :class:`pwnlib.elf.ELF` object.
Examples:
>>> context.clear()
>>> context.arch, context.bits
(\'i386\', 32)
>>> context.binary = \'/bin/bash\'
>>> context.arch, context.bits
(\'amd64\', 64)
>>> context.binary
ELF(\'/bin/bash\')'

@_validator
def binary(self, binary):

    from pwnlib.elf import ELF
    if (not isinstance(binary, ELF)):
        binary = ELF(binary)
    self.arch = binary.arch
    self.bits = binary.bits
    self.endian = binary.endian
    return binary
