'Make a copy of the CFG.
:return: A copy of the CFG instance.
:rtype: angr.analyses.CFG'

def copy(self):

    new_cfg = CFGAccurate.__new__(CFGAccurate)
    super(CFGAccurate, self).make_copy(new_cfg)
    new_cfg.named_errors = dict(self.named_errors)
    new_cfg.errors = list(self.errors)
    new_cfg._fail_fast = self._fail_fast
    new_cfg._max_steps = self._max_steps
    new_cfg.project = self.project
    new_cfg._graph = networkx.DiGraph(self._graph)
    new_cfg._nodes = self._nodes.copy()
    new_cfg._nodes_by_addr = (self._nodes_by_addr.copy() if (self._nodes_by_addr is not None) else None)
    new_cfg._edge_map = self._edge_map.copy()
    new_cfg._loop_back_edges = self._loop_back_edges[::None]
    new_cfg._executable_address_ranges = self._executable_address_ranges[::None]
    new_cfg._unresolvable_runs = self._unresolvable_runs.copy()
    new_cfg._overlapped_loop_headers = self._overlapped_loop_headers[::None]
    new_cfg._thumb_addrs = self._thumb_addrs.copy()
    new_cfg._keep_state = self._keep_state
    new_cfg.project = self.project
    return new_cfg
