static cchar *findAcceptableVersion(cchar *name, cchar *originalCriteria)
{
    MprDirEntry     *dp;
    MprList         *files;
    cchar           *criteria;
    int             next;

    criteria = originalCriteria;
    if (!criteria || smatch(criteria, "*")) {
        criteria = "x";
    }
    if (schr(name, '#')) {
        name = stok(sclone(name), "#", (char**) &criteria);
    }
    files = mprGetPathFiles(mprJoinPath(app->paksCacheDir, name), MPR_PATH_RELATIVE);
    mprSortList(files, (MprSortProc) reverseSortFiles, 0);
    for (ITERATE_ITEMS(files, dp, next)) {
        if (acceptableVersion(criteria, dp->name)) {
            return dp->name;
        }
    }
    if (originalCriteria) {
        fail("Cannot find acceptable version for: \"%s\" with version criteria \"%s\" in %s", 
            name, originalCriteria, app->paksCacheDir);
    } else {
        fail("Cannot find pak: \"%s\" in %s", name, app->paksCacheDir);
    }
    mprLog("", 0, "Use \"pak install %s\" to install", name);
    return 0;
}
NVD is only using a subset of CWE for mapping instead of the entire CWE, and the weakness type is not covered by that subset.