code: def main(argv: Sequence[str]) -> None:
      if len(argv) > 1:
          raise app.UsageError("Too many command-line arguments.")
  
      if SPLITTER_TESTDATA_PATH.value is None:
          raise app.UsageError("'path' flag not specified.")
  
      levels = 4
  
      def make_string_tree(
          string_tree: test_message_pb2.StringNode,
          level: int = 0,
          label: str = "0",
      ) -> test_message_pb2.StringNode:
          string_tree.val = label
          if level >= levels - 1:
              return string_tree
          for i in range(level + 1):
              make_string_tree(
                  string_tree.child_nodes.add(),
                  level + 1,
                  label + str(level + 1) + str(i),
              )
          return string_tree
  
      def copy_string_tree(string_tree: test_message_pb2.StringNode):
          new_tree = test_message_pb2.StringNode()
          new_tree.CopyFrom(string_tree)
          return new_tree
  
      string_tree = make_string_tree(test_message_pb2.StringNode())
      logging.info("StringNode tree generated:\n%s", string_tree)
      file_io.write_string_to_file(
          os.path.join(
              SPLITTER_TESTDATA_PATH.value, "split-tree.pbtxt"
          ),
          str(string_tree),
      )
  
      # depth-first chunk ordering
      DFStringNodeSplitter(copy_string_tree(string_tree)).write(
          os.path.join(SPLITTER_TESTDATA_PATH.value, "df-split-tree")
      )
  
      # breadth-first
      BFStringNodeSplitter(copy_string_tree(string_tree)).write(
          os.path.join(SPLITTER_TESTDATA_PATH.value, "bf-split-tree")
      )
  
imports: from collections.abc import Sequence
  import os
  from typing import Optional, Union
  from absl import app
  from absl import flags
  from absl import logging
  from google.protobuf import message
  from tensorflow.python.lib.io import file_io
  from tensorflow.tools.proto_splitter import chunk_pb2
  from tensorflow.tools.proto_splitter import split
  from tensorflow.tools.proto_splitter import util
  from tensorflow.tools.proto_splitter.testdata import test_message_pb2
label_desc: Use image node_id 1 for calling a global function with example usage: main(argv) and returns: string_tree, new_tree, string_tree