
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g36f3e0efcb+bd86319c29)
   setupRequired(sconsUtils -j g5d571352bb)
   setupRequired(sphinxutils -j gf19a2bea7c+663e2227e0)
   setupRequired(verify -j g00d583acbd+e92e824edb)
   setupRequired(pex_config -j ge1a9536552+f287238c16)
   setupOptional(daf_base -j g8ea07a8fe4+7e5da5f27f)
   setupRequired(cpputils -j g87389fa792+b319181507)
   setupRequired(base -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions -j g786e29fd12+53fe651d7c)
   setupRequired(resources -j g71aa5f6e25+25b77a14f3)
   setupRequired(daf_butler -j g7fbef34ac2+7fa268d037)
   setupRequired(sphgeom -j g54743f0fb1+663e2227e0)
   setupRequired(pipe_base -j ga2bb807a2f+d695e1c3a9)
   setupRequired(dax_apdb -j gd08ec2e069+c81e6e9c81)
   setupRequired(felis -j g89a850006e+6f3a31b414)
   setupRequired(sdm_schemas -j gbbb8cfdddc+663e2227e0)
   setupRequired(afw -j g41b6eb5643+3dc681ff4c)
   setupRequired(geom -j g19811a7679+a3c73780ed)
   setupRequired(log -j geaed405ab2+25b77a14f3)
   setupRequired(astshim -j gf5dcc679e7+3aebfb091a)
   setupOptional(afwdata -j gda6a35342c)
   setupRequired(verify_metrics -j g8b480f84d9+663e2227e0)
   setupRequired(ap_pipe -j g99d3e6f035+470ecc3a65)
   setupRequired(pipe_tasks -j g11fb74eaa6+102b820f37)
   setupRequired(coadd_utils -j g89139ef638+4c087ed186)
   setupRequired(dustmaps_cachedata -j g959249cb5e)
   setupRequired(images -j g464a06bcc6+749f37da08)
   setupRequired(astro_metadata_translator -j gdbd3d7cefa+f287238c16)
   setupOptional(testdata_images -j gf88ad1d1be)
   setupOptional(obs_base -j g00893bd134+85d2220d40)
   setupOptional(meas_algorithms -j g4a7591d645+f2520d6cb7)
   setupRequired(meas_base -j ga44f29b7aa+df8cc72529)
   setupRequired(skymap -j gc1afcb06db+60247b4efe)
   setupRequired(kht -j gaf53c9a034)
   setupRequired(shapelet -j gc794cbe0cf+4c087ed186)
   setupOptional(meas_extensions_piff -j g92c671f44c+08bea2693a)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+d82690577f)
   setupRequired(psfex -j g7b9623be85+663e2227e0)
   setupOptional(cell_coadds -j g0d63591232+08bea2693a)
   setupRequired(ip_diffim -j g2ffbd6d6e5+dc2b9bab5a)
   setupRequired(meas_astrom -j gfced8664c3+08bea2693a)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+febeab02ce)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+08bea2693a)
   setupRequired(meas_deblender -j g262e1987ae+c4f120752c)
   setupOptional(testdata_deblender -j g8a244b6544)
   setupRequired(ip_isr -j g77367d4607+08bea2693a)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+b16c19ad1a)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+08bea2693a)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+917f7180c8)
   setupRequired(meas_extensions_scarlet -j gc24df81fc4+c290067496)
   setupRequired(scarlet_lite -j gccef28ce7f+663e2227e0)
   setupRequired(meas_modelfit -j g9a9c865167+08bea2693a)
   setupRequired(rubinoxide -j g8d063e1f77+25b77a14f3)
   setupRequired(ap_association -j g9cbf784685+011709ff2d)
   setupRequired(alert_packet -j g1362a8d7f1+061c190810)
   setupRequired(analysis_tools -j gc8eb80729d+23b38e780b)
   setupRequired(cp_pipe -j gc4087e175f+022f78e081)
   setupOptional(obs_subaru -j g4db92921ce+6dbb416308)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(testdata_subaru -j g03c3ee655a)
   setupOptional(obs_decam -j g1e865b1332+8b99e40ca6)
   setupRequired(obs_decam_data -j gf7d3127cd7)
   setupOptional(testdata_decam -j gfde10c3a1c)
   setupOptional(obs_lsst -j g8bbe00fe9a+680b9ec793)
   setupRequired(obs_lsst_data -j ge015015f0c+663e2227e0)
   setupOptional(fgcmcal -j gf2aa623d12+ab9f0dda36)
   setupRequired(fgcm -j g17573debd1)
   setupOptional(testdata_jointcal -j gb6f1a889d2)
   setupRequired(drp_tasks -j g8d3577d3a0+33733096d5)
   setupRequired(gbdes -j g0019e3c466+5087a4f8ce)
   setupRequired(metadetect -j g9af0c82d8a+34cc022079)
   setupOptional(descwl_shear_sims -j gb1c43e6ccb+9c5615f58a)
   setupOptional(descwl -j g811db82e6e+53fe651d7c)
   setupOptional(descwl_coadd -j gb717290d67+08bea2693a)
   setupRequired(source_injection -j g8da87785fe+f0f1336c31)
   setupRequired(meas_transiNet -j g8881678feb+febeab02ce)
   setupRequired(ctrl_mpexec -j gf1d1a96403+6a8501439c)
   setupOptional(ap_verify_testdata -j g5dbd2c695e)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g36f3e0efcb+bd86319c29)
      setupRequired(sconsUtils      -j g5d571352bb)
      setupRequired(sphinxutils     -j gf19a2bea7c+663e2227e0)
      setupRequired(verify          -j g00d583acbd+e92e824edb)
      setupRequired(pex_config      -j ge1a9536552+f287238c16)
      setupOptional(daf_base        -j g8ea07a8fe4+7e5da5f27f)
      setupRequired(cpputils        -j g87389fa792+b319181507)
      setupRequired(base            -j g53246c7159+663e2227e0)
      setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
      setupRequired(resources       -j g71aa5f6e25+25b77a14f3)
      setupRequired(daf_butler      -j g7fbef34ac2+7fa268d037)
      setupRequired(sphgeom         -j g54743f0fb1+663e2227e0)
      setupRequired(pipe_base       -j ga2bb807a2f+d695e1c3a9)
      setupRequired(dax_apdb        -j gd08ec2e069+c81e6e9c81)
      setupRequired(felis           -j g89a850006e+6f3a31b414)
      setupRequired(sdm_schemas     -j gbbb8cfdddc+663e2227e0)
      setupRequired(afw             -j g41b6eb5643+3dc681ff4c)
      setupRequired(geom            -j g19811a7679+a3c73780ed)
      setupRequired(log             -j geaed405ab2+25b77a14f3)
      setupRequired(astshim         -j gf5dcc679e7+3aebfb091a)
      setupRequired(verify_metrics  -j g8b480f84d9+663e2227e0)
      setupRequired(ap_pipe         -j g99d3e6f035+470ecc3a65)
      setupRequired(pipe_tasks      -j g11fb74eaa6+102b820f37)
      setupRequired(coadd_utils     -j g89139ef638+4c087ed186)
      setupRequired(dustmaps_cachedata -j g959249cb5e)
      setupRequired(images          -j g464a06bcc6+749f37da08)
      setupRequired(astro_metadata_translator -j gdbd3d7cefa+f287238c16)
      setupOptional(obs_base        -j g00893bd134+85d2220d40)
      setupOptional(meas_algorithms -j g4a7591d645+f2520d6cb7)
      setupRequired(meas_base       -j ga44f29b7aa+df8cc72529)
      setupRequired(skymap          -j gc1afcb06db+60247b4efe)
      setupRequired(kht             -j gaf53c9a034)
      setupRequired(shapelet        -j gc794cbe0cf+4c087ed186)
      setupOptional(meas_extensions_piff -j g92c671f44c+08bea2693a)
      setupOptional(meas_extensions_psfex -j g33ac35c1f1+d82690577f)
      setupRequired(psfex           -j g7b9623be85+663e2227e0)
      setupOptional(cell_coadds     -j g0d63591232+08bea2693a)
      setupRequired(ip_diffim       -j g2ffbd6d6e5+dc2b9bab5a)
      setupRequired(meas_astrom     -j gfced8664c3+08bea2693a)
      setupRequired(meas_extensions_trailedSources -j g1147af6e9c+febeab02ce)
      setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+08bea2693a)
      setupRequired(meas_deblender  -j g262e1987ae+c4f120752c)
      setupRequired(ip_isr          -j g77367d4607+08bea2693a)
      setupRequired(meas_extensions_convolved -j g7da95dfc27+b16c19ad1a)
      setupRequired(meas_extensions_photometryKron -j g64539dfbff+08bea2693a)
      setupRequired(meas_extensions_gaap -j g5c7ea12361+917f7180c8)
      setupRequired(meas_extensions_scarlet -j gc24df81fc4+c290067496)
      setupRequired(scarlet_lite    -j gccef28ce7f+663e2227e0)
      setupRequired(meas_modelfit   -j g9a9c865167+08bea2693a)
      setupRequired(rubinoxide      -j g8d063e1f77+25b77a14f3)
      setupRequired(ap_association  -j g9cbf784685+011709ff2d)
      setupRequired(alert_packet    -j g1362a8d7f1+061c190810)
      setupRequired(analysis_tools  -j gc8eb80729d+23b38e780b)
      setupRequired(cp_pipe         -j gc4087e175f+022f78e081)
      setupOptional(obs_subaru      -j g4db92921ce+6dbb416308)
      setupRequired(obs_subaru_data -j g7ff78db354)
      setupOptional(obs_decam       -j g1e865b1332+8b99e40ca6)
      setupRequired(obs_decam_data  -j gf7d3127cd7)
      setupOptional(obs_lsst        -j g8bbe00fe9a+680b9ec793)
      setupRequired(obs_lsst_data   -j ge015015f0c+663e2227e0)
      setupOptional(fgcmcal         -j gf2aa623d12+ab9f0dda36)
      setupRequired(fgcm            -j g17573debd1)
      setupRequired(drp_tasks       -j g8d3577d3a0+33733096d5)
      setupRequired(gbdes           -j g0019e3c466+5087a4f8ce)
      setupRequired(metadetect      -j g9af0c82d8a+34cc022079)
      setupRequired(source_injection -j g8da87785fe+f0f1336c31)
      setupRequired(meas_transiNet  -j g8881678feb+febeab02ce)
      setupRequired(ctrl_mpexec     -j gf1d1a96403+6a8501439c)
   } else {
      setupRequired(utils g36f3e0efcb+bd86319c29 [>= g36f3e0efcb+bd86319c29])
      setupRequired(verify g00d583acbd+e92e824edb [>= g00d583acbd+e92e824edb])
      setupRequired(ap_pipe g99d3e6f035+470ecc3a65 [>= g99d3e6f035+470ecc3a65])
      setupRequired(ctrl_mpexec gf1d1a96403+6a8501439c [>= gf1d1a96403+6a8501439c])
      
      # For testing
      setupOptional(ap_verify_testdata g5dbd2c695e [>= g5dbd2c695e])
      setupOptional(obs_lsst g8bbe00fe9a+680b9ec793 [>= g8bbe00fe9a+680b9ec793])
      
      # For default metric configs
      setupRequired(ip_diffim g2ffbd6d6e5+dc2b9bab5a [>= g2ffbd6d6e5+dc2b9bab5a])
      setupRequired(ap_association g9cbf784685+011709ff2d [>= g9cbf784685+011709ff2d])
      
      # Datasets other than ap_verify_testdata must be set up manually
      #     to avoid being inadvertently downloaded by lsstsw
      # See the Sphinx docs for known datasets
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
