ProgramNode(0...737)(
  [],
  StatementsNode(0...737)(
    [CallNode(0...7)(
       nil,
       nil,
       (0...3),
       nil,
       nil,
       nil,
       BlockNode(4...7)([], nil, nil, (4...5), (6...7)),
       0,
       "foo"
     ),
     CallNode(8...19)(
       nil,
       nil,
       (8...11),
       nil,
       nil,
       nil,
       BlockNode(12...19)(
         [:a],
         BlockParametersNode(14...17)(
           ParametersNode(15...16)(
             [RequiredParameterNode(15...16)(:a)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (14...15),
           (16...17)
         ),
         nil,
         (12...13),
         (18...19)
       ),
       0,
       "foo"
     ),
     CallNode(20...32)(
       nil,
       nil,
       (20...23),
       nil,
       nil,
       nil,
       BlockNode(24...32)(
         [:a],
         BlockParametersNode(26...30)(
           ParametersNode(27...29)(
             [RequiredParameterNode(27...28)(:a)],
             [],
             [],
             RestParameterNode(28...29)((28...29), nil),
             [],
             nil,
             nil
           ),
           [],
           (26...27),
           (29...30)
         ),
         nil,
         (24...25),
         (31...32)
       ),
       0,
       "foo"
     ),
     CallNode(33...48)(
       nil,
       nil,
       (33...36),
       nil,
       nil,
       nil,
       BlockNode(37...48)(
         [:a, :x],
         BlockParametersNode(39...46)(
           ParametersNode(40...42)(
             [RequiredParameterNode(40...41)(:a)],
             [],
             [],
             RestParameterNode(41...42)((41...42), nil),
             [],
             nil,
             nil
           ),
           [(44...45)],
           (39...40),
           (45...46)
         ),
         nil,
         (37...38),
         (47...48)
       ),
       0,
       "foo"
     ),
     CallNode(49...63)(
       nil,
       nil,
       (49...52),
       nil,
       nil,
       nil,
       BlockNode(53...63)(
         [:a, :b],
         BlockParametersNode(55...61)(
           ParametersNode(56...60)(
             [RequiredParameterNode(56...57)(:a),
              RequiredParameterNode(59...60)(:b)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (55...56),
           (60...61)
         ),
         nil,
         (53...54),
         (62...63)
       ),
       0,
       "foo"
     ),
     CallNode(64...80)(
       nil,
       nil,
       (64...67),
       (67...68),
       ArgumentsNode(68...69)([IntegerNode(68...69)()]),
       (69...70),
       BlockNode(71...80)(
         [],
         nil,
         StatementsNode(75...78)([NilNode(75...78)()]),
         (71...72),
         (79...80)
       ),
       0,
       "foo"
     ),
     CallNode(81...102)(
       nil,
       nil,
       (81...84),
       nil,
       nil,
       nil,
       BlockNode(85...102)(
         [:a, :b],
         BlockParametersNode(87...94)(
           ParametersNode(88...93)(
             [RequiredParameterNode(88...89)(:a)],
             [],
             [],
             RestParameterNode(91...93)((91...92), (92...93)),
             [],
             nil,
             nil
           ),
           [],
           (87...88),
           (93...94)
         ),
         StatementsNode(97...100)([NilNode(97...100)()]),
         (85...86),
         (101...102)
       ),
       0,
       "foo"
     ),
     CallNode(103...123)(
       nil,
       nil,
       (103...106),
       nil,
       nil,
       nil,
       BlockNode(107...123)(
         [:a, :*],
         BlockParametersNode(109...115)(
           ParametersNode(110...114)(
             [RequiredParameterNode(110...111)(:a)],
             [],
             [],
             RestParameterNode(113...114)((113...114), nil),
             [],
             nil,
             nil
           ),
           [],
           (109...110),
           (114...115)
         ),
         StatementsNode(118...121)([NilNode(118...121)()]),
         (107...108),
         (122...123)
       ),
       0,
       "foo"
     ),
     CallNode(124...137)(
       nil,
       nil,
       (124...127),
       nil,
       nil,
       nil,
       BlockNode(128...137)(
         [],
         nil,
         StatementsNode(132...135)(
           [CallNode(132...135)(
              nil,
              nil,
              (132...135),
              nil,
              nil,
              nil,
              nil,
              0,
              "bar"
            )]
         ),
         (128...129),
         (136...137)
       ),
       0,
       "foo"
     ),
     CallNode(138...165)(
       CallNode(138...141)(
         nil,
         nil,
         (138...141),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (141...142),
       (142...145),
       nil,
       nil,
       nil,
       BlockNode(146...165)(
         [:a, :b, :c],
         BlockParametersNode(148...159)(
           ParametersNode(149...158)(
             [RequiredDestructuredParameterNode(149...155)(
                [RequiredParameterNode(150...151)(:a),
                 RequiredParameterNode(153...154)(:b)],
                (149...150),
                (154...155)
              ),
              RequiredParameterNode(157...158)(:c)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (148...149),
           (158...159)
         ),
         StatementsNode(162...163)(
           [CallNode(162...163)(
              nil,
              nil,
              (162...163),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (146...147),
         (164...165)
       ),
       0,
       "bar"
     ),
     CallNode(166...185)(
       CallNode(166...169)(
         nil,
         nil,
         (166...169),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (169...170),
       (170...173),
       nil,
       nil,
       nil,
       BlockNode(174...185)(
         [:a, :b],
         BlockParametersNode(176...183)(
           ParametersNode(177...179)(
             [],
             [],
             [],
             RestParameterNode(177...179)((177...178), (178...179)),
             [],
             nil,
             nil
           ),
           [(181...182)],
           (176...177),
           (182...183)
         ),
         nil,
         (174...175),
         (184...185)
       ),
       0,
       "bar"
     ),
     CallNode(186...204)(
       CallNode(186...189)(
         nil,
         nil,
         (186...189),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (189...190),
       (190...193),
       nil,
       nil,
       nil,
       BlockNode(194...204)(
         [:a, :b],
         BlockParametersNode(196...202)(
           ParametersNode(197...198)(
             [RequiredParameterNode(197...198)(:a)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [(200...201)],
           (196...197),
           (201...202)
         ),
         nil,
         (194...195),
         (203...204)
       ),
       0,
       "bar"
     ),
     CallNode(205...225)(
       CallNode(205...208)(
         nil,
         nil,
         (205...208),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (208...209),
       (209...212),
       nil,
       nil,
       nil,
       BlockNode(213...225)(
         [:a, :b],
         BlockParametersNode(215...223)(
           nil,
           [(218...219), (221...222)],
           (215...216),
           (222...223)
         ),
         nil,
         (213...214),
         (224...225)
       ),
       0,
       "bar"
     ),
     CallNode(226...245)(
       CallNode(226...229)(
         nil,
         nil,
         (226...229),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (229...230),
       (230...233),
       nil,
       nil,
       nil,
       BlockNode(234...245)(
         [:*],
         BlockParametersNode(236...239)(
           ParametersNode(237...238)(
             [],
             [],
             [],
             RestParameterNode(237...238)((237...238), nil),
             [],
             nil,
             nil
           ),
           [],
           (236...237),
           (238...239)
         ),
         StatementsNode(242...243)(
           [CallNode(242...243)(
              nil,
              nil,
              (242...243),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (234...235),
         (244...245)
       ),
       0,
       "bar"
     ),
     CallNode(246...267)(
       CallNode(246...249)(
         nil,
         nil,
         (246...249),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (249...250),
       (250...253),
       nil,
       nil,
       nil,
       BlockNode(254...267)(
         [],
         BlockParametersNode(256...261)(
           ParametersNode(257...260)(
             [RequiredDestructuredParameterNode(257...260)(
                [SplatNode(258...259)((258...259), nil)],
                (257...258),
                (259...260)
              )],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (256...257),
           (260...261)
         ),
         StatementsNode(264...265)(
           [CallNode(264...265)(
              nil,
              nil,
              (264...265),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (254...255),
         (266...267)
       ),
       0,
       "bar"
     ),
     CallNode(268...291)(
       CallNode(268...271)(
         nil,
         nil,
         (268...271),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (271...272),
       (272...275),
       nil,
       nil,
       nil,
       BlockNode(276...291)(
         [],
         BlockParametersNode(278...285)(
           ParametersNode(279...284)(
             [RequiredDestructuredParameterNode(279...284)(
                [RequiredDestructuredParameterNode(280...283)(
                   [SplatNode(281...282)((281...282), nil)],
                   (280...281),
                   (282...283)
                 )],
                (279...280),
                (283...284)
              )],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (278...279),
           (284...285)
         ),
         StatementsNode(288...289)(
           [CallNode(288...289)(
              nil,
              nil,
              (288...289),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (276...277),
         (290...291)
       ),
       0,
       "bar"
     ),
     CallNode(292...318)(
       CallNode(292...295)(
         nil,
         nil,
         (292...295),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (295...296),
       (296...299),
       nil,
       nil,
       nil,
       BlockNode(300...318)(
         [:a],
         BlockParametersNode(302...312)(
           ParametersNode(303...311)(
             [RequiredDestructuredParameterNode(303...311)(
                [RequiredParameterNode(304...305)(:a),
                 RequiredDestructuredParameterNode(307...310)(
                   [SplatNode(308...309)((308...309), nil)],
                   (307...308),
                   (309...310)
                 )],
                (303...304),
                (310...311)
              )],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (302...303),
           (311...312)
         ),
         StatementsNode(315...316)(
           [CallNode(315...316)(
              nil,
              nil,
              (315...316),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (300...301),
         (317...318)
       ),
       0,
       "bar"
     ),
     CallNode(319...343)(
       CallNode(319...322)(
         nil,
         nil,
         (319...322),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       (322...323),
       (323...326),
       nil,
       nil,
       nil,
       BlockNode(327...343)(
         [:a, :b],
         BlockParametersNode(329...337)(
           ParametersNode(330...336)(
             [RequiredDestructuredParameterNode(330...336)(
                [RequiredParameterNode(331...332)(:a),
                 RequiredParameterNode(334...335)(:b)],
                (330...331),
                (335...336)
              )],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (329...330),
           (336...337)
         ),
         StatementsNode(340...341)(
           [CallNode(340...341)(
              nil,
              nil,
              (340...341),
              nil,
              nil,
              nil,
              nil,
              0,
              "d"
            )]
         ),
         (327...328),
         (342...343)
       ),
       0,
       "bar"
     ),
     CallNode(344...359)(
       CallNode(344...355)(
         CallNode(344...347)(
           nil,
           nil,
           (344...347),
           nil,
           nil,
           nil,
           nil,
           0,
           "foo"
         ),
         (347...348),
         (348...351),
         nil,
         nil,
         nil,
         BlockNode(352...355)([], nil, nil, (352...353), (354...355)),
         0,
         "bar"
       ),
       (355...356),
       (356...359),
       nil,
       nil,
       nil,
       nil,
       0,
       "baz"
     ),
     CallNode(360...390)(
       nil,
       nil,
       (360...361),
       nil,
       nil,
       nil,
       BlockNode(362...390)(
         [:e],
         nil,
         BeginNode(365...390)(
           nil,
           nil,
           RescueNode(365...386)(
             (365...371),
             [ConstantReadNode(372...381)()],
             (382...384),
             LocalVariableWriteNode(385...386)(:e, 0, nil, (385...386), nil),
             nil,
             nil
           ),
           nil,
           nil,
           (387...390)
         ),
         (362...364),
         (387...390)
       ),
       0,
       "m"
     ),
     CallNode(391...435)(
       nil,
       nil,
       (391...392),
       nil,
       nil,
       nil,
       BlockNode(393...435)(
         [:bar],
         nil,
         BeginNode(398...435)(
           nil,
           StatementsNode(398...401)(
             [CallNode(398...401)(
                nil,
                nil,
                (398...401),
                nil,
                nil,
                nil,
                nil,
                0,
                "foo"
              )]
           ),
           RescueNode(402...431)(
             (402...408),
             [ConstantReadNode(409...418)()],
             (419...421),
             LocalVariableWriteNode(422...425)(:bar, 0, nil, (422...425), nil),
             StatementsNode(428...431)(
               [LocalVariableReadNode(428...431)(:bar, 0)]
             ),
             nil
           ),
           nil,
           nil,
           (432...435)
         ),
         (393...395),
         (432...435)
       ),
       0,
       "m"
     ),
     CallNode(436...479)(
       nil,
       nil,
       (436...437),
       nil,
       nil,
       nil,
       BlockNode(438...479)(
         [],
         nil,
         BeginNode(443...479)(
           nil,
           StatementsNode(443...446)(
             [CallNode(443...446)(
                nil,
                nil,
                (443...446),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(447...475)(
             (447...453),
             [ConstantReadNode(454...463)(),
              SplatNode(465...469)(
                (465...466),
                CallNode(466...469)(
                  nil,
                  nil,
                  (466...469),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "bar"
                )
              )],
             nil,
             nil,
             StatementsNode(472...475)(
               [CallNode(472...475)(
                  nil,
                  nil,
                  (472...475),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "baz"
                )]
             ),
             nil
           ),
           nil,
           nil,
           (476...479)
         ),
         (438...440),
         (476...479)
       ),
       0,
       "m"
     ),
     CallNode(480...536)(
       nil,
       nil,
       (480...481),
       nil,
       nil,
       nil,
       BlockNode(482...536)(
         [:exception],
         nil,
         BeginNode(487...536)(
           nil,
           StatementsNode(487...490)(
             [CallNode(487...490)(
                nil,
                nil,
                (487...490),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(491...532)(
             (491...497),
             [ConstantReadNode(498...507)(),
              SplatNode(509...513)(
                (509...510),
                CallNode(510...513)(
                  nil,
                  nil,
                  (510...513),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "bar"
                )
              )],
             (514...516),
             LocalVariableWriteNode(517...526)(
               :exception,
               0,
               nil,
               (517...526),
               nil
             ),
             StatementsNode(529...532)(
               [CallNode(529...532)(
                  nil,
                  nil,
                  (529...532),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "baz"
                )]
             ),
             nil
           ),
           nil,
           nil,
           (533...536)
         ),
         (482...484),
         (533...536)
       ),
       0,
       "m"
     ),
     CallNode(537...569)(
       nil,
       nil,
       (537...538),
       nil,
       nil,
       nil,
       BlockNode(539...569)(
         [],
         nil,
         BeginNode(544...569)(
           nil,
           StatementsNode(544...547)(
             [CallNode(544...547)(
                nil,
                nil,
                (544...547),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(548...565)(
             (548...554),
             [SplatNode(555...559)(
                (555...556),
                CallNode(556...559)(
                  nil,
                  nil,
                  (556...559),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "bar"
                )
              )],
             nil,
             nil,
             StatementsNode(562...565)(
               [CallNode(562...565)(
                  nil,
                  nil,
                  (562...565),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "baz"
                )]
             ),
             nil
           ),
           nil,
           nil,
           (566...569)
         ),
         (539...541),
         (566...569)
       ),
       0,
       "m"
     ),
     CallNode(570...601)(
       nil,
       nil,
       (570...571),
       nil,
       nil,
       nil,
       BlockNode(572...601)(
         [],
         nil,
         BeginNode(577...601)(
           nil,
           StatementsNode(577...580)(
             [CallNode(577...580)(
                nil,
                nil,
                (577...580),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(581...597)(
             (581...587),
             [ConstantReadNode(588...597)()],
             nil,
             nil,
             nil,
             nil
           ),
           nil,
           nil,
           (598...601)
         ),
         (572...574),
         (598...601)
       ),
       0,
       "m"
     ),
     CallNode(602...634)(
       nil,
       nil,
       (602...603),
       nil,
       nil,
       nil,
       BlockNode(604...634)(
         [],
         nil,
         BeginNode(609...634)(
           nil,
           StatementsNode(609...612)(
             [CallNode(609...612)(
                nil,
                nil,
                (609...612),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(613...619)((613...619), [], nil, nil, nil, nil),
           ElseNode(620...634)(
             (620...624),
             StatementsNode(627...630)(
               [CallNode(627...630)(
                  nil,
                  nil,
                  (627...630),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "baz"
                )]
             ),
             (631...634)
           ),
           nil,
           (631...634)
         ),
         (604...606),
         (631...634)
       ),
       0,
       "m"
     ),
     CallNode(635...680)(
       nil,
       nil,
       (635...636),
       nil,
       nil,
       nil,
       BlockNode(637...680)(
         [:exception],
         nil,
         BeginNode(642...680)(
           nil,
           StatementsNode(642...645)(
             [CallNode(642...645)(
                nil,
                nil,
                (642...645),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           RescueNode(646...676)(
             (646...652),
             [SplatNode(653...657)(
                (653...654),
                CallNode(654...657)(
                  nil,
                  nil,
                  (654...657),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "bar"
                )
              )],
             (658...660),
             LocalVariableWriteNode(661...670)(
               :exception,
               0,
               nil,
               (661...670),
               nil
             ),
             StatementsNode(673...676)(
               [CallNode(673...676)(
                  nil,
                  nil,
                  (673...676),
                  nil,
                  nil,
                  nil,
                  nil,
                  0,
                  "baz"
                )]
             ),
             nil
           ),
           nil,
           nil,
           (677...680)
         ),
         (637...639),
         (677...680)
       ),
       0,
       "m"
     ),
     CallNode(681...696)(
       nil,
       nil,
       (681...682),
       nil,
       nil,
       nil,
       BlockNode(683...696)(
         [],
         nil,
         BeginNode(686...696)(
           nil,
           nil,
           nil,
           nil,
           EnsureNode(686...696)((686...692), nil, (693...696)),
           (693...696)
         ),
         (683...685),
         (693...696)
       ),
       0,
       "m"
     ),
     CallNode(697...719)(
       nil,
       nil,
       (697...698),
       nil,
       nil,
       nil,
       BlockNode(699...719)(
         [],
         nil,
         BeginNode(702...719)(
           nil,
           nil,
           RescueNode(702...708)((702...708), [], nil, nil, nil, nil),
           nil,
           EnsureNode(709...719)((709...715), nil, (716...719)),
           (716...719)
         ),
         (699...701),
         (716...719)
       ),
       0,
       "m"
     ),
     CallNode(720...737)(
       nil,
       nil,
       (720...723),
       nil,
       nil,
       nil,
       BlockNode(724...737)(
         [],
         nil,
         StatementsNode(728...735)(
           [CallNode(728...735)(
              CallNode(728...730)(
                nil,
                nil,
                (728...730),
                nil,
                nil,
                nil,
                nil,
                0,
                "_1"
              ),
              nil,
              (731...732),
              nil,
              ArgumentsNode(733...735)(
                [CallNode(733...735)(
                   nil,
                   nil,
                   (733...735),
                   nil,
                   nil,
                   nil,
                   nil,
                   0,
                   "_2"
                 )]
              ),
              nil,
              nil,
              0,
              "+"
            )]
         ),
         (724...725),
         (736...737)
       ),
       0,
       "bar"
     )]
  )
)
