if (type == exact) {
   setupRequired(obs_base        -j g2e26be213e+a5f6b44dd1)
   setupRequired(utils           -j g8956d74c4f+37c27a6131)
   setupRequired(sconsUtils      -j g9e4288ad24)
   setupRequired(sphinxutils     -j g52a5f7ac38+afb4790f61)
   setupRequired(daf_butler      -j g090993796f+1297815d50)
   setupRequired(sphgeom         -j gafb225b75d+afb4790f61)
   setupRequired(resources       -j gee23d30481+692b620dcb)
   setupRequired(pipe_base       -j gc132915c65+c50ff2f8a9)
   setupRequired(pex_config      -j ge80df9fc40+a17aa6e98b)
   setupOptional(daf_base        -j g8ea07a8fe4+14188bbe6c)
   setupRequired(cpputils        -j g87389fa792+2df283593c)
   setupRequired(base            -j g53246c7159+afb4790f61)
   setupRequired(pex_exceptions  -j g786e29fd12+c90741701a)
   setupRequired(astro_metadata_translator -j g4c3f3e5363+a17aa6e98b)
   setupRequired(afw             -j gf03f0b42f3+f620a9ee49)
   setupRequired(geom            -j g19811a7679+5152382e27)
   setupRequired(log             -j geaed405ab2+692b620dcb)
   setupRequired(astshim         -j gf5dcc679e7+dafe91c9d6)
   setupRequired(meas_algorithms -j g2b1a15d7c7+d976963298)
   setupRequired(meas_base       -j g51c93253c0+ca0bbf5ded)
   setupRequired(skymap          -j g6512b7a353+7813d3658b)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(shapelet        -j gc794cbe0cf+4df35349a5)
   setupRequired(meas_astrom     -j g91f025aaea+2390a8f09a)
   setupRequired(pipe_tasks      -j g665624e4fe+5b708eda68)
   setupRequired(coadd_utils     -j g89139ef638+4df35349a5)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+afb4790f61)
   setupRequired(images          -j g4fa7538b12+0b2a79d0b5)
   setupOptional(meas_extensions_piff -j g92c671f44c+2390a8f09a)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+b8f43f2e53)
   setupRequired(psfex           -j g7b9623be85+afb4790f61)
   setupOptional(cell_coadds     -j g1c12f59687+2390a8f09a)
   setupRequired(ip_diffim       -j g0770a6d79e+79658f63fa)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+323f3f778b)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+2390a8f09a)
   setupRequired(meas_deblender  -j g262e1987ae+5677a974ac)
   setupRequired(verify          -j g00d583acbd+b859fcb508)
   setupRequired(dax_apdb        -j gb4d6f811d8+d5815e8d55)
   setupRequired(felis           -j g0d0033e428+6d8a148cc1)
   setupRequired(sdm_schemas     -j gc3e38a4c5b+afb4790f61)
   setupRequired(verify_metrics  -j g8b480f84d9+afb4790f61)
   setupRequired(ip_isr          -j g24cdac46ce+2390a8f09a)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+5728f6c330)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+2390a8f09a)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+082fcae27a)
   setupRequired(meas_extensions_scarlet -j gb538e179e5+4fb7197fe5)
   setupRequired(scarlet_lite    -j gab7f39b7ca+afb4790f61)
   setupRequired(meas_modelfit   -j g9a9c865167+2390a8f09a)
   setupRequired(rubinoxide      -j g8d063e1f77+692b620dcb)
} else {
   setupRequired(obs_base g2e26be213e+a5f6b44dd1 [>= g2e26be213e+a5f6b44dd1])
   setupRequired(meas_algorithms g2b1a15d7c7+d976963298 [>= g2b1a15d7c7+d976963298])
   setupRequired(meas_astrom g91f025aaea+2390a8f09a [>= g91f025aaea+2390a8f09a])
   setupRequired(pipe_tasks g665624e4fe+5b708eda68 [>= g665624e4fe+5b708eda68])
   setupRequired(astro_metadata_translator g4c3f3e5363+a17aa6e98b [>= g4c3f3e5363+a17aa6e98b])
   setupRequired(geom g19811a7679+5152382e27 [>= g19811a7679+5152382e27])
   
   # Required by config/calibrate.py, for gen3 DRP pipeline.
   # These can be removed after DM-30891 is finished
   setupRequired(meas_extensions_photometryKron g64539dfbff+2390a8f09a [>= g64539dfbff+2390a8f09a])
   setupRequired(meas_extensions_shapeHSM gf8a46c3309+2390a8f09a [>= gf8a46c3309+2390a8f09a])
   
   setupOptional(testdata_cfht)
}
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
