-- Do not edit.  This file is generated by "util/makeVarSet.hs".
{-# OPTIONS_GHC -W -Wall #-}
module Data.Generics.TH.VarSet (varSet) where
import Language.Haskell.TH.Syntax
import GHC.Base
import qualified Data.Set as Set
import qualified Data.Maybe
accVarRef :: Exp -> Set.Set Name -> Set.Set Name
accVarRef (VarE n) set = Set.insert n set
accVarRef _        set = set
varSet :: Exp -> Set.Set Name
varSet e_0 = (let memoized_1 = \x_2 acc_3 -> accVarRef x_2 ((\_x_4 -> case _x_4 of
                                                                               Language.Haskell.TH.Syntax.VarE arg_5 -> memoized_6 arg_5 acc_3
                                                                               Language.Haskell.TH.Syntax.ConE arg_7 -> memoized_6 arg_7 acc_3
                                                                               Language.Haskell.TH.Syntax.LitE arg_8 -> memoized_9 arg_8 acc_3
                                                                               Language.Haskell.TH.Syntax.AppE arg_10
                                                                                                               arg_11 -> memoized_1 arg_10 (memoized_1 arg_11 acc_3)
                                                                               Language.Haskell.TH.Syntax.InfixE arg_12
                                                                                                                 arg_13
                                                                                                                 arg_14 -> memoized_15 arg_12 (memoized_1 arg_13 (memoized_15 arg_14 acc_3))
                                                                               Language.Haskell.TH.Syntax.LamE arg_16
                                                                                                               arg_17 -> memoized_18 arg_16 (memoized_1 arg_17 acc_3)
                                                                               Language.Haskell.TH.Syntax.TupE arg_19 -> memoized_20 arg_19 acc_3
                                                                               Language.Haskell.TH.Syntax.CondE arg_21
                                                                                                                arg_22
                                                                                                                arg_23 -> memoized_1 arg_21 (memoized_1 arg_22 (memoized_1 arg_23 acc_3))
                                                                               Language.Haskell.TH.Syntax.LetE arg_24
                                                                                                               arg_25 -> memoized_26 arg_24 (memoized_1 arg_25 acc_3)
                                                                               Language.Haskell.TH.Syntax.CaseE arg_27
                                                                                                                arg_28 -> memoized_1 arg_27 (memoized_29 arg_28 acc_3)
                                                                               Language.Haskell.TH.Syntax.DoE arg_30 -> memoized_31 arg_30 acc_3
                                                                               Language.Haskell.TH.Syntax.CompE arg_32 -> memoized_31 arg_32 acc_3
                                                                               Language.Haskell.TH.Syntax.ArithSeqE arg_33 -> memoized_34 arg_33 acc_3
                                                                               Language.Haskell.TH.Syntax.ListE arg_35 -> memoized_20 arg_35 acc_3
                                                                               Language.Haskell.TH.Syntax.SigE arg_36
                                                                                                               arg_37 -> memoized_1 arg_36 (memoized_38 arg_37 acc_3)
                                                                               Language.Haskell.TH.Syntax.RecConE arg_39
                                                                                                                  arg_40 -> memoized_6 arg_39 (memoized_41 arg_40 acc_3)
                                                                               Language.Haskell.TH.Syntax.RecUpdE arg_42
                                                                                                                  arg_43 -> memoized_1 arg_42 (memoized_41 arg_43 acc_3)) x_2)
                  memoized_41 = \x_44 acc_45 -> GHC.Base.const GHC.Base.id x_44 ((\_x_46 -> case _x_46 of
                                                                                                [] -> acc_45
                                                                                                (:) arg_47
                                                                                                              arg_48 -> memoized_49 arg_47 (memoized_41 arg_48 acc_45)) x_44)
                  memoized_49 = \x_50 acc_51 -> GHC.Base.const GHC.Base.id x_50 ((\_x_52 -> case _x_52 of
                                                                                                (,) arg_53
                                                                                                              arg_54 -> memoized_6 arg_53 (memoized_1 arg_54 acc_51)) x_50)
                  memoized_34 = \x_55 acc_56 -> GHC.Base.const GHC.Base.id x_55 ((\_x_57 -> case _x_57 of
                                                                                                Language.Haskell.TH.Syntax.FromR arg_58 -> memoized_1 arg_58 acc_56
                                                                                                Language.Haskell.TH.Syntax.FromThenR arg_59
                                                                                                                                     arg_60 -> memoized_1 arg_59 (memoized_1 arg_60 acc_56)
                                                                                                Language.Haskell.TH.Syntax.FromToR arg_61
                                                                                                                                   arg_62 -> memoized_1 arg_61 (memoized_1 arg_62 acc_56)
                                                                                                Language.Haskell.TH.Syntax.FromThenToR arg_63
                                                                                                                                       arg_64
                                                                                                                                       arg_65 -> memoized_1 arg_63 (memoized_1 arg_64 (memoized_1 arg_65 acc_56))) x_55)
                  memoized_29 = \x_66 acc_67 -> GHC.Base.const GHC.Base.id x_66 ((\_x_68 -> case _x_68 of
                                                                                                [] -> acc_67
                                                                                                (:) arg_69
                                                                                                              arg_70 -> memoized_71 arg_69 (memoized_29 arg_70 acc_67)) x_66)
                  memoized_71 = \x_72 acc_73 -> GHC.Base.const GHC.Base.id x_72 ((\_x_74 -> case _x_74 of
                                                                                                Language.Haskell.TH.Syntax.Match arg_75
                                                                                                                                 arg_76
                                                                                                                                 arg_77 -> memoized_78 arg_75 (memoized_79 arg_76 (memoized_26 arg_77 acc_73))) x_72)
                  memoized_26 = \x_80 acc_81 -> GHC.Base.const GHC.Base.id x_80 ((\_x_82 -> case _x_82 of
                                                                                                [] -> acc_81
                                                                                                (:) arg_83
                                                                                                              arg_84 -> memoized_85 arg_83 (memoized_26 arg_84 acc_81)) x_80)
                  memoized_85 = \x_86 acc_87 -> GHC.Base.const GHC.Base.id x_86 ((\_x_88 -> case _x_88 of
                                                                                                Language.Haskell.TH.Syntax.FunD arg_89
                                                                                                                                arg_90 -> memoized_6 arg_89 (memoized_91 arg_90 acc_87)
                                                                                                Language.Haskell.TH.Syntax.ValD arg_92
                                                                                                                                arg_93
                                                                                                                                arg_94 -> memoized_78 arg_92 (memoized_79 arg_93 (memoized_26 arg_94 acc_87))
                                                                                                Language.Haskell.TH.Syntax.DataD arg_95
                                                                                                                                 arg_96
                                                                                                                                 arg_97
                                                                                                                                 arg_98
                                                                                                                                 arg_99 -> memoized_100 arg_95 (memoized_6 arg_96 (memoized_101 arg_97 (memoized_102 arg_98 (memoized_103 arg_99 acc_87))))
                                                                                                Language.Haskell.TH.Syntax.NewtypeD arg_104
                                                                                                                                    arg_105
                                                                                                                                    arg_106
                                                                                                                                    arg_107
                                                                                                                                    arg_108 -> memoized_100 arg_104 (memoized_6 arg_105 (memoized_101 arg_106 (memoized_109 arg_107 (memoized_103 arg_108 acc_87))))
                                                                                                Language.Haskell.TH.Syntax.TySynD arg_110
                                                                                                                                  arg_111
                                                                                                                                  arg_112 -> memoized_6 arg_110 (memoized_101 arg_111 (memoized_38 arg_112 acc_87))
                                                                                                Language.Haskell.TH.Syntax.ClassD arg_113
                                                                                                                                  arg_114
                                                                                                                                  arg_115
                                                                                                                                  arg_116
                                                                                                                                  arg_117 -> memoized_100 arg_113 (memoized_6 arg_114 (memoized_101 arg_115 (memoized_118 arg_116 (memoized_26 arg_117 acc_87))))
                                                                                                Language.Haskell.TH.Syntax.InstanceD arg_119
                                                                                                                                     arg_120
                                                                                                                                     arg_121 -> memoized_100 arg_119 (memoized_38 arg_120 (memoized_26 arg_121 acc_87))
                                                                                                Language.Haskell.TH.Syntax.SigD arg_122
                                                                                                                                arg_123 -> memoized_6 arg_122 (memoized_38 arg_123 acc_87)
                                                                                                Language.Haskell.TH.Syntax.ForeignD arg_124 -> memoized_125 arg_124 acc_87
                                                                                                Language.Haskell.TH.Syntax.PragmaD arg_126 -> memoized_127 arg_126 acc_87
                                                                                                Language.Haskell.TH.Syntax.FamilyD arg_128
                                                                                                                                   arg_129
                                                                                                                                   arg_130
                                                                                                                                   arg_131 -> memoized_132 arg_128 (memoized_6 arg_129 (memoized_101 arg_130 (memoized_133 arg_131 acc_87)))
                                                                                                Language.Haskell.TH.Syntax.DataInstD arg_134
                                                                                                                                     arg_135
                                                                                                                                     arg_136
                                                                                                                                     arg_137
                                                                                                                                     arg_138 -> memoized_100 arg_134 (memoized_6 arg_135 (memoized_139 arg_136 (memoized_102 arg_137 (memoized_103 arg_138 acc_87))))
                                                                                                Language.Haskell.TH.Syntax.NewtypeInstD arg_140
                                                                                                                                        arg_141
                                                                                                                                        arg_142
                                                                                                                                        arg_143
                                                                                                                                        arg_144 -> memoized_100 arg_140 (memoized_6 arg_141 (memoized_139 arg_142 (memoized_109 arg_143 (memoized_103 arg_144 acc_87))))
                                                                                                Language.Haskell.TH.Syntax.TySynInstD arg_145
                                                                                                                                      arg_146
                                                                                                                                      arg_147 -> memoized_6 arg_145 (memoized_139 arg_146 (memoized_38 arg_147 acc_87))) x_86)
                  memoized_139 = GHC.Base.const GHC.Base.id
                  memoized_133 = GHC.Base.const GHC.Base.id
                  memoized_132 = GHC.Base.const GHC.Base.id
                  memoized_127 = GHC.Base.const GHC.Base.id
                  memoized_125 = GHC.Base.const GHC.Base.id
                  memoized_118 = GHC.Base.const GHC.Base.id
                  memoized_109 = GHC.Base.const GHC.Base.id
                  memoized_103 = GHC.Base.const GHC.Base.id
                  memoized_102 = GHC.Base.const GHC.Base.id
                  memoized_101 = GHC.Base.const GHC.Base.id
                  memoized_100 = GHC.Base.const GHC.Base.id
                  memoized_91 = \x_148 acc_149 -> GHC.Base.const GHC.Base.id x_148 ((\_x_150 -> case _x_150 of
                                                                                                    [] -> acc_149
                                                                                                    (:) arg_151
                                                                                                                  arg_152 -> memoized_153 arg_151 (memoized_91 arg_152 acc_149)) x_148)
                  memoized_153 = \x_154 acc_155 -> GHC.Base.const GHC.Base.id x_154 ((\_x_156 -> case _x_156 of
                                                                                                     Language.Haskell.TH.Syntax.Clause arg_157
                                                                                                                                       arg_158
                                                                                                                                       arg_159 -> memoized_18 arg_157 (memoized_79 arg_158 (memoized_26 arg_159 acc_155))) x_154)
                  memoized_79 = \x_160 acc_161 -> GHC.Base.const GHC.Base.id x_160 ((\_x_162 -> case _x_162 of
                                                                                                    Language.Haskell.TH.Syntax.GuardedB arg_163 -> memoized_164 arg_163 acc_161
                                                                                                    Language.Haskell.TH.Syntax.NormalB arg_165 -> memoized_1 arg_165 acc_161) x_160)
                  memoized_164 = \x_166 acc_167 -> GHC.Base.const GHC.Base.id x_166 ((\_x_168 -> case _x_168 of
                                                                                                     [] -> acc_167
                                                                                                     (:) arg_169
                                                                                                                   arg_170 -> memoized_171 arg_169 (memoized_164 arg_170 acc_167)) x_166)
                  memoized_171 = \x_172 acc_173 -> GHC.Base.const GHC.Base.id x_172 ((\_x_174 -> case _x_174 of
                                                                                                     (,) arg_175
                                                                                                                   arg_176 -> memoized_177 arg_175 (memoized_1 arg_176 acc_173)) x_172)
                  memoized_177 = \x_178 acc_179 -> GHC.Base.const GHC.Base.id x_178 ((\_x_180 -> case _x_180 of
                                                                                                     Language.Haskell.TH.Syntax.NormalG arg_181 -> memoized_1 arg_181 acc_179
                                                                                                     Language.Haskell.TH.Syntax.PatG arg_182 -> memoized_31 arg_182 acc_179) x_178)
                  memoized_31 = \x_183 acc_184 -> GHC.Base.const GHC.Base.id x_183 ((\_x_185 -> case _x_185 of
                                                                                                    [] -> acc_184
                                                                                                    (:) arg_186
                                                                                                                  arg_187 -> memoized_188 arg_186 (memoized_31 arg_187 acc_184)) x_183)
                  memoized_188 = \x_189 acc_190 -> GHC.Base.const GHC.Base.id x_189 ((\_x_191 -> case _x_191 of
                                                                                                     Language.Haskell.TH.Syntax.BindS arg_192
                                                                                                                                      arg_193 -> memoized_78 arg_192 (memoized_1 arg_193 acc_190)
                                                                                                     Language.Haskell.TH.Syntax.LetS arg_194 -> memoized_26 arg_194 acc_190
                                                                                                     Language.Haskell.TH.Syntax.NoBindS arg_195 -> memoized_1 arg_195 acc_190
                                                                                                     Language.Haskell.TH.Syntax.ParS arg_196 -> memoized_197 arg_196 acc_190) x_189)
                  memoized_197 = \x_198 acc_199 -> GHC.Base.const GHC.Base.id x_198 ((\_x_200 -> case _x_200 of
                                                                                                     [] -> acc_199
                                                                                                     (:) arg_201
                                                                                                                   arg_202 -> memoized_31 arg_201 (memoized_197 arg_202 acc_199)) x_198)
                  memoized_20 = \x_203 acc_204 -> GHC.Base.const GHC.Base.id x_203 ((\_x_205 -> case _x_205 of
                                                                                                    [] -> acc_204
                                                                                                    (:) arg_206
                                                                                                                  arg_207 -> memoized_1 arg_206 (memoized_20 arg_207 acc_204)) x_203)
                  memoized_18 = \x_208 acc_209 -> GHC.Base.const GHC.Base.id x_208 ((\_x_210 -> case _x_210 of
                                                                                                    [] -> acc_209
                                                                                                    (:) arg_211
                                                                                                                  arg_212 -> memoized_78 arg_211 (memoized_18 arg_212 acc_209)) x_208)
                  memoized_78 = \x_213 acc_214 -> GHC.Base.const GHC.Base.id x_213 ((\_x_215 -> case _x_215 of
                                                                                                    Language.Haskell.TH.Syntax.LitP arg_216 -> memoized_9 arg_216 acc_214
                                                                                                    Language.Haskell.TH.Syntax.VarP arg_217 -> memoized_6 arg_217 acc_214
                                                                                                    Language.Haskell.TH.Syntax.TupP arg_218 -> memoized_18 arg_218 acc_214
                                                                                                    Language.Haskell.TH.Syntax.ConP arg_219
                                                                                                                                    arg_220 -> memoized_6 arg_219 (memoized_18 arg_220 acc_214)
                                                                                                    Language.Haskell.TH.Syntax.InfixP arg_221
                                                                                                                                      arg_222
                                                                                                                                      arg_223 -> memoized_78 arg_221 (memoized_6 arg_222 (memoized_78 arg_223 acc_214))
                                                                                                    Language.Haskell.TH.Syntax.TildeP arg_224 -> memoized_78 arg_224 acc_214
                                                                                                    Language.Haskell.TH.Syntax.BangP arg_225 -> memoized_78 arg_225 acc_214
                                                                                                    Language.Haskell.TH.Syntax.AsP arg_226
                                                                                                                                   arg_227 -> memoized_6 arg_226 (memoized_78 arg_227 acc_214)
                                                                                                    Language.Haskell.TH.Syntax.WildP -> acc_214
                                                                                                    Language.Haskell.TH.Syntax.RecP arg_228
                                                                                                                                    arg_229 -> memoized_6 arg_228 (memoized_230 arg_229 acc_214)
                                                                                                    Language.Haskell.TH.Syntax.ListP arg_231 -> memoized_18 arg_231 acc_214
                                                                                                    Language.Haskell.TH.Syntax.SigP arg_232
                                                                                                                                    arg_233 -> memoized_78 arg_232 (memoized_38 arg_233 acc_214)
                                                                                                    Language.Haskell.TH.Syntax.ViewP arg_234
                                                                                                                                     arg_235 -> memoized_1 arg_234 (memoized_78 arg_235 acc_214)) x_213)
                  memoized_38 = GHC.Base.const GHC.Base.id
                  memoized_230 = \x_236 acc_237 -> GHC.Base.const GHC.Base.id x_236 ((\_x_238 -> case _x_238 of
                                                                                                     [] -> acc_237
                                                                                                     (:) arg_239
                                                                                                                   arg_240 -> memoized_241 arg_239 (memoized_230 arg_240 acc_237)) x_236)
                  memoized_241 = \x_242 acc_243 -> GHC.Base.const GHC.Base.id x_242 ((\_x_244 -> case _x_244 of
                                                                                                     (,) arg_245
                                                                                                                   arg_246 -> memoized_6 arg_245 (memoized_78 arg_246 acc_243)) x_242)
                  memoized_15 = \x_247 acc_248 -> GHC.Base.const GHC.Base.id x_247 ((\_x_249 -> case _x_249 of
                                                                                                    Data.Maybe.Nothing -> acc_248
                                                                                                    Data.Maybe.Just arg_250 -> memoized_1 arg_250 acc_248) x_247)
                  memoized_9 = GHC.Base.const GHC.Base.id
                  memoized_6 = GHC.Base.const GHC.Base.id
               in memoized_1) e_0 Set.empty