ProgramNode(0...690)(
  [],
  StatementsNode(0...690)(
    [DefNode(0...13)(
       (4...5),
       nil,
       ParametersNode(6...8)(
         [],
         [],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(6...8)((7...8), (6...7))
       ),
       nil,
       [:b],
       (0...3),
       nil,
       nil,
       nil,
       nil,
       (10...13)
     ),
     DefNode(15...33)(
       (19...20),
       nil,
       ParametersNode(22...27)(
         [RequiredDestructuredParameterNode(22...27)(
            [RequiredDestructuredParameterNode(23...26)(
               [RequiredParameterNode(24...25)(:a)],
               (23...24),
               (25...26)
             )],
            (22...23),
            (26...27)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a],
       (15...18),
       nil,
       (21...22),
       (27...28),
       nil,
       (30...33)
     ),
     DefNode(35...51)(
       (39...40),
       nil,
       ParametersNode(42...45)(
         [RequiredDestructuredParameterNode(42...45)(
            [SplatNode(43...44)((43...44), nil)],
            (42...43),
            (44...45)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [],
       (35...38),
       nil,
       (41...42),
       (45...46),
       nil,
       (48...51)
     ),
     DefNode(53...72)(
       (57...58),
       nil,
       ParametersNode(60...66)(
         [RequiredDestructuredParameterNode(60...66)(
            [SplatNode(61...62)((61...62), nil),
             RequiredParameterNode(64...65)(:p)],
            (60...61),
            (65...66)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:p],
       (53...56),
       nil,
       (59...60),
       (66...67),
       nil,
       (69...72)
     ),
     DefNode(74...91)(
       (78...79),
       nil,
       ParametersNode(81...85)(
         [RequiredDestructuredParameterNode(81...85)(
            [SplatNode(82...84)(
               (82...83),
               RequiredParameterNode(83...84)(:r)
             )],
            (81...82),
            (84...85)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:r],
       (74...77),
       nil,
       (80...81),
       (85...86),
       nil,
       (88...91)
     ),
     DefNode(93...113)(
       (97...98),
       nil,
       ParametersNode(100...107)(
         [RequiredDestructuredParameterNode(100...107)(
            [SplatNode(101...103)(
               (101...102),
               RequiredParameterNode(102...103)(:r)
             ),
             RequiredParameterNode(105...106)(:p)],
            (100...101),
            (106...107)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:r, :p],
       (93...96),
       nil,
       (99...100),
       (107...108),
       nil,
       (110...113)
     ),
     DefNode(115...134)(
       (119...120),
       nil,
       ParametersNode(122...128)(
         [RequiredDestructuredParameterNode(122...128)(
            [RequiredParameterNode(123...124)(:a),
             SplatNode(126...127)((126...127), nil)],
            (122...123),
            (127...128)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a],
       (115...118),
       nil,
       (121...122),
       (128...129),
       nil,
       (131...134)
     ),
     DefNode(136...158)(
       (140...141),
       nil,
       ParametersNode(143...152)(
         [RequiredDestructuredParameterNode(143...152)(
            [RequiredParameterNode(144...145)(:a),
             SplatNode(147...148)((147...148), nil),
             RequiredParameterNode(150...151)(:p)],
            (143...144),
            (151...152)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a, :p],
       (136...139),
       nil,
       (142...143),
       (152...153),
       nil,
       (155...158)
     ),
     DefNode(160...180)(
       (164...165),
       nil,
       ParametersNode(167...174)(
         [RequiredDestructuredParameterNode(167...174)(
            [RequiredParameterNode(168...169)(:a),
             SplatNode(171...173)(
               (171...172),
               RequiredParameterNode(172...173)(:r)
             )],
            (167...168),
            (173...174)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a, :r],
       (160...163),
       nil,
       (166...167),
       (174...175),
       nil,
       (177...180)
     ),
     DefNode(182...205)(
       (186...187),
       nil,
       ParametersNode(189...199)(
         [RequiredDestructuredParameterNode(189...199)(
            [RequiredParameterNode(190...191)(:a),
             SplatNode(193...195)(
               (193...194),
               RequiredParameterNode(194...195)(:r)
             ),
             RequiredParameterNode(197...198)(:p)],
            (189...190),
            (198...199)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a, :r, :p],
       (182...185),
       nil,
       (188...189),
       (199...200),
       nil,
       (202...205)
     ),
     DefNode(207...227)(
       (211...212),
       nil,
       ParametersNode(214...221)(
         [RequiredDestructuredParameterNode(214...221)(
            [RequiredParameterNode(215...216)(:a),
             RequiredParameterNode(218...220)(:a1)],
            (214...215),
            (220...221)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a, :a1],
       (207...210),
       nil,
       (213...214),
       (221...222),
       nil,
       (224...227)
     ),
     DefNode(229...252)(
       (233...234),
       nil,
       ParametersNode(236...246)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(236...242)(
            (236...240),
            IntegerNode(241...242)()
          )],
         nil,
         BlockParameterNode(244...246)((245...246), (244...245))
       ),
       nil,
       [:foo, :b],
       (229...232),
       nil,
       (235...236),
       (246...247),
       nil,
       (249...252)
     ),
     DefNode(254...292)(
       (258...259),
       nil,
       ParametersNode(261...286)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(261...267)(
            (261...265),
            IntegerNode(266...267)()
          ),
          KeywordParameterNode(269...275)(
            (269...273),
            IntegerNode(274...275)()
          )],
         KeywordRestParameterNode(277...282)((277...279), (279...282)),
         BlockParameterNode(284...286)((285...286), (284...285))
       ),
       nil,
       [:foo, :bar, :baz, :b],
       (254...257),
       nil,
       (260...261),
       (286...287),
       nil,
       (289...292)
     ),
     DefNode(294...314)(
       (298...299),
       nil,
       ParametersNode(300...309)(
         [],
         [],
         [],
         nil,
         [],
         KeywordRestParameterNode(300...305)((300...302), (302...305)),
         BlockParameterNode(307...309)((308...309), (307...308))
       ),
       nil,
       [:baz, :b],
       (294...297),
       nil,
       nil,
       nil,
       nil,
       (311...314)
     ),
     DefNode(316...332)(
       (320...321),
       nil,
       ParametersNode(322...327)(
         [],
         [],
         [],
         RestParameterNode(322...323)((322...323), nil),
         [],
         KeywordRestParameterNode(325...327)((325...327), nil),
         nil
       ),
       nil,
       [:*, :**],
       (316...319),
       nil,
       nil,
       nil,
       nil,
       (329...332)
     ),
     DefNode(334...351)(
       (338...339),
       nil,
       ParametersNode(340...346)(
         [],
         [],
         [],
         RestParameterNode(340...342)((340...341), (341...342)),
         [],
         nil,
         BlockParameterNode(344...346)((345...346), (344...345))
       ),
       nil,
       [:r, :b],
       (334...337),
       nil,
       nil,
       nil,
       nil,
       (348...351)
     ),
     DefNode(353...373)(
       (357...358),
       nil,
       ParametersNode(359...368)(
         [],
         [],
         [RequiredParameterNode(363...364)(:p)],
         RestParameterNode(359...361)((359...360), (360...361)),
         [],
         nil,
         BlockParameterNode(366...368)((367...368), (366...367))
       ),
       nil,
       [:r, :p, :b],
       (353...356),
       nil,
       nil,
       nil,
       nil,
       (370...373)
     ),
     DefNode(375...386)(
       (379...380),
       nil,
       nil,
       nil,
       [],
       (375...378),
       nil,
       nil,
       nil,
       nil,
       (383...386)
     ),
     DefNode(388...404)(
       (392...393),
       nil,
       ParametersNode(394...399)(
         [RequiredParameterNode(394...395)(:a)],
         [],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(397...399)((398...399), (397...398))
       ),
       nil,
       [:a, :b],
       (388...391),
       nil,
       nil,
       nil,
       nil,
       (401...404)
     ),
     DefNode(406...426)(
       (410...411),
       nil,
       ParametersNode(412...421)(
         [RequiredParameterNode(412...413)(:a)],
         [],
         [],
         RestParameterNode(415...417)((415...416), (416...417)),
         [],
         nil,
         BlockParameterNode(419...421)((420...421), (419...420))
       ),
       nil,
       [:a, :r, :b],
       (406...409),
       nil,
       nil,
       nil,
       nil,
       (423...426)
     ),
     DefNode(428...451)(
       (432...433),
       nil,
       ParametersNode(434...446)(
         [RequiredParameterNode(434...435)(:a)],
         [],
         [RequiredParameterNode(441...442)(:p)],
         RestParameterNode(437...439)((437...438), (438...439)),
         [],
         nil,
         BlockParameterNode(444...446)((445...446), (444...445))
       ),
       nil,
       [:a, :r, :p, :b],
       (428...431),
       nil,
       nil,
       nil,
       nil,
       (448...451)
     ),
     DefNode(453...474)(
       (457...458),
       nil,
       ParametersNode(459...469)(
         [RequiredParameterNode(459...460)(:a)],
         [OptionalParameterNode(462...465)(
            :o,
            (462...463),
            (463...464),
            IntegerNode(464...465)()
          )],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(467...469)((468...469), (467...468))
       ),
       nil,
       [:a, :o, :b],
       (453...456),
       nil,
       nil,
       nil,
       nil,
       (471...474)
     ),
     DefNode(476...501)(
       (480...481),
       nil,
       ParametersNode(482...496)(
         [RequiredParameterNode(482...483)(:a)],
         [OptionalParameterNode(485...488)(
            :o,
            (485...486),
            (486...487),
            IntegerNode(487...488)()
          )],
         [],
         RestParameterNode(490...492)((490...491), (491...492)),
         [],
         nil,
         BlockParameterNode(494...496)((495...496), (494...495))
       ),
       nil,
       [:a, :o, :r, :b],
       (476...479),
       nil,
       nil,
       nil,
       nil,
       (498...501)
     ),
     DefNode(503...531)(
       (507...508),
       nil,
       ParametersNode(509...526)(
         [RequiredParameterNode(509...510)(:a)],
         [OptionalParameterNode(512...515)(
            :o,
            (512...513),
            (513...514),
            IntegerNode(514...515)()
          )],
         [RequiredParameterNode(521...522)(:p)],
         RestParameterNode(517...519)((517...518), (518...519)),
         [],
         nil,
         BlockParameterNode(524...526)((525...526), (524...525))
       ),
       nil,
       [:a, :o, :r, :p, :b],
       (503...506),
       nil,
       nil,
       nil,
       nil,
       (528...531)
     ),
     DefNode(533...557)(
       (537...538),
       nil,
       ParametersNode(539...552)(
         [RequiredParameterNode(539...540)(:a)],
         [OptionalParameterNode(542...545)(
            :o,
            (542...543),
            (543...544),
            IntegerNode(544...545)()
          )],
         [RequiredParameterNode(547...548)(:p)],
         nil,
         [],
         nil,
         BlockParameterNode(550...552)((551...552), (550...551))
       ),
       nil,
       [:a, :o, :p, :b],
       (533...536),
       nil,
       nil,
       nil,
       nil,
       (554...557)
     ),
     DefNode(559...575)(
       (563...564),
       nil,
       ParametersNode(565...569)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(565...569)((565...569), nil)],
         nil,
         nil
       ),
       nil,
       [:foo],
       (559...562),
       nil,
       nil,
       nil,
       nil,
       (572...575)
     ),
     DefNode(577...596)(
       (581...582),
       nil,
       ParametersNode(583...590)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(583...590)(
            (583...587),
            CallNode(588...590)(
              IntegerNode(589...590)(),
              nil,
              (588...589),
              nil,
              nil,
              nil,
              nil,
              0,
              "-@"
            )
          )],
         nil,
         nil
       ),
       nil,
       [:foo],
       (577...580),
       nil,
       nil,
       nil,
       nil,
       (593...596)
     ),
     DefNode(598...616)(
       (602...603),
       nil,
       ParametersNode(604...611)(
         [],
         [OptionalParameterNode(604...607)(
            :o,
            (604...605),
            (605...606),
            IntegerNode(606...607)()
          )],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(609...611)((610...611), (609...610))
       ),
       nil,
       [:o, :b],
       (598...601),
       nil,
       nil,
       nil,
       nil,
       (613...616)
     ),
     DefNode(618...640)(
       (622...623),
       nil,
       ParametersNode(624...635)(
         [],
         [OptionalParameterNode(624...627)(
            :o,
            (624...625),
            (625...626),
            IntegerNode(626...627)()
          )],
         [],
         RestParameterNode(629...631)((629...630), (630...631)),
         [],
         nil,
         BlockParameterNode(633...635)((634...635), (633...634))
       ),
       nil,
       [:o, :r, :b],
       (618...621),
       nil,
       nil,
       nil,
       nil,
       (637...640)
     ),
     DefNode(642...667)(
       (646...647),
       nil,
       ParametersNode(648...662)(
         [],
         [OptionalParameterNode(648...651)(
            :o,
            (648...649),
            (649...650),
            IntegerNode(650...651)()
          )],
         [RequiredParameterNode(657...658)(:p)],
         RestParameterNode(653...655)((653...654), (654...655)),
         [],
         nil,
         BlockParameterNode(660...662)((661...662), (660...661))
       ),
       nil,
       [:o, :r, :p, :b],
       (642...645),
       nil,
       nil,
       nil,
       nil,
       (664...667)
     ),
     DefNode(669...690)(
       (673...674),
       nil,
       ParametersNode(675...685)(
         [],
         [OptionalParameterNode(675...678)(
            :o,
            (675...676),
            (676...677),
            IntegerNode(677...678)()
          )],
         [RequiredParameterNode(680...681)(:p)],
         nil,
         [],
         nil,
         BlockParameterNode(683...685)((684...685), (683...684))
       ),
       nil,
       [:o, :p, :b],
       (669...672),
       nil,
       nil,
       nil,
       nil,
       (687...690)
     )]
  )
)
