code: def test():
      manager = MyManager()
      manager.start()
  
      print("-" * 20)
  
      f1 = manager.Foo1()
      f1.f()
      f1.g()
      assert not hasattr(f1, "_h")
      assert sorted(f1._exposed_) == sorted(["f", "g"])
  
      print("-" * 20)
  
      f2 = manager.Foo2()
      f2.g()
      f2._h()
      assert not hasattr(f2, "f")
      assert sorted(f2._exposed_) == sorted(["g", "_h"])
  
      print("-" * 20)
  
      it = manager.baz()
      for i in it:
          print("<%d>" % i, end=" ")
      print()
  
      print("-" * 20)
  
      op = manager.operator()
      print("op.add(23, 45) =", op.add(23, 45))
      print("op.pow(2, 94) =", op.pow(2, 94))
      print("op._exposed_ =", op._exposed_)
  
file_path: cpython/Doc/includes/mp_newtype.py
imports: from multiprocessing import freeze_support
  from multiprocessing.managers import BaseManager, BaseProxy
  import operator
label_desc: Use image node_id 3 for calling a global function with example usage: test() without return types