{
  "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
  "bomFormat": "CycloneDX",
  "components": [
    {
      "bom-ref": "pkg:generic/adaptive-sans@2.015",
      "licenses": [
        {
          "expression": "OFL-1.1"
        }
      ],
      "name": "Adaptive Sans",
      "purl": "pkg:generic/adaptive-sans@2.015",
      "type": "file",
      "version": "2.015"
    },
    {
      "bom-ref": "pkg:generic/common-core-state-standards@2010",
      "externalReferences": [
        {
          "type": "license",
          "url": "https://thecorestandards.org/commercial-license/"
        }
      ],
      "licenses": [
        {
          "license": {
            "name": "Common Core State Standards Commercial License",
            "url": "https://thecorestandards.org/commercial-license/"
          }
        }
      ],
      "name": "Common Core State Standards for Mathematics and English Language Arts",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "bundled-curriculum-data"
        },
        {
          "name": "adaptive-learning:required-notice",
          "value": "\u00a9 Copyright 2010. National Governors Association Center for Best Practices and Council of Chief State School Officers. All rights reserved."
        },
        {
          "name": "adaptive-learning:included-subjects",
          "value": "ELA,Math"
        }
      ],
      "purl": "pkg:generic/common-core-state-standards@2010",
      "type": "data",
      "version": "2010"
    },
    {
      "bom-ref": "pkg:generic/flutter@3.44.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "Flutter SDK",
      "purl": "pkg:generic/flutter@3.44.0",
      "type": "framework",
      "version": "3.44.0"
    },
    {
      "bom-ref": "pkg:generic/godot@4.6.3",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "Godot Engine",
      "purl": "pkg:generic/godot@4.6.3",
      "type": "framework",
      "version": "4.6.3"
    },
    {
      "bom-ref": "pkg:generic/learning-commons-academic-standards@1.11.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://cdn.learningcommons.org/knowledge-graph/v1.11.0/exports/nodes.jsonl"
        },
        {
          "type": "distribution",
          "url": "https://cdn.learningcommons.org/knowledge-graph/v1.11.0/exports/relationships.jsonl"
        },
        {
          "type": "license",
          "url": "https://creativecommons.org/licenses/by/4.0/"
        },
        {
          "type": "website",
          "url": "https://learningcommons.org/terms-of-use/"
        },
        {
          "type": "website",
          "url": "https://learningcommons.org/community-guidelines/"
        }
      ],
      "licenses": [
        {
          "expression": "CC-BY-4.0"
        }
      ],
      "name": "Learning Commons Academic Standards",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "optional-external-data"
        },
        {
          "name": "adaptive-learning:nodes-sha256",
          "value": "ffc142f72450c9692a9e547207cba3e0cd4012eb00c1d1be6aaced165c4139c5"
        },
        {
          "name": "adaptive-learning:relationships-sha256",
          "value": "74389d5e438e7a7f23e1128539827533ae08acacc73c9f3e4c81cc07a8916b21"
        },
        {
          "name": "adaptive-learning:excluded-state",
          "value": "GA"
        },
        {
          "name": "adaptive-learning:reviewed-attribution-inventory-sha256",
          "value": "9f7ea11f458ee9db112c0183a0c98bb62c97b24c5eefd7204c343b4c99664dbe"
        },
        {
          "name": "adaptive-learning:reviewed-attribution-statements-sha256",
          "value": "6e123da9ba675d82755fd18722d8a7ba3fd4a4702d471296385d4a86b718fcce"
        },
        {
          "name": "adaptive-learning:reviewed-attribution-statement-count",
          "value": "200"
        },
        {
          "name": "adaptive-learning:row-level-local-engineering-eligible",
          "value": "true"
        },
        {
          "name": "adaptive-learning:commercial-redistribution-clearance",
          "value": "approved_source_bound_commercial_redistribution"
        },
        {
          "name": "adaptive-learning:publication-allowed",
          "value": "true"
        },
        {
          "name": "adaptive-learning:clearance-evidence-schema-version",
          "value": "2"
        },
        {
          "name": "adaptive-learning:clearance-basis",
          "value": "source_license_cc_by_4_0_determination"
        },
        {
          "name": "adaptive-learning:clearance-evidence-sha256",
          "value": "7ac74208c010a062fb6c9354f45ba7cfd143e734844e242586f5c58eeb635e30"
        },
        {
          "name": "adaptive-learning:clearance-evidence-path",
          "value": "config/learning-commons-commercial-redistribution-decision.json"
        },
        {
          "name": "adaptive-learning:clearance-decision-date",
          "value": "2026-08-12"
        },
        {
          "name": "adaptive-learning:clearance-evidence-reviewed-at",
          "value": "2026-08-12"
        },
        {
          "name": "adaptive-learning:clearance-binding:community_guidelines_content_sha256",
          "value": "8dfe7481162be4b70c288837c97e0728aacc3b104b80e3389076c40c7b566050"
        },
        {
          "name": "adaptive-learning:clearance-binding:license_sha256",
          "value": "b212b4169c22bc86c70b284f5572700bb0de3d3ec4fee3f0120ffbb9b4e498fd"
        },
        {
          "name": "adaptive-learning:clearance-binding:nodes_export_sha256",
          "value": "ffc142f72450c9692a9e547207cba3e0cd4012eb00c1d1be6aaced165c4139c5"
        },
        {
          "name": "adaptive-learning:clearance-binding:publication_contract_sha256",
          "value": "b7418cef23b1d1ac7f609da0ff93bb51845b5466a0a3d36b2359d930142c312d"
        },
        {
          "name": "adaptive-learning:clearance-binding:readme_sha256",
          "value": "5e6ba4f39cf09cbce694b8b4ab5e48790910901c13ed128c62d1ca5a0e888296"
        },
        {
          "name": "adaptive-learning:clearance-binding:relationships_export_sha256",
          "value": "74389d5e438e7a7f23e1128539827533ae08acacc73c9f3e4c81cc07a8916b21"
        },
        {
          "name": "adaptive-learning:clearance-binding:reviewed_attribution_inventory_sha256",
          "value": "9f7ea11f458ee9db112c0183a0c98bb62c97b24c5eefd7204c343b4c99664dbe"
        },
        {
          "name": "adaptive-learning:clearance-binding:reviewed_attribution_statement_inventory_sha256",
          "value": "6e123da9ba675d82755fd18722d8a7ba3fd4a4702d471296385d4a86b718fcce"
        },
        {
          "name": "adaptive-learning:clearance-binding:source_commit",
          "value": "dcf4549dcdf5ce1dada8b05f04c91068ac58adac"
        },
        {
          "name": "adaptive-learning:clearance-binding:terms_content_sha256",
          "value": "aa9e95a77f8af96880f87149c084cbedbfe9c44b56772c034293eb631ff83039"
        }
      ],
      "purl": "pkg:generic/learning-commons-academic-standards@1.11.0",
      "type": "data",
      "version": "1.11.0"
    },
    {
      "bom-ref": "pkg:generic/learning-commons-knowledge-graph-repository@dcf4549dcdf5ce1dada8b05f04c91068ac58adac",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/learning-commons-org/knowledge-graph.git"
        },
        {
          "type": "release-notes",
          "url": "https://github.com/learning-commons-org/knowledge-graph/releases/tag/v1.11.0"
        },
        {
          "type": "license",
          "url": "https://github.com/learning-commons-org/knowledge-graph/blob/dcf4549dcdf5ce1dada8b05f04c91068ac58adac/LICENSE.md"
        },
        {
          "type": "website",
          "url": "https://learningcommons.org/terms-of-use/"
        },
        {
          "type": "website",
          "url": "https://learningcommons.org/community-guidelines/"
        }
      ],
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "Learning Commons Knowledge Graph repository",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "external-source-metadata"
        },
        {
          "name": "adaptive-learning:reviewed-license-sha256",
          "value": "b212b4169c22bc86c70b284f5572700bb0de3d3ec4fee3f0120ffbb9b4e498fd"
        },
        {
          "name": "adaptive-learning:license-reviewed-at",
          "value": "2026-08-12"
        },
        {
          "name": "adaptive-learning:reviewed-readme-sha256",
          "value": "5e6ba4f39cf09cbce694b8b4ab5e48790910901c13ed128c62d1ca5a0e888296"
        },
        {
          "name": "adaptive-learning:reviewed-terms-sha256",
          "value": "aa9e95a77f8af96880f87149c084cbedbfe9c44b56772c034293eb631ff83039"
        },
        {
          "name": "adaptive-learning:terms-modified-gmt",
          "value": "2026-07-01T16:00:25"
        },
        {
          "name": "adaptive-learning:reviewed-policy-api-accept",
          "value": "application/json"
        },
        {
          "name": "adaptive-learning:reviewed-policy-digest-format",
          "value": "rendered_html_class_tokens_sorted_v1"
        },
        {
          "name": "adaptive-learning:reviewed-community-guidelines-sha256",
          "value": "8dfe7481162be4b70c288837c97e0728aacc3b104b80e3389076c40c7b566050"
        },
        {
          "name": "adaptive-learning:community-guidelines-modified-gmt",
          "value": "2026-06-24T20:29:49"
        }
      ],
      "purl": "pkg:generic/learning-commons-knowledge-graph-repository@dcf4549dcdf5ce1dada8b05f04c91068ac58adac",
      "type": "library",
      "version": "dcf4549dcdf5ce1dada8b05f04c91068ac58adac"
    },
    {
      "bom-ref": "pkg:generic/lexisphere@0.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/Adaptive-Learning-AI-Company/LexiSphere"
        }
      ],
      "licenses": [
        {
          "expression": "AGPL-3.0-only"
        }
      ],
      "name": "LexiSphere",
      "purl": "pkg:generic/lexisphere@0.1.0",
      "type": "application",
      "version": "0.1.0"
    },
    {
      "bom-ref": "pkg:generic/roboto-web@32",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "Roboto web fallback",
      "purl": "pkg:generic/roboto-web@32",
      "type": "file",
      "version": "32"
    },
    {
      "bom-ref": "pkg:pub/args@2.7.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "args",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/args@2.7.0",
      "type": "library",
      "version": "2.7.0"
    },
    {
      "bom-ref": "pkg:pub/async@2.13.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "async",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/async@2.13.1",
      "type": "library",
      "version": "2.13.1"
    },
    {
      "bom-ref": "pkg:pub/boolean_selector@2.1.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "boolean_selector",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/boolean_selector@2.1.2",
      "type": "library",
      "version": "2.1.2"
    },
    {
      "bom-ref": "pkg:pub/characters@1.4.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "characters",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/characters@1.4.1",
      "type": "library",
      "version": "1.4.1"
    },
    {
      "bom-ref": "pkg:pub/clock@1.1.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b"
        }
      ],
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "clock",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/clock@1.1.2",
      "type": "library",
      "version": "1.1.2"
    },
    {
      "bom-ref": "pkg:pub/collection@1.19.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "collection",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/collection@1.19.1",
      "type": "library",
      "version": "1.19.1"
    },
    {
      "bom-ref": "pkg:pub/cupertino_icons@1.0.9",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd"
        }
      ],
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "cupertino_icons",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/cupertino_icons@1.0.9",
      "type": "library",
      "version": "1.0.9"
    },
    {
      "bom-ref": "pkg:pub/fake_async@1.3.3",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
        }
      ],
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "fake_async",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/fake_async@1.3.3",
      "type": "library",
      "version": "1.3.3"
    },
    {
      "bom-ref": "pkg:pub/ffi@2.2.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "ffi",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/ffi@2.2.0",
      "type": "library",
      "version": "2.2.0"
    },
    {
      "bom-ref": "pkg:pub/file@7.0.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "file",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/file@7.0.1",
      "type": "library",
      "version": "7.0.1"
    },
    {
      "bom-ref": "pkg:pub/flutter@0.0.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/flutter@0.0.0",
      "type": "library",
      "version": "0.0.0"
    },
    {
      "bom-ref": "pkg:pub/flutter_lints@6.0.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter_lints",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct dev"
        }
      ],
      "purl": "pkg:pub/flutter_lints@6.0.0",
      "type": "library",
      "version": "6.0.0"
    },
    {
      "bom-ref": "pkg:pub/flutter_localizations@0.0.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter_localizations",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/flutter_localizations@0.0.0",
      "type": "library",
      "version": "0.0.0"
    },
    {
      "bom-ref": "pkg:pub/flutter_markdown@0.7.7+1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "08fb8315236099ff8e90cb87bb2b935e0a724a3af1623000a9cec930468e0f27"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter_markdown",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/flutter_markdown@0.7.7+1",
      "type": "library",
      "version": "0.7.7+1"
    },
    {
      "bom-ref": "pkg:pub/flutter_test@0.0.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter_test",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct dev"
        }
      ],
      "purl": "pkg:pub/flutter_test@0.0.0",
      "type": "library",
      "version": "0.0.0"
    },
    {
      "bom-ref": "pkg:pub/flutter_web_plugins@0.0.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "flutter_web_plugins",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/flutter_web_plugins@0.0.0",
      "type": "library",
      "version": "0.0.0"
    },
    {
      "bom-ref": "pkg:pub/http@1.6.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "http",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/http@1.6.0",
      "type": "library",
      "version": "1.6.0"
    },
    {
      "bom-ref": "pkg:pub/http_parser@4.1.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "http_parser",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/http_parser@4.1.2",
      "type": "library",
      "version": "4.1.2"
    },
    {
      "bom-ref": "pkg:pub/intl@0.20.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "intl",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/intl@0.20.2",
      "type": "library",
      "version": "0.20.2"
    },
    {
      "bom-ref": "pkg:pub/leak_tracker@11.0.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "leak_tracker",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/leak_tracker@11.0.2",
      "type": "library",
      "version": "11.0.2"
    },
    {
      "bom-ref": "pkg:pub/leak_tracker_flutter_testing@3.0.10",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "leak_tracker_flutter_testing",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/leak_tracker_flutter_testing@3.0.10",
      "type": "library",
      "version": "3.0.10"
    },
    {
      "bom-ref": "pkg:pub/leak_tracker_testing@3.0.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "leak_tracker_testing",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/leak_tracker_testing@3.0.2",
      "type": "library",
      "version": "3.0.2"
    },
    {
      "bom-ref": "pkg:pub/lints@6.1.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "lints",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/lints@6.1.0",
      "type": "library",
      "version": "6.1.0"
    },
    {
      "bom-ref": "pkg:pub/markdown@7.3.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "ee85086ad7698b42522c6ad42fe195f1b9898e4d974a1af4576c1a3a176cada9"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "markdown",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/markdown@7.3.1",
      "type": "library",
      "version": "7.3.1"
    },
    {
      "bom-ref": "pkg:pub/matcher@0.12.19",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "matcher",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/matcher@0.12.19",
      "type": "library",
      "version": "0.12.19"
    },
    {
      "bom-ref": "pkg:pub/material_color_utilities@0.13.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
        }
      ],
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "material_color_utilities",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/material_color_utilities@0.13.0",
      "type": "library",
      "version": "0.13.0"
    },
    {
      "bom-ref": "pkg:pub/meta@1.18.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "meta",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/meta@1.18.0",
      "type": "library",
      "version": "1.18.0"
    },
    {
      "bom-ref": "pkg:pub/nested@1.0.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
        }
      ],
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "nested",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/nested@1.0.0",
      "type": "library",
      "version": "1.0.0"
    },
    {
      "bom-ref": "pkg:pub/path@1.9.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "path",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/path@1.9.1",
      "type": "library",
      "version": "1.9.1"
    },
    {
      "bom-ref": "pkg:pub/path_provider_linux@2.2.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "path_provider_linux",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/path_provider_linux@2.2.1",
      "type": "library",
      "version": "2.2.1"
    },
    {
      "bom-ref": "pkg:pub/path_provider_platform_interface@2.1.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "path_provider_platform_interface",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/path_provider_platform_interface@2.1.2",
      "type": "library",
      "version": "2.1.2"
    },
    {
      "bom-ref": "pkg:pub/path_provider_windows@2.3.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "path_provider_windows",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/path_provider_windows@2.3.0",
      "type": "library",
      "version": "2.3.0"
    },
    {
      "bom-ref": "pkg:pub/platform@3.1.6",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "platform",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/platform@3.1.6",
      "type": "library",
      "version": "3.1.6"
    },
    {
      "bom-ref": "pkg:pub/plugin_platform_interface@2.1.8",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "plugin_platform_interface",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/plugin_platform_interface@2.1.8",
      "type": "library",
      "version": "2.1.8"
    },
    {
      "bom-ref": "pkg:pub/provider@6.1.5+1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272"
        }
      ],
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "provider",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/provider@6.1.5+1",
      "type": "library",
      "version": "6.1.5+1"
    },
    {
      "bom-ref": "pkg:pub/qr@3.0.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "qr",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/qr@3.0.2",
      "type": "library",
      "version": "3.0.2"
    },
    {
      "bom-ref": "pkg:pub/qr_flutter@4.1.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "qr_flutter",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/qr_flutter@4.1.0",
      "type": "library",
      "version": "4.1.0"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences@2.5.5",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "c3025c5534b01739267eb7d76959bbc25a6d10f6988e1c2a3036940133dd10bf"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/shared_preferences@2.5.5",
      "type": "library",
      "version": "2.5.5"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_android@2.4.23",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e8d4762b1e2e8578fc4d0fd548cebf24afd24f49719c08974df92834565e2c53"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_android",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_android@2.4.23",
      "type": "library",
      "version": "2.4.23"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_foundation@2.5.6",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_foundation",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_foundation@2.5.6",
      "type": "library",
      "version": "2.5.6"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_linux@2.4.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_linux",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_linux@2.4.1",
      "type": "library",
      "version": "2.4.1"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_platform_interface@2.4.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "649dc798a33931919ea356c4305c2d1f81619ea6e92244070b520187b5140ef9"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_platform_interface",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_platform_interface@2.4.2",
      "type": "library",
      "version": "2.4.2"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_web@2.4.3",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_web",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_web@2.4.3",
      "type": "library",
      "version": "2.4.3"
    },
    {
      "bom-ref": "pkg:pub/shared_preferences_windows@2.4.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "shared_preferences_windows",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/shared_preferences_windows@2.4.1",
      "type": "library",
      "version": "2.4.1"
    },
    {
      "bom-ref": "pkg:pub/sky_engine@0.0.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "sky_engine",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/sky_engine@0.0.0",
      "type": "library",
      "version": "0.0.0"
    },
    {
      "bom-ref": "pkg:pub/source_span@1.10.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "source_span",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/source_span@1.10.2",
      "type": "library",
      "version": "1.10.2"
    },
    {
      "bom-ref": "pkg:pub/stack_trace@1.12.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "stack_trace",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/stack_trace@1.12.1",
      "type": "library",
      "version": "1.12.1"
    },
    {
      "bom-ref": "pkg:pub/stream_channel@2.1.4",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "stream_channel",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/stream_channel@2.1.4",
      "type": "library",
      "version": "2.1.4"
    },
    {
      "bom-ref": "pkg:pub/string_scanner@1.4.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "string_scanner",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/string_scanner@1.4.1",
      "type": "library",
      "version": "1.4.1"
    },
    {
      "bom-ref": "pkg:pub/term_glyph@1.2.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "term_glyph",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/term_glyph@1.2.2",
      "type": "library",
      "version": "1.2.2"
    },
    {
      "bom-ref": "pkg:pub/test_api@0.7.11",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "test_api",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/test_api@0.7.11",
      "type": "library",
      "version": "0.7.11"
    },
    {
      "bom-ref": "pkg:pub/typed_data@1.4.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "typed_data",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/typed_data@1.4.0",
      "type": "library",
      "version": "1.4.0"
    },
    {
      "bom-ref": "pkg:pub/url_launcher@6.3.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/url_launcher@6.3.2",
      "type": "library",
      "version": "6.3.2"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_android@6.3.30",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "17bc677f0b301615530dd1d67e0a9828cafa2d0b6b6eae4cd3679b7eac4a273c"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_android",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_android@6.3.30",
      "type": "library",
      "version": "6.3.30"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_ios@6.4.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "580fe5dfb51671ae38191d316e027f6b76272b026370708c2d898799750a02b0"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_ios",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_ios@6.4.1",
      "type": "library",
      "version": "6.4.1"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_linux@3.2.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_linux",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_linux@3.2.2",
      "type": "library",
      "version": "3.2.2"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_macos@3.2.5",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "368adf46f71ad3c21b8f06614adb38346f193f3a59ba8fe9a2fd74133070ba18"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_macos",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_macos@3.2.5",
      "type": "library",
      "version": "3.2.5"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_platform_interface@2.3.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_platform_interface",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_platform_interface@2.3.2",
      "type": "library",
      "version": "2.3.2"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_web@2.4.3",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "85c81589622fbc87c1c683aaea164d3604a7777495a79d91e39ffcdec39ddb34"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_web",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_web@2.4.3",
      "type": "library",
      "version": "2.4.3"
    },
    {
      "bom-ref": "pkg:pub/url_launcher_windows@3.1.5",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "url_launcher_windows",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/url_launcher_windows@3.1.5",
      "type": "library",
      "version": "3.1.5"
    },
    {
      "bom-ref": "pkg:pub/vector_math@2.2.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "vector_math",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/vector_math@2.2.0",
      "type": "library",
      "version": "2.2.0"
    },
    {
      "bom-ref": "pkg:pub/vm_service@15.2.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "vm_service",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/vm_service@15.2.0",
      "type": "library",
      "version": "15.2.0"
    },
    {
      "bom-ref": "pkg:pub/web@1.1.1",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "web",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "direct main"
        }
      ],
      "purl": "pkg:pub/web@1.1.1",
      "type": "library",
      "version": "1.1.1"
    },
    {
      "bom-ref": "pkg:pub/xdg_directories@1.1.0",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
        }
      ],
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "xdg_directories",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "transitive"
        }
      ],
      "purl": "pkg:pub/xdg_directories@1.1.0",
      "type": "library",
      "version": "1.1.0"
    },
    {
      "bom-ref": "pkg:pypi/alembic@1.19.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "alembic",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/alembic@1.19.0",
      "type": "library",
      "version": "1.19.0"
    },
    {
      "bom-ref": "pkg:pypi/annotated-doc@0.0.5",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "annotated-doc",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/annotated-doc@0.0.5",
      "type": "library",
      "version": "0.0.5"
    },
    {
      "bom-ref": "pkg:pypi/annotated-types@0.8.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "annotated-types",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/annotated-types@0.8.0",
      "type": "library",
      "version": "0.8.0"
    },
    {
      "bom-ref": "pkg:pypi/anyio@4.14.2",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "anyio",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/anyio@4.14.2",
      "type": "library",
      "version": "4.14.2"
    },
    {
      "bom-ref": "pkg:pypi/bcrypt@4.0.1",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "bcrypt",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/bcrypt@4.0.1",
      "type": "library",
      "version": "4.0.1"
    },
    {
      "bom-ref": "pkg:pypi/certifi@2026.7.22",
      "licenses": [
        {
          "expression": "MPL-2.0"
        }
      ],
      "name": "certifi",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/certifi@2026.7.22",
      "type": "library",
      "version": "2026.7.22"
    },
    {
      "bom-ref": "pkg:pypi/cffi@2.1.1",
      "licenses": [
        {
          "expression": "MIT-0"
        }
      ],
      "name": "cffi",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/cffi@2.1.1",
      "type": "library",
      "version": "2.1.1"
    },
    {
      "bom-ref": "pkg:pypi/charset-normalizer@3.5.1",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "charset-normalizer",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/charset-normalizer@3.5.1",
      "type": "library",
      "version": "3.5.1"
    },
    {
      "bom-ref": "pkg:pypi/click@8.4.2",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "click",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/click@8.4.2",
      "type": "library",
      "version": "8.4.2"
    },
    {
      "bom-ref": "pkg:pypi/colorama@0.4.6",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "colorama",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/colorama@0.4.6",
      "type": "library",
      "version": "0.4.6"
    },
    {
      "bom-ref": "pkg:pypi/cryptography@50.0.0",
      "licenses": [
        {
          "expression": "Apache-2.0 OR BSD-3-Clause"
        }
      ],
      "name": "cryptography",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/cryptography@50.0.0",
      "type": "library",
      "version": "50.0.0"
    },
    {
      "bom-ref": "pkg:pypi/distro@1.9.0",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "distro",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/distro@1.9.0",
      "type": "library",
      "version": "1.9.0"
    },
    {
      "bom-ref": "pkg:pypi/fastapi@0.141.1",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "fastapi",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/fastapi@0.141.1",
      "type": "library",
      "version": "0.141.1"
    },
    {
      "bom-ref": "pkg:pypi/filetype@1.2.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "filetype",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/filetype@1.2.0",
      "type": "library",
      "version": "1.2.0"
    },
    {
      "bom-ref": "pkg:pypi/google-auth@2.56.3",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "google-auth",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/google-auth@2.56.3",
      "type": "library",
      "version": "2.56.3"
    },
    {
      "bom-ref": "pkg:pypi/google-genai@2.18.1",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "google-genai",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/google-genai@2.18.1",
      "type": "library",
      "version": "2.18.1"
    },
    {
      "bom-ref": "pkg:pypi/greenlet@3.5.5",
      "licenses": [
        {
          "expression": "MIT AND PSF-2.0"
        }
      ],
      "name": "greenlet",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/greenlet@3.5.5",
      "type": "library",
      "version": "3.5.5"
    },
    {
      "bom-ref": "pkg:pypi/h11@0.16.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "h11",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/h11@0.16.0",
      "type": "library",
      "version": "0.16.0"
    },
    {
      "bom-ref": "pkg:pypi/httpcore@1.0.9",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "httpcore",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/httpcore@1.0.9",
      "type": "library",
      "version": "1.0.9"
    },
    {
      "bom-ref": "pkg:pypi/httpx@0.28.1",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "httpx",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/httpx@0.28.1",
      "type": "library",
      "version": "0.28.1"
    },
    {
      "bom-ref": "pkg:pypi/idna@3.18",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "idna",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/idna@3.18",
      "type": "library",
      "version": "3.18"
    },
    {
      "bom-ref": "pkg:pypi/iniconfig@2.3.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "iniconfig",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/iniconfig@2.3.0",
      "type": "library",
      "version": "2.3.0"
    },
    {
      "bom-ref": "pkg:pypi/jiter@0.16.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "jiter",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/jiter@0.16.0",
      "type": "library",
      "version": "0.16.0"
    },
    {
      "bom-ref": "pkg:pypi/jsonpatch@1.33",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "jsonpatch",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/jsonpatch@1.33",
      "type": "library",
      "version": "1.33"
    },
    {
      "bom-ref": "pkg:pypi/jsonpointer@3.1.1",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "jsonpointer",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/jsonpointer@3.1.1",
      "type": "library",
      "version": "3.1.1"
    },
    {
      "bom-ref": "pkg:pypi/langchain-core@1.5.5",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langchain-core",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langchain-core@1.5.5",
      "type": "library",
      "version": "1.5.5"
    },
    {
      "bom-ref": "pkg:pypi/langchain-google-genai@4.3.4",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langchain-google-genai",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langchain-google-genai@4.3.4",
      "type": "library",
      "version": "4.3.4"
    },
    {
      "bom-ref": "pkg:pypi/langchain-openai@1.5.1",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langchain-openai",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langchain-openai@1.5.1",
      "type": "library",
      "version": "1.5.1"
    },
    {
      "bom-ref": "pkg:pypi/langchain-protocol@0.0.18",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langchain-protocol",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langchain-protocol@0.0.18",
      "type": "library",
      "version": "0.0.18"
    },
    {
      "bom-ref": "pkg:pypi/langgraph-checkpoint@4.2.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langgraph-checkpoint",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langgraph-checkpoint@4.2.0",
      "type": "library",
      "version": "4.2.0"
    },
    {
      "bom-ref": "pkg:pypi/langgraph-prebuilt@1.1.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langgraph-prebuilt",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langgraph-prebuilt@1.1.0",
      "type": "library",
      "version": "1.1.0"
    },
    {
      "bom-ref": "pkg:pypi/langgraph-sdk@0.4.2",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langgraph-sdk",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langgraph-sdk@0.4.2",
      "type": "library",
      "version": "0.4.2"
    },
    {
      "bom-ref": "pkg:pypi/langgraph@1.2.11",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langgraph",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langgraph@1.2.11",
      "type": "library",
      "version": "1.2.11"
    },
    {
      "bom-ref": "pkg:pypi/langsmith@0.11.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "langsmith",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/langsmith@0.11.0",
      "type": "library",
      "version": "0.11.0"
    },
    {
      "bom-ref": "pkg:pypi/mako@1.4.1",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "mako",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/mako@1.4.1",
      "type": "library",
      "version": "1.4.1"
    },
    {
      "bom-ref": "pkg:pypi/markupsafe@3.0.3",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "markupsafe",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/markupsafe@3.0.3",
      "type": "library",
      "version": "3.0.3"
    },
    {
      "bom-ref": "pkg:pypi/networkx@3.6.1",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "networkx",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/networkx@3.6.1",
      "type": "library",
      "version": "3.6.1"
    },
    {
      "bom-ref": "pkg:pypi/openai@2.54.0",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "openai",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/openai@2.54.0",
      "type": "library",
      "version": "2.54.0"
    },
    {
      "bom-ref": "pkg:pypi/orjson@3.12.0",
      "licenses": [
        {
          "expression": "MPL-2.0 AND (Apache-2.0 OR MIT)"
        }
      ],
      "name": "orjson",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/orjson@3.12.0",
      "type": "library",
      "version": "3.12.0"
    },
    {
      "bom-ref": "pkg:pypi/ormsgpack@1.12.2",
      "licenses": [
        {
          "expression": "Apache-2.0 OR MIT"
        }
      ],
      "name": "ormsgpack",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/ormsgpack@1.12.2",
      "type": "library",
      "version": "1.12.2"
    },
    {
      "bom-ref": "pkg:pypi/packaging@26.3",
      "licenses": [
        {
          "expression": "Apache-2.0 OR BSD-2-Clause"
        }
      ],
      "name": "packaging",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/packaging@26.3",
      "type": "library",
      "version": "26.3"
    },
    {
      "bom-ref": "pkg:pypi/passlib@1.7.4",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "passlib",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/passlib@1.7.4",
      "type": "library",
      "version": "1.7.4"
    },
    {
      "bom-ref": "pkg:pypi/pluggy@1.6.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pluggy",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pluggy@1.6.0",
      "type": "library",
      "version": "1.6.0"
    },
    {
      "bom-ref": "pkg:pypi/psycopg2@2.9.12",
      "licenses": [
        {
          "expression": "LGPL-3.0-or-later WITH OpenSSL-exception"
        }
      ],
      "name": "psycopg2",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/psycopg2@2.9.12",
      "type": "library",
      "version": "2.9.12"
    },
    {
      "bom-ref": "pkg:pypi/pyasn1-modules@0.4.2",
      "licenses": [
        {
          "expression": "BSD-2-Clause"
        }
      ],
      "name": "pyasn1-modules",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pyasn1-modules@0.4.2",
      "type": "library",
      "version": "0.4.2"
    },
    {
      "bom-ref": "pkg:pypi/pyasn1@0.6.4",
      "licenses": [
        {
          "expression": "BSD-2-Clause"
        }
      ],
      "name": "pyasn1",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pyasn1@0.6.4",
      "type": "library",
      "version": "0.6.4"
    },
    {
      "bom-ref": "pkg:pypi/pycparser@3.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "pycparser",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pycparser@3.0",
      "type": "library",
      "version": "3.0"
    },
    {
      "bom-ref": "pkg:pypi/pydantic-core@2.46.4",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pydantic-core",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pydantic-core@2.46.4",
      "type": "library",
      "version": "2.46.4"
    },
    {
      "bom-ref": "pkg:pypi/pydantic@2.13.4",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pydantic",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pydantic@2.13.4",
      "type": "library",
      "version": "2.13.4"
    },
    {
      "bom-ref": "pkg:pypi/pygments@2.20.0",
      "licenses": [
        {
          "expression": "BSD-2-Clause"
        }
      ],
      "name": "pygments",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pygments@2.20.0",
      "type": "library",
      "version": "2.20.0"
    },
    {
      "bom-ref": "pkg:pypi/pyjwt@2.13.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pyjwt",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pyjwt@2.13.0",
      "type": "library",
      "version": "2.13.0"
    },
    {
      "bom-ref": "pkg:pypi/pytest@9.1.1",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pytest",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pytest@9.1.1",
      "type": "library",
      "version": "9.1.1"
    },
    {
      "bom-ref": "pkg:pypi/python-multipart@0.0.32",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "python-multipart",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/python-multipart@0.0.32",
      "type": "library",
      "version": "0.0.32"
    },
    {
      "bom-ref": "pkg:pypi/pyyaml@6.0.3",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "pyyaml",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/pyyaml@6.0.3",
      "type": "library",
      "version": "6.0.3"
    },
    {
      "bom-ref": "pkg:pypi/regex@2026.7.19",
      "licenses": [
        {
          "expression": "Apache-2.0 AND CNRI-Python"
        }
      ],
      "name": "regex",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/regex@2026.7.19",
      "type": "library",
      "version": "2026.7.19"
    },
    {
      "bom-ref": "pkg:pypi/requests-toolbelt@1.0.0",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "requests-toolbelt",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/requests-toolbelt@1.0.0",
      "type": "library",
      "version": "1.0.0"
    },
    {
      "bom-ref": "pkg:pypi/requests@2.34.2",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "requests",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/requests@2.34.2",
      "type": "library",
      "version": "2.34.2"
    },
    {
      "bom-ref": "pkg:pypi/setuptools@84.0.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "setuptools",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/setuptools@84.0.0",
      "type": "library",
      "version": "84.0.0"
    },
    {
      "bom-ref": "pkg:pypi/sniffio@1.3.1",
      "licenses": [
        {
          "expression": "MIT OR Apache-2.0"
        }
      ],
      "name": "sniffio",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/sniffio@1.3.1",
      "type": "library",
      "version": "1.3.1"
    },
    {
      "bom-ref": "pkg:pypi/sqlalchemy@2.0.52",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "sqlalchemy",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/sqlalchemy@2.0.52",
      "type": "library",
      "version": "2.0.52"
    },
    {
      "bom-ref": "pkg:pypi/starlette@1.6.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "starlette",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/starlette@1.6.0",
      "type": "library",
      "version": "1.6.0"
    },
    {
      "bom-ref": "pkg:pypi/stripe@15.5.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "stripe",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/stripe@15.5.0",
      "type": "library",
      "version": "15.5.0"
    },
    {
      "bom-ref": "pkg:pypi/tenacity@9.1.4",
      "licenses": [
        {
          "expression": "Apache-2.0"
        }
      ],
      "name": "tenacity",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/tenacity@9.1.4",
      "type": "library",
      "version": "9.1.4"
    },
    {
      "bom-ref": "pkg:pypi/tiktoken@0.13.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "tiktoken",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/tiktoken@0.13.0",
      "type": "library",
      "version": "0.13.0"
    },
    {
      "bom-ref": "pkg:pypi/tqdm@4.70.0",
      "licenses": [
        {
          "expression": "MPL-2.0 AND MIT"
        }
      ],
      "name": "tqdm",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/tqdm@4.70.0",
      "type": "library",
      "version": "4.70.0"
    },
    {
      "bom-ref": "pkg:pypi/typing-extensions@4.16.0",
      "licenses": [
        {
          "expression": "PSF-2.0"
        }
      ],
      "name": "typing-extensions",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/typing-extensions@4.16.0",
      "type": "library",
      "version": "4.16.0"
    },
    {
      "bom-ref": "pkg:pypi/typing-inspection@0.4.4",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "typing-inspection",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/typing-inspection@0.4.4",
      "type": "library",
      "version": "0.4.4"
    },
    {
      "bom-ref": "pkg:pypi/urllib3@2.7.0",
      "licenses": [
        {
          "expression": "MIT"
        }
      ],
      "name": "urllib3",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/urllib3@2.7.0",
      "type": "library",
      "version": "2.7.0"
    },
    {
      "bom-ref": "pkg:pypi/uuid-utils@0.17.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "uuid-utils",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/uuid-utils@0.17.0",
      "type": "library",
      "version": "0.17.0"
    },
    {
      "bom-ref": "pkg:pypi/uvicorn@0.52.3",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "uvicorn",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/uvicorn@0.52.3",
      "type": "library",
      "version": "0.52.3"
    },
    {
      "bom-ref": "pkg:pypi/websockets@15.0.1",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "websockets",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/websockets@15.0.1",
      "type": "library",
      "version": "15.0.1"
    },
    {
      "bom-ref": "pkg:pypi/xxhash@4.0.0",
      "licenses": [
        {
          "expression": "BSD-2-Clause"
        }
      ],
      "name": "xxhash",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/xxhash@4.0.0",
      "type": "library",
      "version": "4.0.0"
    },
    {
      "bom-ref": "pkg:pypi/zstandard@0.25.0",
      "licenses": [
        {
          "expression": "BSD-3-Clause"
        }
      ],
      "name": "zstandard",
      "properties": [
        {
          "name": "adaptive-learning:dependency-scope",
          "value": "locked"
        }
      ],
      "purl": "pkg:pypi/zstandard@0.25.0",
      "type": "library",
      "version": "0.25.0"
    }
  ],
  "metadata": {
    "component": {
      "bom-ref": "pkg:pypi/adaptive-learning@2.0.0",
      "copyright": "Copyright (C) 2023-2026 Adaptive Learning contributors.",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/Adaptive-Learning-AI-Company/Adaptive-Learning"
        },
        {
          "type": "website",
          "url": "https://adaptivetutor.ai/source.html"
        }
      ],
      "licenses": [
        {
          "expression": "AGPL-3.0-only"
        }
      ],
      "name": "Adaptive Tutor",
      "purl": "pkg:pypi/adaptive-learning@2.0.0",
      "type": "application",
      "version": "2.0.0"
    }
  },
  "specVersion": "1.5",
  "version": 1
}
