(CommandList children: [ (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} {(DQ (${ VSub_Number 0) (' usage:'))}) (C {(echo)} {(DQ (${ VSub_At '@'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [104] ) spids: [100 103] ) (FuncDef name: main body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal spids:[142])] spids: [140] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMCONFIG) op: Equal rhs: {(DQ (/dev/null))} spids: [145] ) ] spids: [145] ) (While cond: [ (Sentence child: (C {(getopts)} {(DQ ('C:c:d:f:i:o:s:S:'))} {(arg)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {(DQ (${ VSub_Name arg))} arms: [ (case_arm pat_list: [{(C)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMBUILDCONF) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [180] ) ] spids: [180] ) ] spids: [176 177 188 16777215] ) (case_arm pat_list: [{(c)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMCONFIG) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [195] ) ] spids: [195] ) ] spids: [191 192 203 16777215] ) (case_arm pat_list: [{(d)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DESTDIR) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [210] ) ] spids: [210] ) ] spids: [206 207 218 16777215] ) (case_arm pat_list: [{(f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMFORMAT) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [225] ) ] spids: [225] ) ] spids: [221 222 233 16777215] ) (case_arm pat_list: [{(i)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMBASE) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [240] ) ] spids: [240] ) ] spids: [236 237 248 16777215] ) (case_arm pat_list: [{(o)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMIMAGE) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [255] ) ] spids: [255] ) ] spids: [251 252 263 16777215] ) (case_arm pat_list: [{(s)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VMSIZE) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [270] ) ] spids: [270] ) ] spids: [266 267 278 16777215] ) (case_arm pat_list: [{(S)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORLDDIR) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [285] ) ] spids: [285] ) ] spids: [281 282 293 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] spids: [296 297 300 16777215] ) ] spids: [165 173 303] ) ] spids: [162 306] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{(${ VSub_Name OPTIND)}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [311 321] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VMBASE))} {(-o)} {(-z)} {(DQ (${ VSub_Name WORLDDIR))} {(-o)} {(-z)} {(DQ (${ VSub_Name DESTDIR))} {(-o)} {(-z)} {(DQ (${ VSub_Name VMSIZE))} {(-o)} {(-z)} {(DQ (${ VSub_Name VMIMAGE))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(usage)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] ) ] spids: [16777215 389] ) ] spids: [16777215 401] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VMBUILDCONF))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (${ VSub_Name VMBUILDCONF))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Must provide the path to vmimage.subr.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 436] ) ] spids: [16777215 451] ) (C {(.)} {(DQ (${ VSub_Name VMBUILDCONF))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ (${ VSub_Name VMCONFIG))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-c)} {(DQ (${ VSub_Name VMCONFIG))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {(DQ (${ VSub_Name VMCONFIG))})] spids: [16777215 498] ) ] spids: [16777215 510] ) (Case to_match: {(${ VSub_Name TARGET) (Lit_Other ':') (${ VSub_Name TARGET_ARCH)} arms: [ (case_arm pat_list: [{(arm64) (Lit_Other ':') (aarch64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOTLABEL) op: Equal rhs: {(DQ (ufs))} spids: [533] ) ] spids: [533] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:NOSWAP) op:Equal rhs:{(1)} spids:[539])] spids: [539] ) ] spids: [527 530 543 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOTLABEL) op: Equal rhs: {(DQ (gpt))} spids: [550] ) ] spids: [550] ) ] spids: [546 547 556 16777215] ) ] spids: [514 524 559] ) (C {(vm_create_base)}) (C {(vm_install_base)}) (C {(vm_extra_install_base)}) (C {(vm_extra_install_packages)}) (C {(vm_extra_install_ports)}) (C {(vm_extra_enable_services)}) (C {(vm_extra_pre_umount)}) (C {(vm_extra_pkg_rmcache)}) (C {(cleanup)}) (C {(vm_copy_base)}) (AndOr ops: [Op_DPipe] children: [ (C {(vm_create_disk)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (C {(vm_extra_create_disk)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [137] ) spids: [133 136] ) (C {(main)} {(DQ ($ VSub_At '$@'))}) ] )