{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "label": "_builtin.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L1"}, {"id": "builtin_scryptengine", "label": "ScryptEngine", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L20"}, {"id": "object", "label": "object", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "builtin_execute", "label": "execute()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L51"}, {"id": "builtin_scryptengine_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L58"}, {"id": "builtin_scryptengine_run", "label": ".run()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L92"}, {"id": "builtin_scryptengine_smix", "label": ".smix()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L125"}, {"id": "builtin_scryptengine_bmix", "label": ".bmix()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L192"}, {"id": "builtin_scryptengine_bmix_1", "label": "._bmix_1()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L232"}, {"id": "builtin_rationale_1", "label": "passlib.utils.scrypt._builtin -- scrypt() kdf in pure-python", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L1"}, {"id": "builtin_rationale_21", "label": "helper class used to run scrypt kdf, see scrypt() for frontend .. warning::", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L21"}, {"id": "builtin_rationale_52", "label": "create engine & run scrypt() hash calculation", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L52"}, {"id": "builtin_rationale_93", "label": "run scrypt kdf for specified secret, salt, and keylen .. note::", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L93"}, {"id": "builtin_rationale_126", "label": "run SCrypt smix function on a single input block :arg input:", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L126"}, {"id": "builtin_rationale_193", "label": "block mixing function used by smix() uses salsa20/8 core to mix block co", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L193"}, {"id": "builtin_rationale_233", "label": "special bmix() method optimized for ``r=1`` case", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L233"}, {"id": "builtin_rationale_154", "label": "# NOTE: could do time / memory tradeoff to shrink size of V", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L154"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "operator", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "struct", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L7", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "passlib_utils_compat", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "passlib_crypto_digest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "passlib_crypto_scrypt_salsa", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "builtin_scryptengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L20", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "object", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "target": "builtin_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L51", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "builtin_scryptengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L58", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "builtin_scryptengine_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L92", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "builtin_scryptengine_smix", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L125", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "builtin_scryptengine_bmix", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L192", "weight": 1.0}, {"source": "builtin_scryptengine", "target": "builtin_scryptengine_bmix_1", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L232", "weight": 1.0}, {"source": "builtin_execute", "target": "builtin_scryptengine_run", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L53", "weight": 1.0}, {"source": "builtin_scryptengine_run", "target": "builtin_scryptengine_smix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L109", "weight": 1.0}, {"source": "builtin_scryptengine_smix", "target": "builtin_scryptengine_bmix", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L174", "weight": 1.0}, {"source": "builtin_rationale_1", "target": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L1", "weight": 1.0}, {"source": "builtin_rationale_21", "target": "builtin_scryptengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L21", "weight": 1.0}, {"source": "builtin_rationale_52", "target": "builtin_scryptengine_execute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L52", "weight": 1.0}, {"source": "builtin_rationale_93", "target": "builtin_scryptengine_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L93", "weight": 1.0}, {"source": "builtin_rationale_126", "target": "builtin_scryptengine_smix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L126", "weight": 1.0}, {"source": "builtin_rationale_193", "target": "builtin_scryptengine_bmix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L193", "weight": 1.0}, {"source": "builtin_rationale_233", "target": "builtin_scryptengine_bmix_1", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L233", "weight": 1.0}, {"source": "builtin_rationale_154", "target": "backend_venv_lib_python3_12_site_packages_passlib_crypto_scrypt_builtin_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L154", "weight": 1.0}], "raw_calls": [{"caller_nid": "builtin_execute", "callee": "cls", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L53"}, {"caller_nid": "builtin_scryptengine_init", "callee": "calcsize", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L67"}, {"caller_nid": "builtin_scryptengine_init", "callee": "Struct", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L68"}, {"caller_nid": "builtin_scryptengine_init", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L68"}, {"caller_nid": "builtin_scryptengine_init", "callee": "itemgetter", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L80"}, {"caller_nid": "builtin_scryptengine_init", "callee": "itemgetter", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L83"}, {"caller_nid": "builtin_scryptengine_init", "callee": "itemgetter", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L84"}, {"caller_nid": "builtin_scryptengine_run", "callee": "pbkdf2_hmac", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L103"}, {"caller_nid": "builtin_scryptengine_run", "callee": "join", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L114"}, {"caller_nid": "builtin_scryptengine_run", "callee": "range", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L116"}, {"caller_nid": "builtin_scryptengine_run", "callee": "pbkdf2_hmac", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L120"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L146"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "unpack", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L146"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L162"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "vgen", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L162"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "integerify", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L172"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "tuple", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L173"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "izip", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L173"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "get_v_elem", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L173"}, {"caller_nid": "builtin_scryptengine_smix", "callee": "pack", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L187"}, {"caller_nid": "builtin_scryptengine_bmix", "callee": "iter", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L224"}, {"caller_nid": "builtin_scryptengine_bmix", "callee": "salsa20", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L228"}, {"caller_nid": "builtin_scryptengine_bmix", "callee": "izip", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L228"}, {"caller_nid": "builtin_scryptengine_bmix", "callee": "salsa20", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L229"}, {"caller_nid": "builtin_scryptengine_bmix", "callee": "izip", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L229"}, {"caller_nid": "builtin_scryptengine_bmix_1", "callee": "salsa20", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L235"}, {"caller_nid": "builtin_scryptengine_bmix_1", "callee": "izip", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L235"}, {"caller_nid": "builtin_scryptengine_bmix_1", "callee": "iter", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L235"}, {"caller_nid": "builtin_scryptengine_bmix_1", "callee": "salsa20", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L236"}, {"caller_nid": "builtin_scryptengine_bmix_1", "callee": "izip", "source_file": "backend/venv/lib/python3.12/site-packages/passlib/crypto/scrypt/_builtin.py", "source_location": "L236"}]}