code: def permissions(self, addr, permissions=None):
          
          out = self.mem.permissions(addr, permissions)
          # if unicorn is in play and we've marked a page writable, it must be uncached
          if permissions is not None and self.state.solver.is_true(permissions & 2 == 2):
              if self.state.has_plugin('unicorn'):
                  self.state.unicorn.uncache_page(addr)
          return out
docs: Retrieve the permissions of the page at address `addr`.
  
          :param addr:        address to get the page permissions
          :param permissions: Integer or BVV to optionally set page permissions to
          :return:            AST representing the permissions on the page