# Python Middleware
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g36f3e0efcb+5988831943)
   setupRequired(sconsUtils -j gaaf73f26a1)
   setupRequired(sphinxutils -j gf19a2bea7c+af1bfebf34)
   setupRequired(daf_butler -j g53dc45a8e2+fb650ae051)
   setupRequired(sphgeom -j g482271f493+af1bfebf34)
   setupRequired(resources -j g60c6fdcdcd+0588e1668a)
   setupRequired(pipe_base -j g954f02917a+f97042adb6)
   setupRequired(pex_config -j ge1a9536552+5ba80f410d)
   setupOptional(daf_base -j g8ea07a8fe4+a44d14f55d)
   setupRequired(cpputils -j g87389fa792+a455f089f2)
   setupRequired(base -j g53246c7159+af1bfebf34)
   setupRequired(pex_exceptions -j g786e29fd12+b2440768fd)
   setupRequired(astro_metadata_translator -j gdbd3d7cefa+5ba80f410d)
   setupRequired(afw -j g41b6eb5643+3994a6b19a)
   setupRequired(geom -j g19811a7679+08ac1b7679)
   setupRequired(log -j geaed405ab2+0588e1668a)
   setupRequired(astshim -j gf5dcc679e7+38b54f1ccd)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g36f3e0efcb+5988831943)
      setupRequired(sconsUtils      -j gaaf73f26a1)
      setupRequired(sphinxutils     -j gf19a2bea7c+af1bfebf34)
      setupRequired(daf_butler      -j g53dc45a8e2+fb650ae051)
      setupRequired(sphgeom         -j g482271f493+af1bfebf34)
      setupRequired(resources       -j g60c6fdcdcd+0588e1668a)
      setupRequired(pipe_base       -j g954f02917a+f97042adb6)
      setupRequired(pex_config      -j ge1a9536552+5ba80f410d)
      setupOptional(daf_base        -j g8ea07a8fe4+a44d14f55d)
      setupRequired(cpputils        -j g87389fa792+a455f089f2)
      setupRequired(base            -j g53246c7159+af1bfebf34)
      setupRequired(pex_exceptions  -j g786e29fd12+b2440768fd)
      setupRequired(astro_metadata_translator -j gdbd3d7cefa+5ba80f410d)
      setupRequired(afw             -j g41b6eb5643+3994a6b19a)
      setupRequired(geom            -j g19811a7679+08ac1b7679)
      setupRequired(log             -j geaed405ab2+0588e1668a)
      setupRequired(astshim         -j gf5dcc679e7+38b54f1ccd)
   } else {
      setupRequired(utils g36f3e0efcb+5988831943 [>= g36f3e0efcb+5988831943])
      setupRequired(daf_butler g53dc45a8e2+fb650ae051 [>= g53dc45a8e2+fb650ae051])
      setupRequired(pipe_base g954f02917a+f97042adb6 [>= g954f02917a+f97042adb6])
      setupRequired(resources g60c6fdcdcd+0588e1668a [>= g60c6fdcdcd+0588e1668a])
      setupRequired(astro_metadata_translator gdbd3d7cefa+5ba80f410d [>= gdbd3d7cefa+5ba80f410d])
      setupRequired(pex_config ge1a9536552+5ba80f410d [>= ge1a9536552+5ba80f410d])
      
      # LSST C++.
      setupRequired(daf_base g8ea07a8fe4+a44d14f55d [>= g8ea07a8fe4+a44d14f55d])
      setupRequired(afw g41b6eb5643+3994a6b19a [>= g41b6eb5643+3994a6b19a])
      setupRequired(geom g19811a7679+08ac1b7679 [>= g19811a7679+08ac1b7679])
      setupRequired(pex_exceptions g786e29fd12+b2440768fd [>= g786e29fd12+b2440768fd])
      setupOptional(log geaed405ab2+0588e1668a [>= geaed405ab2+0588e1668a])
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
