code: def test_series_apply_closure_execute(setup):
      idxes = [chr(ord("A") + i) for i in range(20)]
      s_raw = pd.Series([i**2 for i in range(20)], index=idxes)
  
      series = from_pandas_series(s_raw, chunk_size=5)
  
      x, y = 1, 2
  
      def closure(z):
          return [z + x, z + y]
  
      r = series.apply(closure, convert_dtype=False)
      result = r.execute().fetch()
      expected = s_raw.apply(closure, convert_dtype=False)
      pd.testing.assert_series_equal(result, expected)
  
      class callable_series:
          __slots__ = "x", "__dict__"
  
          def __init__(self):
              self.x = 1
              self.y = 2
  
          def __call__(self, z):
              return [z + self.x, z + self.y]
  
      cs = callable_series()
      r = series.apply(cs, convert_dtype=False)
      result = r.execute().fetch()
      expected = s_raw.apply(cs, convert_dtype=False)
      pd.testing.assert_series_equal(result, expected)
  
imports: import random
  from collections import OrderedDict
  import numpy
  import pandas
  import pytest
  import mars
  from ....config import options, option_context
  from ....dataframe import DataFrame, Series
  from ....tensor import arange, tensor
  from ....tensor.random import rand
  from ....tests.core import require_cudf
  from ....utils import lazy_import, pd_release_version, no_default
  from ...None import eval, cut, qcut, get_dummies
  from ...core import DATAFRAME_OR_SERIES_TYPE
  from ...datasource.dataframe import from_pandas
  from ...datasource.series import from_pandas
  from ...datasource.index import from_pandas
  from ..None import to_gpu, to_cpu
  from ..bloom_filter import filter_by_bloom_filter
  from ..shift import _enable_no_default, _with_column_freq_bug
  from ..to_numeric import to_numeric
  from ..rebalance import DataFrameRebalance
label_desc: Use image node_id 10 for calling a global function with example usage: test_series_apply_closure_execute(setup) and returns: list, list