(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NUM_NODES='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NUM_NODES='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NUM_NODES='> name:NUM_NODES)
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name NUM_NODES>
                var_name: NUM_NODES
                suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(DQ <1>)})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<NUM_NODES>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [
        {<export>}
        {<Id.Lit_VarLike 'MASTER_IP='> 
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name MASTER_IP>
            var_name: MASTER_IP
            suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(DQ <10.245.1.2>)})
            right: <Id.Right_DollarBrace '}'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<Id.Lit_VarLike 'KUBE_MASTER_IP='> (${ Id.VSub_Name MASTER_IP)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<Id.Lit_VarLike 'INSTANCE_PREFIX='> (DQ <kubernetes>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [
        {<export>}
        {<Id.Lit_VarLike 'MASTER_NAME='> (DQ (${ Id.VSub_Name INSTANCE_PREFIX) <-master>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
              name: REGISTER_MASTER_KUBELET
            )
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name REGISTER_MASTER>
                var_name: REGISTER_MASTER
                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<false>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [
        {<export>}
        {<Id.Lit_VarLike 'NODE_IP_BASE='> 
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name NODE_IP_BASE>
            var_name: NODE_IP_BASE
            suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(DQ <10.245.1.>)})
            right: <Id.Right_DollarBrace '}'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NODE_CONTAINER_SUBNET_BASE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NODE_CONTAINER_SUBNET_BASE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'NODE_CONTAINER_SUBNET_BASE='>
              name: NODE_CONTAINER_SUBNET_BASE
            )
          op: assign_op.Equal
          rhs: {(DQ <10.246>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_CONTAINER_NETMASK='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_CONTAINER_NETMASK='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'MASTER_CONTAINER_NETMASK='>
              name: MASTER_CONTAINER_NETMASK
            )
          op: assign_op.Equal
          rhs: {(DQ <255.255.255.0>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_CONTAINER_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_CONTAINER_ADDR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'MASTER_CONTAINER_ADDR='>
              name: MASTER_CONTAINER_ADDR
            )
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name NODE_CONTAINER_SUBNET_BASE) <.0.1>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_CONTAINER_SUBNET='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_CONTAINER_SUBNET='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'MASTER_CONTAINER_SUBNET='>
              name: MASTER_CONTAINER_SUBNET
            )
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name NODE_CONTAINER_SUBNET_BASE) <'.0.1/24'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONTAINER_SUBNET='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONTAINER_SUBNET='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONTAINER_SUBNET='> name:CONTAINER_SUBNET)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name NODE_CONTAINER_SUBNET_BASE) <'.0.0/16'>)}
        )
      ]
      redirects: []
    )
    (command.ForExpr
      keyword: <Id.KW_For for>
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: ($ Id.Lit_ArithVarLike i)
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: ($ Id.Lit_ArithVarLike i)
          right: ($ Id.Lit_ArithVarLike NUM_NODES)
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'NODE_IPS['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'NODE_IPS['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'NODE_IPS['>
                      name: NODE_IPS
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name NODE_IP_BASE) 
                        (word_part.ArithSub
                          left: <Id.Left_DollarDParen '$(('>
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 3>}
                            )
                          right: <Id.Right_DollarDParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'NODE_NAMES['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'NODE_NAMES['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'NODE_NAMES['>
                      name: NODE_NAMES
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name INSTANCE_PREFIX) <-node-> 
                        (word_part.ArithSub
                          left: <Id.Left_DollarDParen '$(('>
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 1>}
                            )
                          right: <Id.Right_DollarDParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_SUBNETS['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_SUBNETS['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_SUBNETS['>
                      name: NODE_CONTAINER_SUBNETS
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name NODE_CONTAINER_SUBNET_BASE) <.> 
                        (word_part.ArithSub
                          left: <Id.Left_DollarDParen '$(('>
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 1>}
                            )
                          right: <Id.Right_DollarDParen _>
                        ) <'.1/24'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_ADDRS['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_ADDRS['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_ADDRS['>
                      name: NODE_CONTAINER_ADDRS
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name NODE_CONTAINER_SUBNET_BASE) <.> 
                        (word_part.ArithSub
                          left: <Id.Left_DollarDParen '$(('>
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 1>}
                            )
                          right: <Id.Right_DollarDParen _>
                        ) <.1>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_NETMASKS['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_NETMASKS['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'NODE_CONTAINER_NETMASKS['>
                      name: NODE_CONTAINER_NETMASKS
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: {(DQ <255.255.255.0>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_ArrayLhsOpen 'VAGRANT_NODE_NAMES['>
              pairs: [
                (AssignPair
                  left: <Id.Lit_ArrayLhsOpen 'VAGRANT_NODE_NAMES['>
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'VAGRANT_NODE_NAMES['>
                      name: VAGRANT_NODE_NAMES
                      index: {($ Id.VSub_DollarName i)}
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <node-> 
                        (word_part.ArithSub
                          left: <Id.Left_DollarDParen '$(('>
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Plus
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 1>}
                            )
                          right: <Id.Right_DollarDParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CLUSTER_IP_RANGE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CLUSTER_IP_RANGE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CLUSTER_IP_RANGE='> name:CLUSTER_IP_RANGE)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name CLUSTER_IP_RANGE>
                  var_name: CLUSTER_IP_RANGE
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_ColonHyphen _>
                      arg_word: {<10.246.0.0> <Id.Lit_Slash '/'> <16>}
                    )
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SERVICE_CLUSTER_IP_RANGE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SERVICE_CLUSTER_IP_RANGE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'SERVICE_CLUSTER_IP_RANGE='>
              name: SERVICE_CLUSTER_IP_RANGE
            )
          op: assign_op.Equal
          rhs: {<'10.247.0.0/16'>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_USER='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_USER='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MASTER_USER='> name:MASTER_USER)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name MASTER_USER>
                  var_name: MASTER_USER
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<vagrant>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_PASSWD='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_PASSWD='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MASTER_PASSWD='> name:MASTER_PASSWD)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name MASTER_PASSWD>
                  var_name: MASTER_PASSWD
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<vagrant>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ADMISSION_CONTROL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ADMISSION_CONTROL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ADMISSION_CONTROL='> name:ADMISSION_CONTROL)
          op: assign_op.Equal
          rhs: 
            {<Initializers> <Id.Lit_Comma ','> <NamespaceLifecycle> <Id.Lit_Comma ','> <LimitRanger> 
              <Id.Lit_Comma ','> <ServiceAccount> <Id.Lit_Comma ','> <DefaultStorageClass> <Id.Lit_Comma ','> <DefaultTolerationSeconds> 
              <Id.Lit_Comma ','> <ResourceQuota>
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_NODE_LOGGING='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_NODE_LOGGING='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_NODE_LOGGING='>
              name: ENABLE_NODE_LOGGING
            )
          op: assign_op.Equal
          rhs: {<false>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LOGGING_DESTINATION='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LOGGING_DESTINATION='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'LOGGING_DESTINATION='>
              name: LOGGING_DESTINATION
            )
          op: assign_op.Equal
          rhs: {<elasticsearch>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_CLUSTER_LOGGING='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_CLUSTER_LOGGING='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_CLUSTER_LOGGING='>
              name: ENABLE_CLUSTER_LOGGING
            )
          op: assign_op.Equal
          rhs: {<false>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ELASTICSEARCH_LOGGING_REPLICAS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ELASTICSEARCH_LOGGING_REPLICAS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ELASTICSEARCH_LOGGING_REPLICAS='>
              name: ELASTICSEARCH_LOGGING_REPLICAS
            )
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_CLUSTER_MONITORING='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_CLUSTER_MONITORING='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_CLUSTER_MONITORING='>
              name: ENABLE_CLUSTER_MONITORING
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_ENABLE_CLUSTER_MONITORING>
                  var_name: KUBE_ENABLE_CLUSTER_MONITORING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<influxdb>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'EXTRA_DOCKER_OPTS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'EXTRA_DOCKER_OPTS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXTRA_DOCKER_OPTS='> name:EXTRA_DOCKER_OPTS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name EXTRA_DOCKER_OPTS>
                  var_name: EXTRA_DOCKER_OPTS
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                  right: <Id.Right_DollarBrace '}'>
                ) <' --insecure-registry 10.0.0.0/8 -s overlay'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_CPU_CFS_QUOTA='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_CPU_CFS_QUOTA='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_CPU_CFS_QUOTA='>
              name: ENABLE_CPU_CFS_QUOTA
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_ENABLE_CPU_CFS_QUOTA>
                  var_name: KUBE_ENABLE_CPU_CFS_QUOTA
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<true>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_CLUSTER_DNS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_CLUSTER_DNS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ENABLE_CLUSTER_DNS='> name:ENABLE_CLUSTER_DNS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_ENABLE_CLUSTER_DNS>
                  var_name: KUBE_ENABLE_CLUSTER_DNS
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<true>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DNS_SERVER_IP='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DNS_SERVER_IP='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DNS_SERVER_IP='> name:DNS_SERVER_IP)
          op: assign_op.Equal
          rhs: {(DQ <10.247.0.10>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DNS_DOMAIN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DNS_DOMAIN='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DNS_DOMAIN='> name:DNS_DOMAIN)
          op: assign_op.Equal
          rhs: {(DQ <cluster.local>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_DNS_HORIZONTAL_AUTOSCALER='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_DNS_HORIZONTAL_AUTOSCALER='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_DNS_HORIZONTAL_AUTOSCALER='>
              name: ENABLE_DNS_HORIZONTAL_AUTOSCALER
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                  var_name: KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<false>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_CLUSTER_UI='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_CLUSTER_UI='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ENABLE_CLUSTER_UI='> name:ENABLE_CLUSTER_UI)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_ENABLE_CLUSTER_UI>
                  var_name: KUBE_ENABLE_CLUSTER_UI
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<true>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'RUNTIME_CONFIG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'RUNTIME_CONFIG='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUNTIME_CONFIG='> name:RUNTIME_CONFIG)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name KUBE_RUNTIME_CONFIG>
                  var_name: KUBE_RUNTIME_CONFIG
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'octets='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'octets='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'octets='> name:octets)
          op: assign_op.Equal
          rhs: 
            {
              (ShArrayLiteral
                left: <Id.Op_LParen _>
                words: [
                  {
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Pipeline
                          children: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [{<echo>} {(DQ ($ Id.VSub_DollarName SERVICE_CLUSTER_IP_RANGE))}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <sed>
                              more_env: []
                              words: [{<sed>} {<-e>} {(SQ <'s|/.*||'>)} {<-e>} {(SQ <'s/\\./ /g'>)}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_Pipe _>]
                        )
                      right: <Id.Eof_RParen _>
                    )
                  }
                ]
                right: <Id.Right_ShArrayLiteral _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.DParen
      left: <Id.Op_DLeftParen _>
      child: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_PlusEqual
          left: 
            (arith_expr.Binary
              op_id: Id.Arith_LBracket
              left: ($ Id.Lit_ArithVarLike octets)
              right: {<Id.Lit_Digits 3>}
            )
          right: {<Id.Lit_Digits 1>}
        )
      right: <Id.Op_DRightParen _>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'service_ip='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'service_ip='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'service_ip='> name:service_ip)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <echo>
                        more_env: []
                        words: [
                          {<echo>}
                          {
                            (DQ 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name octets>
                                var_name: octets
                                bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star)
                                right: <Id.Right_DollarBrace '}'>
                              )
                            )
                          }
                        ]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <sed>
                        more_env: []
                        words: [{<sed>} {(SQ <'s/ /./g'>)}]
                        redirects: []
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _>]
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MASTER_EXTRA_SANS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MASTER_EXTRA_SANS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MASTER_EXTRA_SANS='> name:MASTER_EXTRA_SANS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'IP:'> (${ Id.VSub_Name service_ip) 
                <
',DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.'
                > (${ Id.VSub_Name DNS_DOMAIN) <',DNS:'> (${ Id.VSub_Name MASTER_NAME)
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NETWORK_PROVIDER='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NETWORK_PROVIDER='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NETWORK_PROVIDER='> name:NETWORK_PROVIDER)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name NETWORK_PROVIDER>
                  var_name: NETWORK_PROVIDER
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<none>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {(DQ (${ Id.VSub_Name NETWORK_PROVIDER))}
                        {<Id.Lit_Equals '='> <Id.Lit_Equals '='>}
                        {(DQ <kubenet>)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CLUSTER_IP_RANGE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CLUSTER_IP_RANGE='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CLUSTER_IP_RANGE='>
                      name: CLUSTER_IP_RANGE
                    )
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name CONTAINER_SUBNET))}
                )
              ]
              redirects: []
            )
          ]
          spids: [587 607]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ENABLE_HOSTPATH_PROVISIONER='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ENABLE_HOSTPATH_PROVISIONER='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'ENABLE_HOSTPATH_PROVISIONER='>
              name: ENABLE_HOSTPATH_PROVISIONER
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name ENABLE_HOSTPATH_PROVISIONER>
                  var_name: ENABLE_HOSTPATH_PROVISIONER
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<true>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OPENCONTRAIL_TAG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OPENCONTRAIL_TAG='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPENCONTRAIL_TAG='> name:OPENCONTRAIL_TAG)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name OPENCONTRAIL_TAG>
                  var_name: OPENCONTRAIL_TAG
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<R2.20>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OPENCONTRAIL_KUBERNETES_TAG='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OPENCONTRAIL_KUBERNETES_TAG='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OPENCONTRAIL_KUBERNETES_TAG='>
              name: OPENCONTRAIL_KUBERNETES_TAG
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name OPENCONTRAIL_KUBERNETES_TAG>
                  var_name: OPENCONTRAIL_KUBERNETES_TAG
                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<master>})
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OPENCONTRAIL_PUBLIC_SUBNET='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OPENCONTRAIL_PUBLIC_SUBNET='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OPENCONTRAIL_PUBLIC_SUBNET='>
              name: OPENCONTRAIL_PUBLIC_SUBNET
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name OPENCONTRAIL_PUBLIC_SUBNET>
                  var_name: OPENCONTRAIL_PUBLIC_SUBNET
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_ColonHyphen _>
                      arg_word: {<10.1.0.0> <Id.Lit_Slash '/'> <16>}
                    )
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'E2E_STORAGE_TEST_ENVIRONMENT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'E2E_STORAGE_TEST_ENVIRONMENT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'E2E_STORAGE_TEST_ENVIRONMENT='>
              name: E2E_STORAGE_TEST_ENVIRONMENT
            )
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name KUBE_E2E_STORAGE_TEST_ENVIRONMENT>
                var_name: KUBE_E2E_STORAGE_TEST_ENVIRONMENT
                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<false>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<Id.Lit_VarLike 'DEFAULT_NETWORK_IF_NAME='> (DQ <eth0>)}]
      redirects: []
      do_fork: T
    )
  ]
)