if (type == exact) {
   setupRequired(obs_base        -j g370ad9d809+ed1c9eb3d4)
   setupRequired(utils           -j g36f3e0efcb+4507af2415)
   setupRequired(sconsUtils      -j gc8c338059c)
   setupRequired(sphinxutils     -j g44fe3e915d+d801c9999e)
   setupRequired(daf_butler      -j g275098e6aa+6432f508ed)
   setupRequired(sphgeom         -j gdcc65144bf+d801c9999e)
   setupRequired(resources       -j g60c6fdcdcd+10496c9515)
   setupRequired(pipe_base       -j g954f02917a+881233c0c0)
   setupRequired(pex_config      -j ge80df9fc40+31cd7ad5c8)
   setupOptional(daf_base        -j g8ea07a8fe4+bf25b92ca5)
   setupRequired(cpputils        -j g87389fa792+0bb42a27e1)
   setupRequired(base            -j g53246c7159+d801c9999e)
   setupRequired(pex_exceptions  -j g786e29fd12+76ce5f0d11)
   setupRequired(astro_metadata_translator -j g7e77d5aedb+31cd7ad5c8)
   setupRequired(afw             -j g3a5ebb7d8a+5bad596a60)
   setupRequired(geom            -j g19811a7679+e39e0c0036)
   setupRequired(log             -j geaed405ab2+10496c9515)
   setupRequired(astshim         -j gf5dcc679e7+7aca86229d)
   setupRequired(meas_algorithms -j gab846f1091+9d6705d6e3)
   setupRequired(meas_base       -j g76965917b2+1174a876ca)
   setupRequired(skymap          -j g29c66ce358+088e76b0f7)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(meas_astrom     -j g0e76e35be5+0747d9bfab)
   setupRequired(pipe_tasks      -j gd2ab99b837+f8a6051c40)
   setupRequired(coadd_utils     -j g89139ef638+d5cfbe74af)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+d801c9999e)
   setupRequired(images          -j gd6aca8a0d8+c1f8b5e80c)
   setupOptional(meas_extensions_piff -j g92c671f44c+0747d9bfab)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+773a2e8eb9)
   setupRequired(psfex           -j g7b9623be85+d801c9999e)
   setupOptional(cell_coadds     -j g5378c884e9+0747d9bfab)
   setupRequired(ip_diffim       -j g40c9b15c53+7cbad0ced5)
   setupRequired(meas_extensions_trailedSources -j g74acd417e5+7fad5873d9)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+0747d9bfab)
   setupRequired(meas_deblender  -j g262e1987ae+8bfdfc8822)
   setupRequired(verify          -j g00d583acbd+46d4dbec33)
   setupRequired(dax_apdb        -j g9290983e33+09578a73d8)
   setupRequired(felis           -j gbf6f85f291+cb00834e4f)
   setupRequired(sdm_schemas     -j g662f8b0d26+d801c9999e)
   setupRequired(verify_metrics  -j g8b480f84d9+d801c9999e)
   setupRequired(ip_isr          -j gf5f1c85443+0747d9bfab)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+3fb6695b60)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+0747d9bfab)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+facd449818)
   setupRequired(meas_extensions_scarlet -j gb538e179e5+1cb720b305)
   setupRequired(scarlet_lite    -j ge1c02a5578+d801c9999e)
   setupRequired(meas_modelfit   -j g7aefaa3e3d+0d6dc801c2)
   setupRequired(shapelet        -j g47891489e3+d5cfbe74af)
   setupRequired(rubinoxide      -j g8d063e1f77+10496c9515)
} else {
   setupRequired(obs_base g370ad9d809+ed1c9eb3d4 [>= g370ad9d809+ed1c9eb3d4])
   setupRequired(meas_algorithms gab846f1091+9d6705d6e3 [>= gab846f1091+9d6705d6e3])
   setupRequired(meas_astrom g0e76e35be5+0747d9bfab [>= g0e76e35be5+0747d9bfab])
   setupRequired(pipe_tasks gd2ab99b837+f8a6051c40 [>= gd2ab99b837+f8a6051c40])
   setupRequired(astro_metadata_translator g7e77d5aedb+31cd7ad5c8 [>= g7e77d5aedb+31cd7ad5c8])
   setupRequired(geom g19811a7679+e39e0c0036 [>= g19811a7679+e39e0c0036])
   
   # Required by config/calibrate.py, for gen3 DRP pipeline.
   # These can be removed after DM-30891 is finished
   setupRequired(meas_extensions_photometryKron g64539dfbff+0747d9bfab [>= g64539dfbff+0747d9bfab])
   setupRequired(meas_extensions_shapeHSM gf8a46c3309+0747d9bfab [>= gf8a46c3309+0747d9bfab])
   
   setupOptional(testdata_cfht)
}
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
