ProgramNode(0...1194)( [:a, :c], StatementsNode(0...1194)( [DefNode(0...23)( (4...7), nil, ParametersNode(8...18)( [RequiredDestructuredParameterNode(8...18)( [RequiredParameterNode(9...12)(:bar), RequiredParameterNode(14...17)(:baz)], (8...9), (17...18) )], [], [], nil, [], nil, nil ), nil, [:bar, :baz], (0...3), nil, (7...8), (18...19), nil, (20...23) ), DefNode(25...74)( (29...32), nil, ParametersNode(33...69)( [RequiredDestructuredParameterNode(33...43)( [RequiredParameterNode(34...37)(:bar), RequiredParameterNode(39...42)(:baz)], (33...34), (42...43) )], [OptionalParameterNode(45...57)( :optional, (45...53), (54...55), IntegerNode(56...57)() )], [RequiredDestructuredParameterNode(59...69)( [RequiredParameterNode(60...63)(:bin), RequiredParameterNode(65...68)(:bag)], (59...60), (68...69) )], nil, [], nil, nil ), nil, [:bar, :baz, :optional, :bin, :bag], (25...28), nil, (32...33), (69...70), nil, (71...74) ), DefNode(77...95)( (81...82), nil, nil, BeginNode(84...95)( nil, nil, nil, nil, EnsureNode(84...95)((84...90), nil, (92...95)), (92...95) ), [], (77...80), nil, nil, nil, nil, (92...95) ), DefNode(97...110)( (105...106), ParenthesesNode(101...104)( CallNode(102...103)( nil, nil, (102...103), nil, nil, nil, nil, 2, "b" ), (101...102), (103...104) ), nil, nil, [], (97...100), (104...105), nil, nil, nil, (107...110) ), DefNode(112...126)( (121...122), ParenthesesNode(116...119)( CallNode(117...118)( nil, nil, (117...118), nil, nil, nil, nil, 2, "a" ), (116...117), (118...119) ), nil, nil, [], (112...115), (119...121), nil, nil, nil, (123...126) ), DefNode(128...143)( (138...139), FalseNode(132...137)(), nil, nil, [], (128...131), (137...138), nil, nil, nil, (140...143) ), DefNode(145...159)( (149...150), nil, ParametersNode(151...154)( [], [], [], nil, [], ForwardingParameterNode(151...154)(), nil ), nil, [:"..."], (145...148), nil, (150...151), (154...155), nil, (156...159) ), DefNode(161...175)( (170...171), GlobalVariableReadNode(165...169)(), nil, nil, [], (161...164), (169...170), nil, nil, nil, (172...175) ), DefNode(177...188)( (183...184), CallNode(181...182)(nil, nil, (181...182), nil, nil, nil, nil, 2, "a"), nil, nil, [], (177...180), (182...183), nil, nil, nil, (185...188) ), DefNode(190...204)( (199...200), InstanceVariableReadNode(194...198)(), nil, nil, [], (190...193), (198...199), nil, nil, nil, (201...204) ), DefNode(206...219)( (210...211), nil, ParametersNode(212...214)( [], [], [], nil, [KeywordParameterNode(212...214)((212...214), nil)], nil, nil ), nil, [:b], (206...209), nil, nil, nil, nil, (216...219) ), StringNode(221...227)((221...223), (223...226), (226...227), "abc"), DefNode(229...242)( (233...234), nil, ParametersNode(235...237)( [], [], [], nil, [KeywordParameterNode(235...237)((235...237), nil)], nil, nil ), nil, [:b], (229...232), nil, (234...235), (237...238), nil, (239...242) ), DefNode(244...258)( (248...249), nil, ParametersNode(250...253)( [], [], [], nil, [], KeywordRestParameterNode(250...253)((250...252), (252...253)), nil ), nil, [:b], (244...247), nil, (249...250), (253...254), nil, (255...258) ), DefNode(260...273)( (264...265), nil, ParametersNode(266...268)( [], [], [], nil, [], KeywordRestParameterNode(266...268)((266...268), nil), nil ), nil, [:**], (260...263), nil, (265...266), (268...269), nil, (270...273) ), LocalVariableWriteNode(275...280)( :a, 0, IntegerNode(279...280)(), (275...276), (277...278) ), DefNode(282...291)( (286...287), nil, nil, nil, [], (282...285), nil, nil, nil, nil, (288...291) ), DefNode(293...310)( (297...298), nil, ParametersNode(299...306)( [RequiredParameterNode(299...300)(:b), RequiredParameterNode(302...303)(:c), RequiredParameterNode(305...306)(:d)], [], [], nil, [], nil, nil ), nil, [:b, :c, :d], (293...296), nil, nil, nil, nil, (307...310) ), DefNode(312...325)( (320...321), NilNode(316...319)(), nil, nil, [], (312...315), (319...320), nil, nil, nil, (322...325) ), DefNode(327...345)( (331...332), nil, ParametersNode(333...341)( [], [], [], nil, [KeywordParameterNode(333...335)((333...335), nil), KeywordParameterNode(337...341)( (337...339), IntegerNode(340...341)() )], nil, nil ), nil, [:b, :c], (327...330), nil, nil, nil, nil, (342...345) ), DefNode(347...366)( (351...352), nil, ParametersNode(353...361)( [], [], [], nil, [KeywordParameterNode(353...355)((353...355), nil), KeywordParameterNode(357...361)( (357...359), IntegerNode(360...361)() )], nil, nil ), nil, [:b, :c], (347...350), nil, (352...353), (361...362), nil, (363...366) ), DefNode(368...389)( (372...373), nil, ParametersNode(374...384)( [], [], [], nil, [KeywordParameterNode(374...380)( (374...376), IntegerNode(379...380)() ), KeywordParameterNode(382...384)((382...384), nil)], nil, nil ), nil, [:b, :c], (368...371), nil, (373...374), (384...385), nil, (386...389) ), StringNode(391...397)((391...393), (393...396), (396...397), "abc"), DefNode(399...421)( (403...404), nil, ParametersNode(405...417)( [], [OptionalParameterNode(405...410)( :b, (405...406), (407...408), IntegerNode(409...410)() ), OptionalParameterNode(412...417)( :c, (412...413), (414...415), IntegerNode(416...417)() )], [], nil, [], nil, nil ), nil, [:b, :c], (399...402), nil, nil, nil, nil, (418...421) ), DefNode(423...434)( (427...428), nil, nil, nil, [], (423...426), nil, (428...429), (429...430), nil, (431...434) ), DefNode(436...454)( (440...441), nil, ParametersNode(442...450)( [RequiredParameterNode(442...443)(:b)], [OptionalParameterNode(445...450)( :c, (445...446), (447...448), IntegerNode(449...450)() )], [], nil, [], nil, nil ), nil, [:b, :c], (436...439), nil, nil, nil, nil, (451...454) ), DefNode(456...467)( (460...461), nil, ParametersNode(462...463)( [RequiredParameterNode(462...463)(:b)], [], [], nil, [], nil, nil ), nil, [:b], (456...459), nil, nil, nil, nil, (464...467) ), DefNode(469...501)( (473...474), nil, nil, BeginNode(476...501)( nil, nil, RescueNode(476...482)((476...482), [], nil, nil, nil, nil), ElseNode(484...496)((484...488), nil, (490...496)), EnsureNode(490...501)((490...496), nil, (498...501)), (498...501) ), [], (469...472), nil, nil, nil, nil, (498...501) ), DefNode(503...515)( (507...508), nil, ParametersNode(509...511)( [], [], [], RestParameterNode(509...511)((509...510), (510...511)), [], nil, nil ), nil, [:b], (503...506), nil, nil, nil, nil, (512...515) ), DefNode(517...529)( (521...522), nil, ParametersNode(523...524)( [], [], [], RestParameterNode(523...524)((523...524), nil), [], nil, nil ), nil, [:*], (517...520), nil, (522...523), (524...525), nil, (526...529) ), DefNode(531...546)( (535...536), nil, nil, StatementsNode(537...542)( [LocalVariableWriteNode(537...542)( :b, 0, IntegerNode(541...542)(), (537...538), (539...540) )] ), [:b], (531...534), nil, nil, nil, nil, (543...546) ), DefNode(548...562)( (557...558), SelfNode(552...556)(), nil, nil, [], (548...551), (556...557), nil, nil, nil, (559...562) ), DefNode(564...578)( (573...574), TrueNode(568...572)(), nil, nil, [], (564...567), (572...573), nil, nil, nil, (575...578) ), DefNode(580...589)( (584...585), nil, nil, nil, [], (580...583), nil, nil, nil, nil, (586...589) ), DefNode(591...625)( (595...597), nil, nil, StatementsNode(598...621)( [IfNode(598...616)( (609...611), TrueNode(612...616)(), StatementsNode(598...608)( [ReturnNode(598...608)( (598...604), ArgumentsNode(605...608)( [SymbolNode(605...608)((605...606), (606...608), nil, "hi")] ) )] ), nil, nil ), SymbolNode(617...621)((617...618), (618...621), nil, "bye")] ), [], (591...594), nil, nil, nil, nil, (622...625) ), DefNode(627...638)( (631...634), nil, nil, StatementsNode(637...638)([IntegerNode(637...638)()]), [], (627...630), nil, nil, nil, (635...636), nil ), DefNode(639...650)( (643...646), nil, nil, StatementsNode(649...650)([IntegerNode(649...650)()]), [], (639...642), nil, nil, nil, (647...648), nil ), DefNode(652...670)( (656...659), nil, ParametersNode(660...663)( [RequiredParameterNode(660...663)(:bar)], [], [], nil, [], nil, nil ), StatementsNode(667...670)([IntegerNode(667...670)()]), [:bar], (652...655), nil, (659...660), (663...664), (665...666), nil ), DefNode(672...685)( (676...679), nil, nil, StatementsNode(682...685)([IntegerNode(682...685)()]), [], (672...675), nil, nil, nil, (680...681), nil ), DefNode(687...706)( (691...692), nil, ParametersNode(693...694)( [], [], [], RestParameterNode(693...694)((693...694), nil), [], nil, nil ), StatementsNode(697...701)( [CallNode(697...701)( nil, nil, (697...698), (698...699), ArgumentsNode(699...700)([SplatNode(699...700)((699...700), nil)]), (700...701), nil, 0, "b" )] ), [:*], (687...690), nil, (692...693), (694...695), nil, (703...706) ), DefNode(708...731)( (712...713), nil, ParametersNode(714...717)( [], [], [], nil, [], ForwardingParameterNode(714...717)(), nil ), StatementsNode(720...726)( [CallNode(720...726)( nil, nil, (720...721), (721...722), ArgumentsNode(722...725)([ForwardingArgumentsNode(722...725)()]), (725...726), nil, 0, "b" )] ), [:"..."], (708...711), nil, (713...714), (717...718), nil, (728...731) ), DefNode(733...762)( (737...738), nil, ParametersNode(739...742)( [], [], [], nil, [], ForwardingParameterNode(739...742)(), nil ), StatementsNode(745...757)( [CallNode(745...757)( nil, nil, (745...746), (746...747), ArgumentsNode(747...756)( [IntegerNode(747...748)(), IntegerNode(750...751)(), ForwardingArgumentsNode(753...756)()] ), (756...757), nil, 0, "b" )] ), [:"..."], (733...736), nil, (738...739), (742...743), nil, (759...762) ), DefNode(764...781)( (776...777), ParenthesesNode(768...775)( LocalVariableWriteNode(769...774)( :c, 0, CallNode(773...774)( nil, nil, (773...774), nil, nil, nil, nil, 2, "b" ), (769...770), (771...772) ), (768...769), (774...775) ), nil, nil, [], (764...767), (775...776), nil, nil, nil, (778...781) ), DefNode(783...795)( (787...788), nil, ParametersNode(789...791)( [], [], [], nil, [], nil, BlockParameterNode(789...791)((790...791), (789...790)) ), nil, [:b], (783...786), nil, nil, nil, nil, (792...795) ), DefNode(797...809)( (801...802), nil, ParametersNode(803...804)( [], [], [], nil, [], nil, BlockParameterNode(803...804)(nil, (803...804)) ), nil, [:&], (797...800), nil, (802...803), (804...805), nil, (806...809) ), DefNode(811...826)( (821...822), ClassVariableReadNode(815...820)(), nil, nil, [], (811...814), (820...821), nil, nil, nil, (823...826) ), DefNode(828...845)( (840...841), ParenthesesNode(832...839)( LocalVariableWriteNode(833...838)( :a, 0, CallNode(837...838)( nil, nil, (837...838), nil, nil, nil, nil, 2, "b" ), (833...834), (835...836) ), (832...833), (838...839) ), nil, nil, [], (828...831), (839...840), nil, nil, nil, (842...845) ), DefNode(847...875)( (856...870), SelfNode(851...855)(), nil, nil, [], (847...850), (855...856), nil, nil, nil, (872...875) ), ConstantWriteNode(877...886)( (877...882), IntegerNode(885...886)(), (883...884) ), DefNode(888...903)( (898...899), ConstantReadNode(892...897)(), nil, nil, [], (888...891), (897...898), nil, nil, nil, (900...903) ), DefNode(905...936)( (909...910), nil, ParametersNode(911...914)( [], [], [], nil, [], ForwardingParameterNode(911...914)(), nil ), StatementsNode(917...931)( [InterpolatedStringNode(917...931)( (917...918), [StringNode(918...921)(nil, (918...921), nil, "foo"), EmbeddedStatementsNode(921...930)( (921...923), StatementsNode(923...929)( [CallNode(923...929)( nil, nil, (923...924), (924...925), ArgumentsNode(925...928)( [ForwardingArgumentsNode(925...928)()] ), (928...929), nil, 0, "b" )] ), (929...930) )], (930...931) )] ), [:"..."], (905...908), nil, (910...911), (914...915), nil, (933...936) ), DefNode(938...980)( (942...945), nil, nil, StatementsNode(948...976)( [CallNode(948...976)( HashNode(948...950)((948...949), [], (949...950)), (950...951), (951...956), nil, ArgumentsNode(957...976)( [KeywordHashNode(957...976)( [AssocSplatNode(957...962)( CallNode(959...962)( nil, nil, (959...962), nil, nil, nil, nil, 2, "bar" ), (957...959) ), AssocSplatNode(964...969)( CallNode(966...969)( nil, nil, (966...969), nil, nil, nil, nil, 2, "baz" ), (964...966) ), AssocSplatNode(971...976)( CallNode(973...976)( nil, nil, (973...976), nil, nil, nil, nil, 2, "qux" ), (971...973) )] )] ), nil, nil, 0, "merge" )] ), [], (938...941), nil, nil, nil, nil, (977...980) ), DefNode(982...1006)( (986...989), nil, ParametersNode(990...1001)( [], [], [], nil, [KeywordParameterNode(990...1001)( (990...992), ParenthesesNode(993...1001)( StatementsNode(994...1000)( [RangeNode(994...1000)( IntegerNode(994...995)(), IntegerNode(998...1000)(), (995...998), 1 )] ), (993...994), (1000...1001) ) )], nil, nil ), nil, [:a], (982...985), nil, (989...990), (1001...1002), nil, (1003...1006) ), DefNode(1008...1031)( (1012...1015), nil, ParametersNode(1016...1026)( [], [], [], nil, [KeywordParameterNode(1016...1026)( (1016...1018), ParenthesesNode(1019...1026)( StatementsNode(1020...1025)( [RangeNode(1020...1025)( nil, IntegerNode(1023...1025)(), (1020...1023), 1 )] ), (1019...1020), (1025...1026) ) )], nil, nil ), nil, [:a], (1008...1011), nil, (1015...1016), (1026...1027), nil, (1028...1031) ), DefNode(1033...1055)( (1037...1040), nil, ParametersNode(1041...1050)( [], [], [], nil, [KeywordParameterNode(1041...1050)( (1041...1043), ParenthesesNode(1044...1050)( StatementsNode(1045...1049)( [RangeNode(1045...1049)( IntegerNode(1045...1046)(), nil, (1046...1049), 1 )] ), (1044...1045), (1049...1050) ) )], nil, nil ), nil, [:a], (1033...1036), nil, (1040...1041), (1050...1051), nil, (1052...1055) ), DefNode(1057...1082)( (1061...1064), nil, ParametersNode(1065...1077)( [], [OptionalParameterNode(1065...1077)( :a, (1065...1066), (1067...1068), ParenthesesNode(1069...1077)( StatementsNode(1070...1076)( [RangeNode(1070...1076)( IntegerNode(1070...1071)(), IntegerNode(1074...1076)(), (1071...1074), 1 )] ), (1069...1070), (1076...1077) ) )], [], nil, [], nil, nil ), nil, [:a], (1057...1060), nil, (1064...1065), (1077...1078), nil, (1079...1082) ), DefNode(1084...1108)( (1088...1091), nil, ParametersNode(1092...1103)( [], [OptionalParameterNode(1092...1103)( :a, (1092...1093), (1094...1095), ParenthesesNode(1096...1103)( StatementsNode(1097...1102)( [RangeNode(1097...1102)( nil, IntegerNode(1100...1102)(), (1097...1100), 1 )] ), (1096...1097), (1102...1103) ) )], [], nil, [], nil, nil ), nil, [:a], (1084...1087), nil, (1091...1092), (1103...1104), nil, (1105...1108) ), DefNode(1110...1133)( (1114...1117), nil, ParametersNode(1118...1128)( [], [OptionalParameterNode(1118...1128)( :a, (1118...1119), (1120...1121), ParenthesesNode(1122...1128)( StatementsNode(1123...1127)( [RangeNode(1123...1127)( IntegerNode(1123...1124)(), nil, (1124...1127), 1 )] ), (1122...1123), (1127...1128) ) )], [], nil, [], nil, nil ), nil, [:a], (1110...1113), nil, (1117...1118), (1128...1129), nil, (1130...1133) ), DefNode(1135...1167)( (1139...1145), nil, ParametersNode(1146...1147)( [RequiredParameterNode(1146...1147)(:a)], [], [], nil, [], nil, nil ), StatementsNode(1151...1163)( [CallNode(1151...1163)( CallNode(1151...1155)( nil, nil, (1151...1155), nil, nil, nil, nil, 2, "item" ), nil, (1156...1158), nil, ArgumentsNode(1159...1163)( [CallNode(1159...1163)( nil, nil, (1159...1160), nil, nil, nil, BlockNode(1161...1163)( [], nil, nil, (1161...1162), (1162...1163) ), 0, "a" )] ), nil, nil, 0, ">>" )] ), [:a], (1135...1138), nil, (1145...1146), (1147...1148), nil, (1164...1167) ), DefNode(1169...1194)( (1173...1176), nil, ParametersNode(1177...1189)( [RequiredParameterNode(1177...1179)(:_a), RequiredParameterNode(1181...1183)(:_a), RequiredParameterNode(1185...1186)(:b), RequiredParameterNode(1188...1189)(:c)], [], [], nil, [], nil, nil ), nil, [:_a, :b, :c], (1169...1172), nil, (1176...1177), (1189...1190), nil, (1191...1194) )] ) )