code: def disassemble(self, annotate=False, blocks=False):
          
  
          ops = disassemble(self.co_code, self.internals)
  
          if annotate:
              ops = [self.annotate_op(op) for op in ops]
  
          if blocks:
              return blocks_from_ops(ops)
          else:
              return ops
docs: Disassemble the bytecode of this code object into a series of
          opcodes and labels. Can also annotate the opcodes and group
          the opcodes into blocks based on the labels.
  
          Arguments:
              annotate(bool): Whether to annotate the operations.
              blocks(bool): Whether to group the operations into blocks.
  
          Returns:
              list: A list of :class:`Op` (or :class:`AnnotatedOp`) instances
              and labels.