{
  "schema_name": "learner-access-presentation",
  "schema_version": "1.0.0",
  "authority_note": "Presentation sidecar only; canonical edition, rights, provenance, and translation records remain authoritative in the modular backend.",
  "locale_route_template": "/{route_segment}/",
  "supported_interface_locales": [
    "id",
    "en"
  ],
  "locale_metadata": {
    "id": {
      "routeSegment": "id",
      "languageTag": "id",
      "label": "Bahasa Indonesia",
      "fallbackLocale": null,
      "coursePresentationLocale": "id",
      "bindingExceptions": null,
      "navigation": {
        "aria": "Navigasi Program Matematika",
        "lead": "Program:",
        "programRoot": "Beranda Program Matematika",
        "originalSource": "Sumber asli",
        "relatedPage": "Buka halaman terkait"
      }
    },
    "en": {
      "routeSegment": "en",
      "languageTag": "en",
      "label": "English",
      "fallbackLocale": "id",
      "coursePresentationLocale": "en",
      "bindingExceptions": "en",
      "navigation": {
        "aria": "Mathematics Program navigation",
        "lead": "Program:",
        "programRoot": "Mathematics Program home",
        "originalSource": "Original source",
        "relatedPage": "Open related page"
      }
    }
  },
  "access_roles": [
    "hosted-reader",
    "authoritative-original",
    "offline-copy",
    "companion",
    "tool",
    "repository",
    "preservation-record",
    "source-package",
    "backend"
  ],
  "invariants": [
    "every_course_in_every_registered_interface_has_distinct_hosted_and_authoritative_original_slots",
    "interface_locale_does_not_imply_content_language",
    "authoritative_original_remains_prominent_when_a_hosted_reader_exists",
    "missing_hosted_reader_is_explicit_and_never_fabricated",
    "offline_status_is_evidence_bound"
  ],
  "courses": {
    "A00": {
      "id": {
        "course_id": "A00",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-A00",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/openstax-prealgebra-2e-id-ID/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22070683/files/prealgebra-2e-id-ID-v0.2.7-reader.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/details/books/prealgebra-2e",
              "label": "Original publisher page — OpenStax Prealgebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/openstax-prealgebra-2e-original-en/",
            "label": "Program-hosted complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-prealgebra-2e-original-en/releases/download/v1.0.0/openstax-prealgebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 79027794,
            "sha256": "8fc15a085987cea3963bac27c831bb339fa05553001267564c8a66db3cefc04a",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/A00/latihan/index.html",
            "label": "Latihan & diagnosis",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 51189,
            "sha256": "3013a93c482df11119e512449a9d0835744011a0540a2c65878d377630464fca",
            "source_body_bytes": 49082,
            "source_body_sha256": "0804af9e223c1003ed915f8a28637c4756899a1d31566d3dd73f3b730edb612c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/A00.html",
            "label": "A00 · Konsep, prasyarat dan pilihan belajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 202234,
            "sha256": "0bb7533280c09483e13cd8fb243d9f0c92df2405371e3a112a775d7f35903055",
            "source_body_bytes": 199799,
            "source_body_sha256": "1e583e86bfaa93e2225ceedc22947675e9726984127c045f0a6392ba398a01cc",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070683",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-prealgebra-2e-id-ID",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "A00",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-A00",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/openstax-prealgebra-2e-original-en/",
              "label": "Program-hosted complete English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/details/books/prealgebra-2e",
              "label": "Original publisher page — OpenStax Prealgebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-prealgebra-2e-original-en/releases/download/v1.0.0/openstax-prealgebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 79027794,
            "sha256": "8fc15a085987cea3963bac27c831bb339fa05553001267564c8a66db3cefc04a",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/openstax-prealgebra-2e-id-ID/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22070683/files/prealgebra-2e-id-ID-v0.2.7-reader.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/A00/latihan/index.html",
            "label": "Latihan & diagnosis",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 51189,
            "sha256": "3013a93c482df11119e512449a9d0835744011a0540a2c65878d377630464fca",
            "source_body_bytes": 49082,
            "source_body_sha256": "0804af9e223c1003ed915f8a28637c4756899a1d31566d3dd73f3b730edb612c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a00/A00.html",
            "label": "A00 · Konsep, prasyarat dan pilihan belajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 202234,
            "sha256": "0bb7533280c09483e13cd8fb243d9f0c92df2405371e3a112a775d7f35903055",
            "source_body_bytes": 199799,
            "source_body_sha256": "1e583e86bfaa93e2225ceedc22947675e9726984127c045f0a6392ba398a01cc",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070683",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-prealgebra-2e-id-ID",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "A10": {
      "id": {
        "course_id": "A10",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-A10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "mirrors",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/A10/reader/index.html",
              "label": "Baca Aljabar Dasar — 82 modul lengkap",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 14915394,
              "sha256": "abf177dfe58d21878dc754801502ea68cce2b87cbd73d24e90e99babfff3d8b7",
              "source_body_bytes": 14913255,
              "source_body_sha256": "8d125695e57897c2364a0508ab7b169ef96f7e0e6b7c697190418436a63ffc54",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/details/books/elementary-algebra-2e",
              "label": "Original publisher page — OpenStax Elementary Algebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22236314/files/00-elementary-algebra-2e-bahasa-indonesia-EA2-C0082-reader.pdf?download=1",
            "label": "Buku teks lengkap — 1627 halaman",
            "label_language": "id",
            "primary": true,
            "offline_after_download": true,
            "bytes": 74917277,
            "sha256": "e4bc958edeb60a41604862dd0b67692bbfbcbb85b5de906c92af1f6c93bda505",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/openstax-elementary-algebra-2e-original-en/",
            "label": "Program-hosted complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-elementary-algebra-2e-original-en/releases/download/v1.0.0/openstax-elementary-algebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 86119672,
            "sha256": "83697cc22a9902792df6db89613044941a6669d4c4bff0c270aa1729dc2b1ef0",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/A10.html",
            "label": "A10 · Modul, latihan dan cakupan solusi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 8645978,
            "sha256": "ec2a141824bccf5396724c717aa9f3780e75ed21c7af1018c02a469c8bc9dd8e",
            "source_body_bytes": 8643511,
            "source_body_sha256": "5d8f62fcc545a94e0ea0f765b835cce0a38b1ad8309e6fa457c5e70df68641a6",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22236314/files/elementary-algebra-2e-id-ID-1.0.3-source.zip?download=1",
            "label": "Sumber edisi lengkap Elementary Algebra 2e",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "77a6ecfa22c4a5b58b0b7f72e5ec9db11ac4656bc7fc9c4944a4a7916a2472f3",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22236314/files/elementary-algebra-2e-id-ID-1.0.3-backend-core.zip?download=1",
            "label": "Backend modular edisi lengkap Elementary Algebra 2e",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "6dc5ddafb3178d82308819ced69f724919dcb388168c5c63ec39db9e99777b13",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22236314",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-elementary-algebra-2e-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "A10",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-A10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/openstax-elementary-algebra-2e-original-en/",
              "label": "Program-hosted complete English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/details/books/elementary-algebra-2e",
              "label": "Original publisher page — OpenStax Elementary Algebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-elementary-algebra-2e-original-en/releases/download/v1.0.0/openstax-elementary-algebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 86119672,
            "sha256": "83697cc22a9902792df6db89613044941a6669d4c4bff0c270aa1729dc2b1ef0",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "mirrors",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/A10/reader/index.html",
            "label": "Bahasa Indonesia — Read Elementary Algebra — all 82 modules",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 14915394,
            "sha256": "abf177dfe58d21878dc754801502ea68cce2b87cbd73d24e90e99babfff3d8b7",
            "source_body_bytes": 14913255,
            "source_body_sha256": "8d125695e57897c2364a0508ab7b169ef96f7e0e6b7c697190418436a63ffc54",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22236314/files/00-elementary-algebra-2e-bahasa-indonesia-EA2-C0082-reader.pdf?download=1",
            "label": "Bahasa Indonesia — Complete textbook — 1627 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 74917277,
            "sha256": "e4bc958edeb60a41604862dd0b67692bbfbcbb85b5de906c92af1f6c93bda505",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a10/A10.html",
            "label": "A10 · Modul, latihan dan cakupan solusi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 8645978,
            "sha256": "ec2a141824bccf5396724c717aa9f3780e75ed21c7af1018c02a469c8bc9dd8e",
            "source_body_bytes": 8643511,
            "source_body_sha256": "5d8f62fcc545a94e0ea0f765b835cce0a38b1ad8309e6fa457c5e70df68641a6",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22236314/files/elementary-algebra-2e-id-ID-1.0.3-source.zip?download=1",
            "label": "Sumber edisi lengkap Elementary Algebra 2e",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "77a6ecfa22c4a5b58b0b7f72e5ec9db11ac4656bc7fc9c4944a4a7916a2472f3",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22236314/files/elementary-algebra-2e-id-ID-1.0.3-backend-core.zip?download=1",
            "label": "Backend modular edisi lengkap Elementary Algebra 2e",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "6dc5ddafb3178d82308819ced69f724919dcb388168c5c63ec39db9e99777b13",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22236314",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-elementary-algebra-2e-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "A20": {
      "id": {
        "course_id": "A20",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-A20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22229860/files/openstax-intermediate-algebra-2e-id-ID-1.0.0-reader.pdf?download=1",
              "label": "Buku teks lengkap — 3438 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 412049461,
              "sha256": "76276eeab590cd8181fd531378c4b4860bf30289a5e8093c9af5788d1eca3a9c",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/books/intermediate-algebra-2e/pages/1-introduction",
              "label": "Original publisher reader — OpenStax Intermediate Algebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/openstax-intermediate-algebra-2e-original-en/",
            "label": "Program-hosted complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-intermediate-algebra-2e-original-en/releases/download/v1.0.0/openstax-intermediate-algebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 90279762,
            "sha256": "6348f5085bf7e6b7dc01dd62704019b56f2cbf6202849951875aa5398fc20e11",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/A20.html",
            "label": "A20 · Aljabar Menengah",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36639,
            "sha256": "e874eba1b347cffc8468a153cdc1bcdd8a80414045affddb47000897befce330",
            "source_body_bytes": 34292,
            "source_body_sha256": "3f8ec3ecae8d230e38dc2d812d64bfda06ba632e8833863864e272756a11f155",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22229860",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-intermediate-algebra-2e-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "A20",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-A20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/openstax-intermediate-algebra-2e-original-en/",
              "label": "Program-hosted complete English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/books/intermediate-algebra-2e/pages/1-introduction",
              "label": "Original publisher reader — OpenStax Intermediate Algebra 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/openstax-intermediate-algebra-2e-original-en/releases/download/v1.0.0/openstax-intermediate-algebra-2e-original-en-html-v1.0.0.zip",
            "label": "Complete English HTML reader — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 90279762,
            "sha256": "6348f5085bf7e6b7dc01dd62704019b56f2cbf6202849951875aa5398fc20e11",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22229860/files/openstax-intermediate-algebra-2e-id-ID-1.0.0-reader.pdf?download=1",
            "label": "Bahasa Indonesia — Complete textbook — 3438 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 412049461,
            "sha256": "76276eeab590cd8181fd531378c4b4860bf30289a5e8093c9af5788d1eca3a9c",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a20/A20.html",
            "label": "A20 · Aljabar Menengah",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36639,
            "sha256": "e874eba1b347cffc8468a153cdc1bcdd8a80414045affddb47000897befce330",
            "source_body_bytes": 34292,
            "source_body_sha256": "3f8ec3ecae8d230e38dc2d812d64bfda06ba632e8833863864e272756a11f155",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22229860",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-intermediate-algebra-2e-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "A30": {
      "id": {
        "course_id": "A30",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-A30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22290180/files/OpenStax-Precalculus-2e-id-ID-1.0.0-reader.pdf?download=1",
              "label": "Buku teks lengkap — 3165 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 305654938,
              "sha256": "3cfd5294b91252cc766992f158b6601e80aa31b719b0b8bf69e1ff6d08a4fa3e",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/books/precalculus-2e/pages/1-introduction-to-functions",
              "label": "Original publisher reader — OpenStax Precalculus 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/A30/reader/",
            "label": "Program-hosted complete English HTML reader — 87 modules",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 13913,
            "sha256": "fb4f78d21e683d995abdfbeffd62870cd50485b33a5bcb2e065e7c348ab83a93",
            "source_body_bytes": 11732,
            "source_body_sha256": "f318c20ea882e5715fabee0eee8997bdda50f803861a0dc9db19a1b8cfd33520",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.28/A30-Precalculus-2e-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 107409313,
            "sha256": "ad4c91eb6af25d38ef835df9ffd0654346558ea75dff71e6299015f96de0d11f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/A30.html",
            "label": "A30 · Prakalkulus dan Trigonometri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 35698,
            "sha256": "3838bae8a3f689ec0a92effb42bf2b1e3dca47570e512f0ee5ac548f4b28b04f",
            "source_body_bytes": 33361,
            "source_body_sha256": "3156f2091f97e1694a0d7da77f247b38b482f3323afcb70de74fe6ebc8f86508",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22290180",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-precalculus-2e-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "A30",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-A30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/A30/reader/",
              "label": "Program-hosted complete English HTML reader — 87 modules",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 13913,
              "sha256": "fb4f78d21e683d995abdfbeffd62870cd50485b33a5bcb2e065e7c348ab83a93",
              "source_body_bytes": 11732,
              "source_body_sha256": "f318c20ea882e5715fabee0eee8997bdda50f803861a0dc9db19a1b8cfd33520",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://openstax.org/books/precalculus-2e/pages/1-introduction-to-functions",
              "label": "Original publisher reader — OpenStax Precalculus 2e",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.28/A30-Precalculus-2e-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 107409313,
            "sha256": "ad4c91eb6af25d38ef835df9ffd0654346558ea75dff71e6299015f96de0d11f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22290180/files/OpenStax-Precalculus-2e-id-ID-1.0.0-reader.pdf?download=1",
            "label": "Bahasa Indonesia — Complete textbook — 3165 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 305654938,
            "sha256": "3cfd5294b91252cc766992f158b6601e80aa31b719b0b8bf69e1ff6d08a4fa3e",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/a30/A30.html",
            "label": "A30 · Prakalkulus dan Trigonometri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 35698,
            "sha256": "3838bae8a3f689ec0a92effb42bf2b1e3dca47570e512f0ee5ac548f4b28b04f",
            "source_body_bytes": 33361,
            "source_body_sha256": "3156f2091f97e1694a0d7da77f247b38b482f3323afcb70de74fe6ebc8f86508",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22290180",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/openstax-precalculus-2e-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B10": {
      "id": {
        "course_id": "B10",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/discrete-mathematics-open-introduction-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22060439/files/00_MATEMATIKA_DISKRET_EDISI_KEEMPAT_BAHASA_INDONESIA_READER.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://discrete.openmathbooks.org/dmoi4/",
              "label": "Original author’s reader — Discrete Mathematics: An Open Introduction, 4th edition",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B10/reader/",
            "label": "Program-hosted original English reader — 7 chapters, 768 exercises",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4046,
            "sha256": "fc6d0ec28a9b1de2dc6a4ae71938ae051d584276cc54c42de994784e2b814ed2",
            "source_body_bytes": 1867,
            "source_body_sha256": "2f8e77004d3cacf137846d34a4dd742572c5cc2567a45c99c2cff80d6d6fd06a",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.29/B10-Discrete-Mathematics-original-English-reader-source-v2.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 78033276,
            "sha256": "cd3b29543cf9bec2d621105398b227e9146a301948b979b7003d504d2594b3e2",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/B10.html",
            "label": "B10 · Pilihan latihan dan rencana belajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 20518,
            "sha256": "d9f3ec644a2eaa64e5b9332cf9cbb6ffc80ce3fb248427ba4c2b637b5e777da8",
            "source_body_bytes": 18025,
            "source_body_sha256": "e25db756b02f1e5d6c10e0a2e46600639b49936f335283c939d4e7569e0cee46",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22060439/files/MATEMATIKA_DISKRET_EDISI_KEEMPAT_ID_HTML.zip?download=1",
            "label": "Paket HTML lengkap — ZIP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 7309181,
            "sha256": "58f73b309e6421dcc687638fe9ae0727de2dd311a022bb0e593bc31070d5f360",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22060439",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/discrete-mathematics-open-introduction-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B10",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B10/reader/",
              "label": "Program-hosted original English reader — 7 chapters, 768 exercises",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 4046,
              "sha256": "fc6d0ec28a9b1de2dc6a4ae71938ae051d584276cc54c42de994784e2b814ed2",
              "source_body_bytes": 1867,
              "source_body_sha256": "2f8e77004d3cacf137846d34a4dd742572c5cc2567a45c99c2cff80d6d6fd06a",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://discrete.openmathbooks.org/dmoi4/",
              "label": "Original author’s reader — Discrete Mathematics: An Open Introduction, 4th edition",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.29/B10-Discrete-Mathematics-original-English-reader-source-v2.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 78033276,
            "sha256": "cd3b29543cf9bec2d621105398b227e9146a301948b979b7003d504d2594b3e2",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/discrete-mathematics-open-introduction-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22060439/files/00_MATEMATIKA_DISKRET_EDISI_KEEMPAT_BAHASA_INDONESIA_READER.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b10/B10.html",
            "label": "B10 · Pilihan latihan dan rencana belajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 20518,
            "sha256": "d9f3ec644a2eaa64e5b9332cf9cbb6ffc80ce3fb248427ba4c2b637b5e777da8",
            "source_body_bytes": 18025,
            "source_body_sha256": "e25db756b02f1e5d6c10e0a2e46600639b49936f335283c939d4e7569e0cee46",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22060439/files/MATEMATIKA_DISKRET_EDISI_KEEMPAT_ID_HTML.zip?download=1",
            "label": "Bahasa Indonesia — Complete HTML download — ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 7309181,
            "sha256": "58f73b309e6421dcc687638fe9ae0727de2dd311a022bb0e593bc31070d5f360",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22060439",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/discrete-mathematics-open-introduction-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B20": {
      "id": {
        "course_id": "B20",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22183943/files/00_CLP1_KALKULUS_DIFERENSIAL_BAHASA_INDONESIA_2026.08.14.1_BUKU_TEKS.pdf?download=1",
              "label": "Buku teks — 442 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 4997608,
              "sha256": "e0466ca75b793aed64e2c356014233d9e85072b077a3b2d3344926835c408ec2",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP1/",
              "label": "Original authors’ website — CLP-1 textbook, problems and PDFs",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B20/reader/",
            "label": "Program-hosted original English reader — CLP-1 textbook and 695 exercises with solutions",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4044,
            "sha256": "6f8f25edaaec938043ff6c2375e87c0308176cd9c029d1d0ef83f6befea29b43",
            "source_body_bytes": 1911,
            "source_body_sha256": "58a715d47337d03ba634e3483b1b540c45da8ca6359c398480bad8b77dae59b7",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.30/B20-CLP1-Differential-Calculus-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 55481369,
            "sha256": "4143b04601cdef9aed0f752081ca8193ebe05e457014536b27edbcd6a06c805c",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22183943/files/01_CLP1_KALKULUS_DIFERENSIAL_BAHASA_INDONESIA_2026.08.14.1_SOAL_DAN_PENYELESAIAN.pdf?download=1",
            "label": "Buku soal dan penyelesaian — 646 halaman",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3263082,
            "sha256": "911b2a0e3a9de6eccb9dd93042fa697e8f02e4bb1ecdacec86ade68744245021",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B20.html",
            "label": "B20 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6965,
            "sha256": "738e4948b0939dde457c5bc1e657116688f104f7007d7ebb6408d46eee64e085",
            "source_body_bytes": 4694,
            "source_body_sha256": "d95264f616dd542097cf3f5f497afffd2aa948976f48441a5ce1315c33ac908d",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22183943/files/09_CLP1_KALKULUS_DIFERENSIAL_2026.08.31_BACKEND_RIGHTS_REPAIR.zip?download=1",
            "label": "Backend modular CLP1 — arsip rights-repair",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "813fc553f52e0d6d4463c1ee8732a921f51180734acca8d3c2822c573999360f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22183943",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/clp1-differential-calculus-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B20",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B20/reader/",
              "label": "Program-hosted original English reader — CLP-1 textbook and 695 exercises with solutions",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 4044,
              "sha256": "6f8f25edaaec938043ff6c2375e87c0308176cd9c029d1d0ef83f6befea29b43",
              "source_body_bytes": 1911,
              "source_body_sha256": "58a715d47337d03ba634e3483b1b540c45da8ca6359c398480bad8b77dae59b7",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP1/",
              "label": "Original authors’ website — CLP-1 textbook, problems and PDFs",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.30/B20-CLP1-Differential-Calculus-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 55481369,
            "sha256": "4143b04601cdef9aed0f752081ca8193ebe05e457014536b27edbcd6a06c805c",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22183943/files/00_CLP1_KALKULUS_DIFERENSIAL_BAHASA_INDONESIA_2026.08.14.1_BUKU_TEKS.pdf?download=1",
            "label": "Bahasa Indonesia — Textbook — 442 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 4997608,
            "sha256": "e0466ca75b793aed64e2c356014233d9e85072b077a3b2d3344926835c408ec2",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22183943/files/01_CLP1_KALKULUS_DIFERENSIAL_BAHASA_INDONESIA_2026.08.14.1_SOAL_DAN_PENYELESAIAN.pdf?download=1",
            "label": "Bahasa Indonesia — Problems and solutions — 646 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3263082,
            "sha256": "911b2a0e3a9de6eccb9dd93042fa697e8f02e4bb1ecdacec86ade68744245021",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B20.html",
            "label": "B20 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6965,
            "sha256": "738e4948b0939dde457c5bc1e657116688f104f7007d7ebb6408d46eee64e085",
            "source_body_bytes": 4694,
            "source_body_sha256": "d95264f616dd542097cf3f5f497afffd2aa948976f48441a5ce1315c33ac908d",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22183943/files/09_CLP1_KALKULUS_DIFERENSIAL_2026.08.31_BACKEND_RIGHTS_REPAIR.zip?download=1",
            "label": "Backend modular CLP1 — arsip rights-repair",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "813fc553f52e0d6d4463c1ee8732a921f51180734acca8d3c2822c573999360f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22183943",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/clp1-differential-calculus-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B30": {
      "id": {
        "course_id": "B30",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22182941/files/CLP-2_Kalkulus_Integral_Bahasa_Indonesia_edisi_lengkap_2026-08-30.pdf?download=1",
              "label": "Buku gabungan teks dan soal — 1243 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 7793932,
              "sha256": "2306d4bf92748ab99b8a0d57de77846fa196bfbf84f4666f3ecd8edd711d3aab",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP2/",
              "label": "Original authors’ website — CLP-2 textbook, problems and PDFs",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B30/reader/",
            "label": "Program-hosted original English reader — CLP-2 textbook and 737 exercises with solutions",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4047,
            "sha256": "6332152eccb3b07ae2d4dee6c0d387bc67bccfd134f0e9984f059982f2fdc37c",
            "source_body_bytes": 1914,
            "source_body_sha256": "f43511e398d2a94974bb8339d9014002e3c63a195c559a1bd0b7f7b576045019",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.31/B30-CLP2-Integral-Calculus-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 49073711,
            "sha256": "f5a1b8d6f1d14b66594585d4f04d1938eeb9258be9acd4687cbd176eece4b6ca",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B30.html",
            "label": "B30 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6138,
            "sha256": "a7afdd3e1f5d22431a727c23f2d12d80fa6cf86fa509681bd1bc10bb2c14bc4d",
            "source_body_bytes": 3867,
            "source_body_sha256": "34f9d0fe8f9b1a9d891b03ad153374d4b1e7870e1ce042d7801fab7af2b7e220",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182941",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B30",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/B30/reader/",
              "label": "Program-hosted original English reader — CLP-2 textbook and 737 exercises with solutions",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 4047,
              "sha256": "6332152eccb3b07ae2d4dee6c0d387bc67bccfd134f0e9984f059982f2fdc37c",
              "source_body_bytes": 1914,
              "source_body_sha256": "f43511e398d2a94974bb8339d9014002e3c63a195c559a1bd0b7f7b576045019",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP2/",
              "label": "Original authors’ website — CLP-2 textbook, problems and PDFs",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-mirror",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/program-matematika-indonesia/releases/download/v0.63.31/B30-CLP2-Integral-Calculus-original-English-reader-source-v1.zip",
            "label": "Complete English reader and original source — offline ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 49073711,
            "sha256": "f5a1b8d6f1d14b66594585d4f04d1938eeb9258be9acd4687cbd176eece4b6ca",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22182941/files/CLP-2_Kalkulus_Integral_Bahasa_Indonesia_edisi_lengkap_2026-08-30.pdf?download=1",
            "label": "Bahasa Indonesia — Combined textbook and problems — 1243 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 7793932,
            "sha256": "2306d4bf92748ab99b8a0d57de77846fa196bfbf84f4666f3ecd8edd711d3aab",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B30.html",
            "label": "B30 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6138,
            "sha256": "a7afdd3e1f5d22431a727c23f2d12d80fa6cf86fa509681bd1bc10bb2c14bc4d",
            "source_body_bytes": 3867,
            "source_body_sha256": "34f9d0fe8f9b1a9d891b03ad153374d4b1e7870e1ce042d7801fab7af2b7e220",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182941",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B40": {
      "id": {
        "course_id": "B40",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B40",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/hefferon-linear-algebra-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22070458/files/01_HEFFERON_LINEAR_ALGEBRA_ID_TEXTBOOK_2026.08.22.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://hefferon.net/linearalgebra/",
              "label": "Hefferon: Linear Algebra, answers, and Sage lab",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/B40.html",
            "label": "B40 · Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 38386,
            "sha256": "bb7a2c70ba3fda2b322c23f81b38fa8446407fb44441c884ee3d2899033166df",
            "source_body_bytes": 36141,
            "source_body_sha256": "ccc406c42b58de75ffba1ff15166abedf4035725aadf89f2b756ff44c3330336",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22070458/files/02_HEFFERON_LINEAR_ALGEBRA_ID_WORKED_ANSWERS_2026.08.22.pdf?download=1",
            "label": "Jawaban Bekerja Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "61f8a344cade529249d4f165bb62bce17579b6a4408b11634999e9f73ec9c01b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22070458/files/03_HEFFERON_LINEAR_ALGEBRA_ID_SAGE_LAB_2026.08.22.pdf?download=1",
            "label": "Laboratorium Sage Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "adb78966020355a90442c7ae68c734f1fd6b44b5d935a3f75e531ea666eeee4a",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070458",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/hefferon-linear-algebra-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B40",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B40",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://hefferon.net/linearalgebra/",
              "label": "Hefferon: Linear Algebra, answers, and Sage lab",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/hefferon-linear-algebra-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22070458/files/01_HEFFERON_LINEAR_ALGEBRA_ID_TEXTBOOK_2026.08.22.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b40/B40.html",
            "label": "B40 · Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 38386,
            "sha256": "bb7a2c70ba3fda2b322c23f81b38fa8446407fb44441c884ee3d2899033166df",
            "source_body_bytes": 36141,
            "source_body_sha256": "ccc406c42b58de75ffba1ff15166abedf4035725aadf89f2b756ff44c3330336",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22070458/files/02_HEFFERON_LINEAR_ALGEBRA_ID_WORKED_ANSWERS_2026.08.22.pdf?download=1",
            "label": "Jawaban Bekerja Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "61f8a344cade529249d4f165bb62bce17579b6a4408b11634999e9f73ec9c01b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22070458/files/03_HEFFERON_LINEAR_ALGEBRA_ID_SAGE_LAB_2026.08.22.pdf?download=1",
            "label": "Laboratorium Sage Aljabar Linear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "adb78966020355a90442c7ae68c734f1fd6b44b5d935a3f75e531ea666eeee4a",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070458",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/hefferon-linear-algebra-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B50": {
      "id": {
        "course_id": "B50",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B50",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22184443/files/CLP-3-Kalkulus-Multivariabel-Bahasa-Indonesia.pdf?download=1",
              "label": "Buku teks — 410 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 6136187,
              "sha256": "0ce02a3d3fada175c97a8af4ecc6c5b3c4b5d04479bc4f0a9a3e605f2b71fe4d",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP3/clp_3_mc/index.html",
              "label": "CLP-3: textbook and problems",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Latihan-Kalkulus-Multivariabel-Bahasa-Indonesia.pdf?download=1",
            "label": "Buku soal dan penyelesaian — 534 halaman",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 5750878,
            "sha256": "ad1d184825fd7ac58933512b62a60997ddcfb2beae87dde5ec679503f31dae2d",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B50.html",
            "label": "B50 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6813,
            "sha256": "7dec68c7933c47151f84f98c515a55d25bfb205d0804c66e31ded5661959ab0b",
            "source_body_bytes": 4578,
            "source_body_sha256": "7490b785052f8ae92bc92cf9baa2b13802ee0323dce13b78a197103d99faa048",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Kalkulus-Multivariabel-Bahasa-Indonesia-sumber-backend.zip?download=1",
            "label": "Sumber dan backend CLP3 — arsip reproduksibilitas",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "156ffc793249a68e1fbc078ec965d507cdee73150c7a71f4b638d612e40c7d29",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22184443",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B50",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B50",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP3/clp_3_mc/index.html",
              "label": "CLP-3: textbook and problems",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Kalkulus-Multivariabel-Bahasa-Indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Textbook — 410 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 6136187,
            "sha256": "0ce02a3d3fada175c97a8af4ecc6c5b3c4b5d04479bc4f0a9a3e605f2b71fe4d",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Latihan-Kalkulus-Multivariabel-Bahasa-Indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Problems and solutions — 534 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 5750878,
            "sha256": "ad1d184825fd7ac58933512b62a60997ddcfb2beae87dde5ec679503f31dae2d",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B50.html",
            "label": "B50 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6813,
            "sha256": "7dec68c7933c47151f84f98c515a55d25bfb205d0804c66e31ded5661959ab0b",
            "source_body_bytes": 4578,
            "source_body_sha256": "7490b785052f8ae92bc92cf9baa2b13802ee0323dce13b78a197103d99faa048",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22184443/files/CLP-3-Kalkulus-Multivariabel-Bahasa-Indonesia-sumber-backend.zip?download=1",
            "label": "Sumber dan backend CLP3 — arsip reproduksibilitas",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "156ffc793249a68e1fbc078ec965d507cdee73150c7a71f4b638d612e40c7d29",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22184443",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B60": {
      "id": {
        "course_id": "B60",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B60",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22105443/files/CLP-4-Kalkulus-Vektor-Bahasa-Indonesia.pdf?download=1",
              "label": "Buku teks — 316 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 3758521,
              "sha256": "5ecf6047b63afd4a456cc230f69016aea59d80cd0bd2be73ce24b0000df98b87",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP4/clp_4_vc/index.html",
              "label": "CLP-4: textbook and problems",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22105443/files/CLP-4-Latihan-Kalkulus-Vektor-Bahasa-Indonesia.pdf?download=1",
            "label": "Buku soal dan penyelesaian — 486 halaman",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3939483,
            "sha256": "a6253809eaa4a465d5efcc4372b1321ad828aa4964ec45042aab9130a358835b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B60.html",
            "label": "B60 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6764,
            "sha256": "1ef45d13b9d822d1961e766c75f054e380ba78e01f15dd4e0dca70bcce88e807",
            "source_body_bytes": 4529,
            "source_body_sha256": "f1c4fc1036cf1796eb9746572fc15c50ceab4788c9da8a94a370d9e9a6ef42f9",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22105443",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/clp4-vector-calculus-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B60",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B60",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://personal.math.ubc.ca/~CLP/CLP4/clp_4_vc/index.html",
              "label": "CLP-4: textbook and problems",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22105443/files/CLP-4-Kalkulus-Vektor-Bahasa-Indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Textbook — 316 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3758521,
            "sha256": "5ecf6047b63afd4a456cc230f69016aea59d80cd0bd2be73ce24b0000df98b87",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22105443/files/CLP-4-Latihan-Kalkulus-Vektor-Bahasa-Indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Problems and solutions — 486 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3939483,
            "sha256": "a6253809eaa4a465d5efcc4372b1321ad828aa4964ec45042aab9130a358835b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/clp/B60.html",
            "label": "B60 · Rute baca keluarga CLP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6764,
            "sha256": "1ef45d13b9d822d1961e766c75f054e380ba78e01f15dd4e0dca70bcce88e807",
            "source_body_bytes": 4529,
            "source_body_sha256": "f1c4fc1036cf1796eb9746572fc15c50ceab4788c9da8a94a370d9e9a6ef42f9",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22105443",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/clp4-vector-calculus-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B70": {
      "id": {
        "course_id": "B70",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B70",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22182427/files/Catatan_tentang_Diffy_Qs_Bahasa_Indonesia_v6.11.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/diffyqs/html/diffyqs.html",
              "label": "Notes on Diffy Qs",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/B70-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1849410,
            "sha256": "83c775ef95468b61a810cfad7cdfeb7300d45c5b58b5f1a47bafadd073412e8c",
            "source_body_bytes": 1847219,
            "source_body_sha256": "e02e90f6f8785254d89e33e903277352f02088ee282f53f098b4dd19d2bca100",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/B70.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1715895,
            "sha256": "4ee01d361bda230d71ae953fbcdff17b309ddd024c627cde0db8650f3578b7e5",
            "source_body_bytes": 1713526,
            "source_body_sha256": "f0568d827266451d2eb4bc5b70f7705b2686e9319f6e8591d916c8b8a92850a3",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B70",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B70",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/diffyqs/html/diffyqs.html",
              "label": "Notes on Diffy Qs",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22182427/files/Catatan_tentang_Diffy_Qs_Bahasa_Indonesia_v6.11.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/B70-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1849410,
            "sha256": "83c775ef95468b61a810cfad7cdfeb7300d45c5b58b5f1a47bafadd073412e8c",
            "source_body_bytes": 1847219,
            "source_body_sha256": "e02e90f6f8785254d89e33e903277352f02088ee282f53f098b4dd19d2bca100",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/B70.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1715895,
            "sha256": "4ee01d361bda230d71ae953fbcdff17b309ddd024c627cde0db8650f3578b7e5",
            "source_body_bytes": 1713526,
            "source_body_sha256": "f0568d827266451d2eb4bc5b70f7705b2686e9319f6e8591d916c8b8a92850a3",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B80": {
      "id": {
        "course_id": "B80",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B80",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "original-work",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "original-work",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22053905/files/Komputasi-Matematis-dan-Eksperimen-yang-Dapat-Direproduksi.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "program-authority",
              "relation_to_source": "source",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-id/",
              "label": "Komputasi Matematis dan Eksperimen Reprodusibel",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/",
            "label": "Mathematical Computing — complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 40293,
            "sha256": "2949e3e489008999193f6c396e78a79771e98a1cee3b3c7232abbd076f21dff8",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/Mathematical-Computing-and-Reproducible-Experiments.pdf",
            "label": "Mathematical Computing — English PDF — 161 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 774069,
            "sha256": "12aedcef4d00df81f4d269ac14eb7fc545fbfc057572b6942f15303506e604b2",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22210474",
            "label": "Complete English computing edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80/B80-pengajar.html",
            "label": "Panduan kegiatan untuk pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 23765,
            "sha256": "fe737cd2e62373c1b660f576b224e3209802c7d21ae47cec5b7007bcc10561c5",
            "source_body_bytes": 21444,
            "source_body_sha256": "5b5177695c9acc11adb10150bc05a33e0f30499070ea77de0c6d67ae5f8fd9dd",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80/B80.html",
            "label": "Unit, latihan, dan pemeriksaan",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 71396,
            "sha256": "7c1eb344f64272742d28757080bb773b8d81d6fe748e3bf8f9ec6f5e7c69a69c",
            "source_body_bytes": 69057,
            "source_body_sha256": "80a88a064c58c1e8aeb75cd7f4d0f2ae870cf63072cb6142dcca60588a15f9ea",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80-en/B80.html",
            "label": "B80 · English learner and exercise map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 62873,
            "sha256": "5afcc2099b420dde81ba4e0350bd2e8405d4730299253418d1f56f2d4378daa9",
            "source_body_bytes": 60526,
            "source_body_sha256": "c1b5bc2d05e40a12c0592114d018570cab47a2f75a836052e4d4c446e60606c5",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80-en/B80-educator.html",
            "label": "B80 · English educator map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 27604,
            "sha256": "f2a898fa3a01b2a1ab57ba6ad98db2de3043d3ae1990529bf290c200e3b672da",
            "source_body_bytes": 25275,
            "source_body_sha256": "7581ce1eeebb4072e41c1b8db27a24ad380d2677f0b7fbcb500e9a8894ed3242",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22053905",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematical-computing-reproducible-experiments-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B80",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B80",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/",
              "label": "Mathematical Computing — complete English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 40293,
              "sha256": "2949e3e489008999193f6c396e78a79771e98a1cee3b3c7232abbd076f21dff8",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/Mathematical-Computing-and-Reproducible-Experiments.pdf",
              "label": "Mathematical Computing — English PDF — 161 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 774069,
              "sha256": "12aedcef4d00df81f4d269ac14eb7fc545fbfc057572b6942f15303506e604b2",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "program-authority",
              "relation_to_source": "source",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-id/",
              "label": "Komputasi Matematis dan Eksperimen Reprodusibel",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22210474",
            "label": "Complete English computing edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "original-work",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22053905/files/Komputasi-Matematis-dan-Eksperimen-yang-Dapat-Direproduksi.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80/B80-pengajar.html",
            "label": "Panduan kegiatan untuk pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 23765,
            "sha256": "fe737cd2e62373c1b660f576b224e3209802c7d21ae47cec5b7007bcc10561c5",
            "source_body_bytes": 21444,
            "source_body_sha256": "5b5177695c9acc11adb10150bc05a33e0f30499070ea77de0c6d67ae5f8fd9dd",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80/B80.html",
            "label": "Unit, latihan, dan pemeriksaan",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 71396,
            "sha256": "7c1eb344f64272742d28757080bb773b8d81d6fe748e3bf8f9ec6f5e7c69a69c",
            "source_body_bytes": 69057,
            "source_body_sha256": "80a88a064c58c1e8aeb75cd7f4d0f2ae870cf63072cb6142dcca60588a15f9ea",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80-en/B80.html",
            "label": "B80 · English learner and exercise map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 62873,
            "sha256": "5afcc2099b420dde81ba4e0350bd2e8405d4730299253418d1f56f2d4378daa9",
            "source_body_bytes": 60526,
            "source_body_sha256": "c1b5bc2d05e40a12c0592114d018570cab47a2f75a836052e4d4c446e60606c5",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b80-en/B80-educator.html",
            "label": "B80 · English educator map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 27604,
            "sha256": "f2a898fa3a01b2a1ab57ba6ad98db2de3043d3ae1990529bf290c200e3b672da",
            "source_body_bytes": 25275,
            "source_body_sha256": "7581ce1eeebb4072e41c1b8db27a24ad380d2677f0b7fbcb500e9a8894ed3242",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22053905",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematical-computing-reproducible-experiments-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B90": {
      "id": {
        "course_id": "B90",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B90",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/introduction-to-probability-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22062144/files/PENGANTAR_PELUANG_GRINSTEAD_SNELL_ID.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://math.dartmouth.edu/~prob/prob/prob.pdf",
              "label": "Grinstead–Snell: Introduction to Probability",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/B90.html",
            "label": "B90 · Probabilitas Berbasis Kalkulus",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 125243,
            "sha256": "a3cdb2c5b2b8c10cba20860e526458ab3f44b00b90f6138c9667a06c1fdd188b",
            "source_body_bytes": 122978,
            "source_body_sha256": "2a6e1f55ea03ca4b39fa77492f180bdd62734f8c890e68c6cdb9afa378079208",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062144",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/introduction-to-probability-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "B90",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B90",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://math.dartmouth.edu/~prob/prob/prob.pdf",
              "label": "Grinstead–Snell: Introduction to Probability",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/introduction-to-probability-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22062144/files/PENGANTAR_PELUANG_GRINSTEAD_SNELL_ID.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b90/B90.html",
            "label": "B90 · Probabilitas Berbasis Kalkulus",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 125243,
            "sha256": "a3cdb2c5b2b8c10cba20860e526458ab3f44b00b90f6138c9667a06c1fdd188b",
            "source_body_bytes": 122978,
            "source_body_sha256": "2a6e1f55ea03ca4b39fa77492f180bdd62734f8c890e68c6cdb9afa378079208",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062144",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/introduction-to-probability-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "B95": {
      "id": {
        "course_id": "B95",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-B95",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22261912/files/00_STATISTIKA_BERBASIS_DATA_ID_R011-B039_WORKING_READER.pdf?download=1",
              "label": "Buku teks lengkap — 462 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 57049904,
              "sha256": "7ef1ed4390cd846cc636345d34a1ba3765f8afc32eb9446fd60c7862b7fde049",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.openintro.org/book/os/",
              "label": "OpenIntro Statistics, 4th edition",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/B95.html",
            "label": "B95 · Statistika Terapan dan Analisis Data",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 35268,
            "sha256": "0c4cf3969d4809f181a54a1bf2c586de309ee36a8929b52666fa42807e2a9a8a",
            "source_body_bytes": 33053,
            "source_body_sha256": "8205713dffdd42846426b681499fbb991a8beba4157cf9eedbac3e338f80ce22",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22261912",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/statistika-berbasis-data-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-navigation",
            "relation_to_source": "navigates-to",
            "content_language": "id",
            "media_type": "gateway",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/B95/",
            "label": "Gerbang HTML mata kuliah — rute pusat",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6046,
            "sha256": "be44a7998dc9759e3585061d28d7edf4a1d9f3d31c6d97c2cbe4d29bcf120166",
            "source_body_bytes": 4001,
            "source_body_sha256": "18983c0a8152176d4378d8b3d059dea6c7ee10aa1a04c813b62f5d3c69f1c262",
            "hosted_navigation_overlay": "v1"
          }
        ]
      },
      "en": {
        "course_id": "B95",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-B95",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.openintro.org/book/os/",
              "label": "OpenIntro Statistics, 4th edition",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22261912/files/00_STATISTIKA_BERBASIS_DATA_ID_R011-B039_WORKING_READER.pdf?download=1",
            "label": "Bahasa Indonesia — Complete textbook — 462 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 57049904,
            "sha256": "7ef1ed4390cd846cc636345d34a1ba3765f8afc32eb9446fd60c7862b7fde049",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/b95/B95.html",
            "label": "B95 · Statistika Terapan dan Analisis Data",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 35268,
            "sha256": "0c4cf3969d4809f181a54a1bf2c586de309ee36a8929b52666fa42807e2a9a8a",
            "source_body_bytes": 33053,
            "source_body_sha256": "8205713dffdd42846426b681499fbb991a8beba4157cf9eedbac3e338f80ce22",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22261912",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/statistika-berbasis-data-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-navigation",
            "relation_to_source": "navigates-to",
            "content_language": "id",
            "media_type": "gateway",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/B95/",
            "label": "Course HTML gateway — central route",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6046,
            "sha256": "be44a7998dc9759e3585061d28d7edf4a1d9f3d31c6d97c2cbe4d29bcf120166",
            "source_body_bytes": 4001,
            "source_body_sha256": "18983c0a8152176d4378d8b3d059dea6c7ee10aa1a04c813b62f5d3c69f1c262",
            "hosted_navigation_overlay": "v1"
          }
        ]
      }
    },
    "C10": {
      "id": {
        "course_id": "C10",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22182427/files/Analisis_Dasar_I_Bahasa_Indonesia_v6.3.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/ra/html/rn_chapter.html",
              "label": "Basic Analysis I",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C10-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1233613,
            "sha256": "fafcd2bffb5e57b62a2b1d2655885c9ddd3db7d8300b43a3e2be769110834ace",
            "source_body_bytes": 1231428,
            "source_body_sha256": "d715d6b4c14ac9896a248a392ae300ba6d0e1fc9672a6eb0965975f3d2f6b872",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C10.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1135743,
            "sha256": "d9647f84c2a241234ea9270498bc8720d5354f879a7b3d91d1250df0edbb3a5c",
            "source_body_bytes": 1133380,
            "source_body_sha256": "d43f754c3647ab6287291a9c731396219d43db07aab9122e6261b63bf0092d02",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C10",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C10",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/ra/html/rn_chapter.html",
              "label": "Basic Analysis I",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22182427/files/Analisis_Dasar_I_Bahasa_Indonesia_v6.3.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C10-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1233613,
            "sha256": "fafcd2bffb5e57b62a2b1d2655885c9ddd3db7d8300b43a3e2be769110834ace",
            "source_body_bytes": 1231428,
            "source_body_sha256": "d715d6b4c14ac9896a248a392ae300ba6d0e1fc9672a6eb0965975f3d2f6b872",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C10.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1135743,
            "sha256": "d9647f84c2a241234ea9270498bc8720d5354f879a7b3d91d1250df0edbb3a5c",
            "source_body_bytes": 1133380,
            "source_body_sha256": "d43f754c3647ab6287291a9c731396219d43db07aab9122e6261b63bf0092d02",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C20": {
      "id": {
        "course_id": "C20",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22182427/files/Analisis_Dasar_II_Bahasa_Indonesia_v6.3.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/ra/html/pd_chapter.html",
              "label": "Basic Analysis II",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C20-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1967595,
            "sha256": "427e8d35b4b8397ef4cb78818b6624bcc1d7ca413de9c70adf27122e98a79c77",
            "source_body_bytes": 1965408,
            "source_body_sha256": "3c812af53b83f6e93dca9a95ab92f535bf596bae72ff442cb7f06796b2b9a222",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C20.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1813757,
            "sha256": "a89c7dbf57da35c5f704957d9ac60f7a17a5ea108226252e3400564ff96a7344",
            "source_body_bytes": 1811392,
            "source_body_sha256": "eb0b85a85c141339545da580eadabd8f2427a388f8c8f9dd93c7d955a039fdf6",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C20",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C20",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.jirka.org/ra/html/pd_chapter.html",
              "label": "Basic Analysis II",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22182427/files/Analisis_Dasar_II_Bahasa_Indonesia_v6.3.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C20-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1967595,
            "sha256": "427e8d35b4b8397ef4cb78818b6624bcc1d7ca413de9c70adf27122e98a79c77",
            "source_body_bytes": 1965408,
            "source_body_sha256": "3c812af53b83f6e93dca9a95ab92f535bf596bae72ff442cb7f06796b2b9a222",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C20.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1813757,
            "sha256": "a89c7dbf57da35c5f704957d9ac60f7a17a5ea108226252e3400564ff96a7344",
            "source_body_bytes": 1811392,
            "source_body_sha256": "eb0b85a85c141339545da580eadabd8f2427a388f8c8f9dd93c7d955a039fdf6",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C30": {
      "id": {
        "course_id": "C30",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/abstract-algebra-theory-and-applications-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22062449/files/ALJABAR_ABSTRAK_TEORI_DAN_PENERAPAN_ID_2026.08.22.2.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://judsonbooks.org/aata-files/aata-html/aata.html",
              "label": "Abstract Algebra: Theory and Applications",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/judson/C30.html",
            "label": "Peta bab & edisi arsip",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9764,
            "sha256": "d2b2db26f049e6b895070502faa2489957a1c998ed684ee94352bab507ca7d52",
            "source_body_bytes": 7663,
            "source_body_sha256": "96681c535f2652f2a14fd0674bc3f2c603682cc18ca586bf0e34bd75a4a64824",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062449",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/abstract-algebra-theory-and-applications-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C30",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C30",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://judsonbooks.org/aata-files/aata-html/aata.html",
              "label": "Abstract Algebra: Theory and Applications",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/abstract-algebra-theory-and-applications-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22062449/files/ALJABAR_ABSTRAK_TEORI_DAN_PENERAPAN_ID_2026.08.22.2.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/judson/C30.html",
            "label": "Peta bab & edisi arsip",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9764,
            "sha256": "d2b2db26f049e6b895070502faa2489957a1c998ed684ee94352bab507ca7d52",
            "source_body_bytes": 7663,
            "source_body_sha256": "96681c535f2652f2a14fd0674bc3f2c603682cc18ca586bf0e34bd75a4a64824",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062449",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/abstract-algebra-theory-and-applications-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C40": {
      "id": {
        "course_id": "C40",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C40",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/abstract-algebra-theory-and-applications-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22062449/files/ALJABAR_ABSTRAK_TEORI_DAN_PENERAPAN_ID_2026.08.22.2.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://judsonbooks.org/aata-files/aata-html/aata.html",
              "label": "Abstract Algebra: Theory and Applications",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/judson/C40.html",
            "label": "Peta bab & edisi arsip",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 7510,
            "sha256": "79e73404e8679c1f06eff0abeda00180f7d520cae93695b142b8bae2a45a59c9",
            "source_body_bytes": 5409,
            "source_body_sha256": "dba37252afe9e2746da72286bdc7360e4bedeb48318982f626e7045d8f7ec12f",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062449",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/abstract-algebra-theory-and-applications-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C40",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C40",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://judsonbooks.org/aata-files/aata-html/aata.html",
              "label": "Abstract Algebra: Theory and Applications",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/abstract-algebra-theory-and-applications-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22062449/files/ALJABAR_ABSTRAK_TEORI_DAN_PENERAPAN_ID_2026.08.22.2.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/judson/C40.html",
            "label": "Peta bab & edisi arsip",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 7510,
            "sha256": "79e73404e8679c1f06eff0abeda00180f7d520cae93695b142b8bae2a45a59c9",
            "source_body_bytes": 5409,
            "source_body_sha256": "dba37252afe9e2746da72286bdc7360e4bedeb48318982f626e7045d8f7ec12f",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062449",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/abstract-algebra-theory-and-applications-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C50": {
      "id": {
        "course_id": "C50",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C50",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22182427/files/Panduan_Mengolah_Analisis_Kompleks_Bahasa_Indonesia_v1.9.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://www.jirka.org/ca/ca.pdf",
              "label": "Guide to Cultivating Complex Analysis",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C50-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1439480,
            "sha256": "05a42c0d212e26586525d40e85dc61c2fb98d8102f6cc5db14dedd14719c9122",
            "source_body_bytes": 1437281,
            "source_body_sha256": "9e9c3d8c28c65b5e3d0c407c6f23571ed9eeb5aafcb9f45bce00d77d4a5940e4",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C50.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1329932,
            "sha256": "d2a57f98dc35ce7c1e4913c3e1e79dcfdc8a86c27d70432914b6c32b3677dc7c",
            "source_body_bytes": 1327555,
            "source_body_sha256": "a1d4c93d0cdeeab7d04d1cdc91db0b967d63631e04c12964b35d168860b831ec",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C50",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C50",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://www.jirka.org/ca/ca.pdf",
              "label": "Guide to Cultivating Complex Analysis",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22182427/files/Panduan_Mengolah_Analisis_Kompleks_Bahasa_Indonesia_v1.9.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C50-pengajar.html",
            "label": "Susun rencana kegiatan pengajar",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1439480,
            "sha256": "05a42c0d212e26586525d40e85dc61c2fb98d8102f6cc5db14dedd14719c9122",
            "source_body_bytes": 1437281,
            "source_body_sha256": "9e9c3d8c28c65b5e3d0c407c6f23571ed9eeb5aafcb9f45bce00d77d4a5940e4",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/C50.html",
            "label": "Buku, latihan, dan dukungan sumber",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1329932,
            "sha256": "d2a57f98dc35ce7c1e4913c3e1e79dcfdc8a86c27d70432914b6c32b3677dc7c",
            "source_body_bytes": 1327555,
            "source_body_sha256": "a1d4c93d0cdeeab7d04d1cdc91db0b967d63631e04c12964b35d168860b831ec",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/lebl/istilah.html",
            "label": "Istilah dan alternatif keluarga Lebl",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 322515,
            "sha256": "417690481aaebc6b78c229912bd7f3e9f8a477b65a02a389020dd16254eb5920",
            "source_body_bytes": 316360,
            "source_body_sha256": "f3cd7363b2af9c8e47e6d50415b24030573d1f5af593e157d6b19f7c36f51c4b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182427",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/lebl-mathematics-family-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C60": {
      "id": {
        "course_id": "C60",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C60",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/yet-another-introductory-number-theory-textbook-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://github.com/KokunoYumeto/yet-another-introductory-number-theory-textbook-id/releases/tag/v1.0.0",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://www.poritz.net/jonathan/share/yaintt.pdf",
              "label": "Yet Another Introductory Number Theory Textbook",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/C60.html",
            "label": "C60 · Teori Bilangan dan Kriptologi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 17759,
            "sha256": "331c5daabf8b93eb31798245ab6a4f5c0773900c8956d114e822638f22974711",
            "source_body_bytes": 15488,
            "source_body_sha256": "789a8e6c243c779ebe66fa62df20398f2c73789881772ecd6379bd54fb8c481e",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22052196",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/yet-another-introductory-number-theory-textbook-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C60",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C60",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://www.poritz.net/jonathan/share/yaintt.pdf",
              "label": "Yet Another Introductory Number Theory Textbook",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/yet-another-introductory-number-theory-textbook-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://github.com/KokunoYumeto/yet-another-introductory-number-theory-textbook-id/releases/tag/v1.0.0",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c60/C60.html",
            "label": "C60 · Teori Bilangan dan Kriptologi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 17759,
            "sha256": "331c5daabf8b93eb31798245ab6a4f5c0773900c8956d114e822638f22974711",
            "source_body_bytes": 15488,
            "source_body_sha256": "789a8e6c243c779ebe66fa62df20398f2c73789881772ecd6379bd54fb8c481e",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22052196",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/yet-another-introductory-number-theory-textbook-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C70": {
      "id": {
        "course_id": "C70",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C70",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/applied-combinatorics-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22062005/files/00_KOMBINATORIKA_TERAPAN_ID-ID_COMPLETE_LINKED_READER_2026.08.22.2.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://appliedcombinatorics.org/book/",
              "label": "Applied Combinatorics",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/C70.html",
            "label": "C70 · Kombinatorika Terapan",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 50281,
            "sha256": "a7ba5d29a92d31b0cca9bc2e6f7158b9d91743ec44c0394a7d19620bc680636e",
            "source_body_bytes": 48082,
            "source_body_sha256": "1c2f974a96afd3d6153303ebc071d23ab31f39548736a46b4fb48ce392602857",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062005",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/applied-combinatorics-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C70",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C70",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://appliedcombinatorics.org/book/",
              "label": "Applied Combinatorics",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/applied-combinatorics-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22062005/files/00_KOMBINATORIKA_TERAPAN_ID-ID_COMPLETE_LINKED_READER_2026.08.22.2.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c70/C70.html",
            "label": "C70 · Kombinatorika Terapan",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 50281,
            "sha256": "a7ba5d29a92d31b0cca9bc2e6f7158b9d91743ec44c0394a7d19620bc680636e",
            "source_body_bytes": 48082,
            "source_body_sha256": "1c2f974a96afd3d6153303ebc071d23ab31f39548736a46b4fb48ce392602857",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062005",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/applied-combinatorics-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C80": {
      "id": {
        "course_id": "C80",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C80",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/21932787/files/00_OPENLOGIC_id_COMPLETE_LINKED_READER_OLP-0722.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://builds.openlogicproject.org/open-logic-complete.pdf",
              "label": "Open Logic complete build",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/openlogic/C80.html",
            "label": "Buka Open Logic lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5391,
            "sha256": "7b5c5a68c5fb4f80ec1da56eb4e41b30c78c6aa145c028b206ab6bc44942207f",
            "source_body_bytes": 3312,
            "source_body_sha256": "0090bd376ac555bc9b5e2bb2675bada2f5eb52703f02e147ff7779bf978fa5ed",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.21932787",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/OpenLogic-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C80",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C80",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://builds.openlogicproject.org/open-logic-complete.pdf",
              "label": "Open Logic complete build",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/21932787/files/00_OPENLOGIC_id_COMPLETE_LINKED_READER_OLP-0722.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/openlogic/C80.html",
            "label": "Buka Open Logic lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5391,
            "sha256": "7b5c5a68c5fb4f80ec1da56eb4e41b30c78c6aa145c028b206ab6bc44942207f",
            "source_body_bytes": 3312,
            "source_body_sha256": "0090bd376ac555bc9b5e2bb2675bada2f5eb52703f02e147ff7779bf978fa5ed",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.21932787",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/OpenLogic-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C90": {
      "id": {
        "course_id": "C90",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C90",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/topology-an-inquiry-based-approach-id/reader/complete/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22164668/files/topologi-pendekatan-berbasis-inkuiri-edisi-lengkap-id.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://gvsuoer.github.io/topology/",
              "label": "Topology: An Inquiry-Based Approach",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/topology/C90.html",
            "label": "C90",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36784,
            "sha256": "18b79e5f12a328d82499ca362741c172e302c9a92661d5d676efb149a8bbf198",
            "source_body_bytes": 34091,
            "source_body_sha256": "cd9fdc46b426c34c1b0c43d97ceb20539af879b249503edfb3b32aaddbd1e9ee",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22164668",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/topology-an-inquiry-based-approach-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C90",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C90",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://gvsuoer.github.io/topology/",
              "label": "Topology: An Inquiry-Based Approach",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/topology-an-inquiry-based-approach-id/reader/complete/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22164668/files/topologi-pendekatan-berbasis-inkuiri-edisi-lengkap-id.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/topology/C90.html",
            "label": "C90",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36784,
            "sha256": "18b79e5f12a328d82499ca362741c172e302c9a92661d5d676efb149a8bbf198",
            "source_body_bytes": 34091,
            "source_body_sha256": "cd9fdc46b426c34c1b0c43d97ceb20539af879b249503edfb3b32aaddbd1e9ee",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22164668",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/topology-an-inquiry-based-approach-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C100": {
      "id": {
        "course_id": "C100",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C100",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/C100/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 9106,
              "sha256": "4eaf383d7d6a02459088cb676c3b4644b5327905992936238828fcb7b30c6a1a",
              "source_body_bytes": 6497,
              "source_body_sha256": "8e1dc34f115e7a95e6bbec99b5fd3d18d474fdf57117039ab15e5c53e357cdf9",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_SPINE_COMPLETE.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/C100/reader/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": 3997502,
              "sha256": "44b7a29a25cff14c293b0468c02a4d9d4346b176f05fb95be1f146131a1ade7b",
              "source_body_bytes": 3994893,
              "source_body_sha256": "e20cb2b22e2b3e2691c68cba0ba71352ec81db954d41a98c7bacac6d31708add",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://arxiv.org/html/1302.1630",
              "label": "Euclidean plane and its relatives",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/mooculus/advancedGeometry/releases/download/v1.0/workbookOfTwoDimensionalGeometries.pdf",
              "label": "A Workbook of Two-Dimensional Geometries",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_HTML_CH01_CH20.zip?download=1",
            "label": "Unduh HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 388840,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_EPUB_CH01_CH20.epub?download=1",
            "label": "Unduh EPUB",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 389787,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/geometry/pengajar.html",
            "label": "Susun rencana kegiatan geometri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1621511,
            "sha256": "049b9c326b25e1b41f37bb34bc374af88f12b3fde567f87a7f5f5f1abe9b1b81",
            "source_body_bytes": 1618748,
            "source_body_sha256": "19ecef1a8b7b8c7d5a70ea37c3d98363e1710f42732d169cd0e90ae1e2f4f1ab",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/geometry/C100.html",
            "label": "Geometri: bacaan, latihan, konsep dan istilah",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 743105,
            "sha256": "7fec7f96fd5e97b8603d688b0fc3170c8da6803357f0efc13cd2d125949e997f",
            "source_body_bytes": 739698,
            "source_body_sha256": "2da10e03a37127c2c1b58eaf2cf31ff5691c9a4cab0826453a4fdbb1fb8e7cdb",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22151703/files/buku-kerja-geometri-dua-dimensi-id-unit001-022.pdf?download=1",
            "label": "Buku kerja geometri dua dimensi — lengkap 22/22 unit",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "436239ee2918f2ea43538c665aa9241ea207474e9c9ffcfc599121115ed1a90b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22102628",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/bidang-euklides-dan-kerabatnya-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C100",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C100",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://arxiv.org/html/1302.1630",
              "label": "Euclidean plane and its relatives",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/mooculus/advancedGeometry/releases/download/v1.0/workbookOfTwoDimensionalGeometries.pdf",
              "label": "A Workbook of Two-Dimensional Geometries",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/C100/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9106,
            "sha256": "4eaf383d7d6a02459088cb676c3b4644b5327905992936238828fcb7b30c6a1a",
            "source_body_bytes": 6497,
            "source_body_sha256": "8e1dc34f115e7a95e6bbec99b5fd3d18d474fdf57117039ab15e5c53e357cdf9",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_SPINE_COMPLETE.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/C100/reader/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 3997502,
            "sha256": "44b7a29a25cff14c293b0468c02a4d9d4346b176f05fb95be1f146131a1ade7b",
            "source_body_bytes": 3994893,
            "source_body_sha256": "e20cb2b22e2b3e2691c68cba0ba71352ec81db954d41a98c7bacac6d31708add",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/geometry/pengajar.html",
            "label": "Susun rencana kegiatan geometri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1621511,
            "sha256": "049b9c326b25e1b41f37bb34bc374af88f12b3fde567f87a7f5f5f1abe9b1b81",
            "source_body_bytes": 1618748,
            "source_body_sha256": "19ecef1a8b7b8c7d5a70ea37c3d98363e1710f42732d169cd0e90ae1e2f4f1ab",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/geometry/C100.html",
            "label": "Geometri: bacaan, latihan, konsep dan istilah",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 743105,
            "sha256": "7fec7f96fd5e97b8603d688b0fc3170c8da6803357f0efc13cd2d125949e997f",
            "source_body_bytes": 739698,
            "source_body_sha256": "2da10e03a37127c2c1b58eaf2cf31ff5691c9a4cab0826453a4fdbb1fb8e7cdb",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_HTML_CH01_CH20.zip?download=1",
            "label": "Bahasa Indonesia — Download HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 388840,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://zenodo.org/records/22102628/files/BIDANG_EUKLIDES_DAN_KERABATNYA_ID_EPUB_CH01_CH20.epub?download=1",
            "label": "Bahasa Indonesia — Download EPUB",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 389787,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22151703/files/buku-kerja-geometri-dua-dimensi-id-unit001-022.pdf?download=1",
            "label": "Buku kerja geometri dua dimensi — lengkap 22/22 unit",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "436239ee2918f2ea43538c665aa9241ea207474e9c9ffcfc599121115ed1a90b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22102628",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/bidang-euklides-dan-kerabatnya-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C110": {
      "id": {
        "course_id": "C110",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C110",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22075088/files/Tea-Time-Numerical-Analysis-id-ID.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://raw.githubusercontent.com/lqbrin/tea-time-numerical/master/TeaTimeNumericalAnalysis.pdf",
              "label": "Tea Time Numerical Analysis",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c110/C110.html",
            "label": "C110 · Analisis Numerik",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 29664,
            "sha256": "a453f0bc38594384e28cfbfb71481d1a2d0f22253dd5c5e0fe057ea5eaaf8650",
            "source_body_bytes": 27323,
            "source_body_sha256": "11933e5548907fac3f16daa5a6b32bc56d4f58ad0dc9ad5c8212b8fffc8b0ddd",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22075088",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/tea-time-numerical-analysis-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C110",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C110",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://raw.githubusercontent.com/lqbrin/tea-time-numerical/master/TeaTimeNumericalAnalysis.pdf",
              "label": "Tea Time Numerical Analysis",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22075088/files/Tea-Time-Numerical-Analysis-id-ID.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c110/C110.html",
            "label": "C110 · Analisis Numerik",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 29664,
            "sha256": "a453f0bc38594384e28cfbfb71481d1a2d0f22253dd5c5e0fe057ea5eaaf8650",
            "source_body_bytes": 27323,
            "source_body_sha256": "11933e5548907fac3f16daa5a6b32bc56d4f58ad0dc9ad5c8212b8fffc8b0ddd",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22075088",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/tea-time-numerical-analysis-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C120": {
      "id": {
        "course_id": "C120",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C120",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/mathematical-modeling-nonlinear-dynamics-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22070943/files/01_Pengantar_Pemodelan_Matematika_Edisi_Bahasa_Indonesia_Lengkap.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://opentextbooks.library.arizona.edu/mathematicalmodeling/",
              "label": "Introduction to Mathematical Modeling",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c120/C120.html",
            "label": "C120 · Pemodelan dan Dinamika Nonlinear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 47636,
            "sha256": "40bfc6d4474014823a22d8cefbaa5cc3b8e584402ee00fce3eed354eb07832eb",
            "source_body_bytes": 45339,
            "source_body_sha256": "826b54d2632780c1f3b9ef6c9c1feb353d4e991624153fe4134885fcc96b4d9f",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070943",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematical-modeling-nonlinear-dynamics-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C120",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C120",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://opentextbooks.library.arizona.edu/mathematicalmodeling/",
              "label": "Introduction to Mathematical Modeling",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/mathematical-modeling-nonlinear-dynamics-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22070943/files/01_Pengantar_Pemodelan_Matematika_Edisi_Bahasa_Indonesia_Lengkap.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c120/C120.html",
            "label": "C120 · Pemodelan dan Dinamika Nonlinear",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 47636,
            "sha256": "40bfc6d4474014823a22d8cefbaa5cc3b8e584402ee00fce3eed354eb07832eb",
            "source_body_bytes": 45339,
            "source_body_sha256": "826b54d2632780c1f3b9ef6c9c1feb353d4e991624153fe4134885fcc96b4d9f",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070943",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematical-modeling-nonlinear-dynamics-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C130": {
      "id": {
        "course_id": "C130",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C130",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22070653/files/pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://open-optimization.github.io/open-optimization-or-book/html/",
              "label": "Open Optimization: Linear and Integer Programming",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c130/C130.html",
            "label": "Buka Riset Operasi — Buku 1",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6811,
            "sha256": "89b17d7e85a77f164e7ed2a9646bf02223ec514bb563206faad2f4f2c43d8402",
            "source_body_bytes": 4654,
            "source_body_sha256": "00e72cbd6a040c091e802c85e4c7f2856e2d14d03bc8e626a3ce6b70b9f50ed2",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070653",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/open-optimization-or-book-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C130",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C130",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://open-optimization.github.io/open-optimization-or-book/html/",
              "label": "Open Optimization: Linear and Integer Programming",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22070653/files/pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c130/C130.html",
            "label": "Buka Riset Operasi — Buku 1",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6811,
            "sha256": "89b17d7e85a77f164e7ed2a9646bf02223ec514bb563206faad2f4f2c43d8402",
            "source_body_bytes": 4654,
            "source_body_sha256": "00e72cbd6a040c091e802c85e4c7f2856e2d14d03bc8e626a3ce6b70b9f50ed2",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22070653",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/open-optimization-or-book-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "C140": {
      "id": {
        "course_id": "C140",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-C140",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/penn-state-stat-415-id/index.html",
              "label": "Baca mata kuliah STAT 415",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 24947,
              "sha256": "055bca74a3068a619ef9fb01dd3038c0e1b5b33da0b9de6f84337710047b48bb",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22208527/files/00_00_stat415-pengantar-statistika-matematis-id.pdf",
              "label": "Unduh buku STAT 415 — 219 halaman",
              "label_language": "id",
              "primary": false,
              "offline_after_download": true,
              "bytes": 20170549,
              "sha256": "f39c1c438cc3e793fe9522eb11f5b02704d89fcdc7aecb2207a599087d458964",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://online.stat.psu.edu/stat415/",
              "label": "STAT 415: Mathematical Statistics",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.randomservices.org/random/point/Sufficient.html",
              "label": "Sufficient, Complete, and Ancillary Statistics",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/penn-state-stat-415-id/components/c140-companion/index.html",
            "label": "Baca pendamping lengkap C5 — 146 soal terselesaikan",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 21723,
            "sha256": "3fe7d9cad39af310b797acbf5b4e7936067f3b1fbe0e6743860f0a4e1d00f406",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22208527/files/06_C140_COMPANION_C5_OFFLINE_READER.zip",
            "label": "Unduh pendamping lengkap C5",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 15803617,
            "sha256": "1abdd3746b2886216ef70b35e6f3064ddc60afa490bdd134b92995068abccf4b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://github.com/KokunoYumeto/penn-state-stat-415-id/releases/download/v2026.08.31.c140-companion-c5/00_01_stat415-pengantar-statistika-matematis-id.epub",
            "label": "Unduh EPUB",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 12301415,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/C140.html",
            "label": "C140 · Statistika Matematis",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 19917,
            "sha256": "25cdd0662be8ae8c5bb2ce952a1c2ecefa462f5c5857edbb10580d5d7eecc8ba",
            "source_body_bytes": 17210,
            "source_body_sha256": "21349de94a0f90088b3b6fe5df6009ac4c9b9e7ee9c73bcadb8c8c72b80a498a",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22208527/files/06_C140_COMPANION_C5_OFFLINE_READER.zip?download=1",
            "label": "Pendamping orisinal C140 — HTML luring lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "1abdd3746b2886216ef70b35e6f3064ddc60afa490bdd134b92995068abccf4b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22208527/files/16_C140_COMPANION_C5_SOURCE_BACKEND_DATA_RIGHTS.zip?download=1",
            "label": "Sumber, backend, data, dan hak C140 lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "4de938596957e2116d6292f4a5e493a98212e7f9d1c49de32ae6e57c5b746deb",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://kokunoyumeto.github.io/mathematical-statistics-id/",
            "label": "Komponen Random lengkap — HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22076539/files/00_statistika-matematis-id-reader-2026.08.24.29.pdf?download=1",
            "label": "Komponen Random lengkap — PDF",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://doi.org/10.5281/zenodo.22076539",
            "label": "Komponen Random lengkap — DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22208527",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/penn-state-stat-415-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "C140",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-C140",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://online.stat.psu.edu/stat415/",
              "label": "STAT 415: Mathematical Statistics",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.randomservices.org/random/point/Sufficient.html",
              "label": "Sufficient, Complete, and Ancillary Statistics",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/penn-state-stat-415-id/index.html",
            "label": "Bahasa Indonesia — Read the STAT 415 course",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 24947,
            "sha256": "055bca74a3068a619ef9fb01dd3038c0e1b5b33da0b9de6f84337710047b48bb",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22208527/files/00_00_stat415-pengantar-statistika-matematis-id.pdf",
            "label": "Bahasa Indonesia — Download the STAT 415 textbook — 219 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 20170549,
            "sha256": "f39c1c438cc3e793fe9522eb11f5b02704d89fcdc7aecb2207a599087d458964",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/penn-state-stat-415-id/components/c140-companion/index.html",
            "label": "Bahasa Indonesia — Read the complete C5 companion — 146 solved problems",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 21723,
            "sha256": "3fe7d9cad39af310b797acbf5b4e7936067f3b1fbe0e6743860f0a4e1d00f406",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22208527/files/06_C140_COMPANION_C5_OFFLINE_READER.zip",
            "label": "Bahasa Indonesia — Download the complete C5 companion",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 15803617,
            "sha256": "1abdd3746b2886216ef70b35e6f3064ddc60afa490bdd134b92995068abccf4b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/c140/C140.html",
            "label": "C140 · Statistika Matematis",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 19917,
            "sha256": "25cdd0662be8ae8c5bb2ce952a1c2ecefa462f5c5857edbb10580d5d7eecc8ba",
            "source_body_bytes": 17210,
            "source_body_sha256": "21349de94a0f90088b3b6fe5df6009ac4c9b9e7ee9c73bcadb8c8c72b80a498a",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://github.com/KokunoYumeto/penn-state-stat-415-id/releases/download/v2026.08.31.c140-companion-c5/00_01_stat415-pengantar-statistika-matematis-id.epub",
            "label": "Bahasa Indonesia — Download EPUB",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 12301415,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22208527/files/06_C140_COMPANION_C5_OFFLINE_READER.zip?download=1",
            "label": "Pendamping orisinal C140 — HTML luring lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "1abdd3746b2886216ef70b35e6f3064ddc60afa490bdd134b92995068abccf4b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22208527/files/16_C140_COMPANION_C5_SOURCE_BACKEND_DATA_RIGHTS.zip?download=1",
            "label": "Sumber, backend, data, dan hak C140 lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "4de938596957e2116d6292f4a5e493a98212e7f9d1c49de32ae6e57c5b746deb",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://kokunoyumeto.github.io/mathematical-statistics-id/",
            "label": "Komponen Random lengkap — HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22076539/files/00_statistika-matematis-id-reader-2026.08.24.29.pdf?download=1",
            "label": "Komponen Random lengkap — PDF",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://doi.org/10.5281/zenodo.22076539",
            "label": "Komponen Random lengkap — DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22208527",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/penn-state-stat-415-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D10": {
      "id": {
        "course_id": "D10",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D10",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D10/reader/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 11194,
              "sha256": "7e9fc432baf6bf24d7023009958a779453db36b76ec744ead78756815f3fbdcd",
              "source_body_bytes": 9125,
              "source_body_sha256": "fae1f5c9cd051c57235702014e789e22f17d3d3a6ed5226886f0fd0a7c196989",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22181780/files/00_READ_FIRST_FONDASI_TEORI_UKURAN_JILID_1_DAN_2_LENGKAP.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF index",
              "url": "https://www1.essex.ac.uk/maths/people/fremlin/mtcont.htm",
              "label": "Fremlin: Measure Theory",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://github.com/KokunoYumeto/fremlin-measure-theory-id/releases/download/v1.0.0/fondasi-teori-ukuran-jilid-1-2-lengkap-id-v1.0.0-source-backend.zip",
            "label": "Unduh HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 15167715,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d10/D10.html",
            "label": "D10 · Ukuran dan Integrasi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 139245,
            "sha256": "55c8bad73810af11cd1d1e09e782d6978aac735d2418d948365bbf14acdfb50d",
            "source_body_bytes": 137006,
            "source_body_sha256": "45fc13a2c992e6ab53b084e2fb6523ff505cc3afffa4670618d4431aed0d8ecf",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22181780",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/fremlin-measure-theory-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D10",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D10",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF index",
              "url": "https://www1.essex.ac.uk/maths/people/fremlin/mtcont.htm",
              "label": "Fremlin: Measure Theory",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D10/reader/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 11194,
            "sha256": "7e9fc432baf6bf24d7023009958a779453db36b76ec744ead78756815f3fbdcd",
            "source_body_bytes": 9125,
            "source_body_sha256": "fae1f5c9cd051c57235702014e789e22f17d3d3a6ed5226886f0fd0a7c196989",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22181780/files/00_READ_FIRST_FONDASI_TEORI_UKURAN_JILID_1_DAN_2_LENGKAP.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d10/D10.html",
            "label": "D10 · Ukuran dan Integrasi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 139245,
            "sha256": "55c8bad73810af11cd1d1e09e782d6978aac735d2418d948365bbf14acdfb50d",
            "source_body_bytes": 137006,
            "source_body_sha256": "45fc13a2c992e6ab53b084e2fb6523ff505cc3afffa4670618d4431aed0d8ecf",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://github.com/KokunoYumeto/fremlin-measure-theory-id/releases/download/v1.0.0/fondasi-teori-ukuran-jilid-1-2-lengkap-id-v1.0.0-source-backend.zip",
            "label": "Bahasa Indonesia — Download HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 15167715,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22181780",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/fremlin-measure-theory-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D20": {
      "id": {
        "course_id": "D20",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D20",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D20/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 7805,
              "sha256": "7a81486699b667265823df0263ffda43da1f1dc76d37c190c50bcbac0bdd7de0",
              "source_body_bytes": 5656,
              "source_body_sha256": "81a5b38f704be590f957a8a248f32c2fc7bbb6280e6eaa66e262b6fb59e7dec9",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22088947/files/analisis-fungsional-dan-aljabar-operator-id-edisi-lengkap-dengan-pendamping.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/functional-analysis-erdman-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://web.pdx.edu/~erdman/FAOA/functional_analysis_operator_algebras_pdf.pdf",
              "label": "Functional Analysis and Operator Algebras",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22088947/files/functional-analysis-erdman-id-2026.08.25-backend-artifact-reconciliation-source-backend-html.zip?download=1",
            "label": "Buku dan pendamping HTML luring — ZIP",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3793368,
            "sha256": "ac5b3ec1fe7c2cf0a17eacce29c920ca5976c0c7d15e37f0ba0476afe9c48e32",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/functional-analysis-erdman-id/output/html-companion/index.html",
            "label": "Solusi dan jembatan spektral — HTML lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5682,
            "sha256": "e3e615c98717eef968097044f1feb00afc61175f29f4e4cc346685db5c512984",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22088947",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/functional-analysis-erdman-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D20",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D20",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://web.pdx.edu/~erdman/FAOA/functional_analysis_operator_algebras_pdf.pdf",
              "label": "Functional Analysis and Operator Algebras",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D20/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 7805,
            "sha256": "7a81486699b667265823df0263ffda43da1f1dc76d37c190c50bcbac0bdd7de0",
            "source_body_bytes": 5656,
            "source_body_sha256": "81a5b38f704be590f957a8a248f32c2fc7bbb6280e6eaa66e262b6fb59e7dec9",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22088947/files/analisis-fungsional-dan-aljabar-operator-id-edisi-lengkap-dengan-pendamping.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/functional-analysis-erdman-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/functional-analysis-erdman-id/output/html-companion/index.html",
            "label": "Bahasa Indonesia — Complete solutions and spectral bridge — HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5682,
            "sha256": "e3e615c98717eef968097044f1feb00afc61175f29f4e4cc346685db5c512984",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/records/22088947/files/functional-analysis-erdman-id-2026.08.25-backend-artifact-reconciliation-source-backend-html.zip?download=1",
            "label": "Bahasa Indonesia — Offline textbook and companion HTML — ZIP",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3793368,
            "sha256": "ac5b3ec1fe7c2cf0a17eacce29c920ca5976c0c7d15e37f0ba0476afe9c48e32",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22088947",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/functional-analysis-erdman-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D30": {
      "id": {
        "course_id": "D30",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D30",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D30/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 8029,
              "sha256": "853661995bb3101edfe82ca6bcc681796f27efac64612b1d690077e3a1e67ca2",
              "source_body_bytes": 5130,
              "source_body_sha256": "cd25170a7bd0a999eed34e95a7d58d814dd56bc636a6ec0c22563f1585a96375",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22182655/files/00_PROBABILITAS_TEORI_UKURAN_PROSES_STOKASTIK_ID_READER_CHECKPOINT_38.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/measure-theoretic-probability-stochastic-processes-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.randomservices.org/random/",
              "label": "Random: Probability and Stochastic Processes",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://continuous-time-mcs.quantecon.org/intro.html",
              "label": "Continuous Time Markov Chains",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://gordanz.github.io/stochastic-book/",
              "label": "Intro to Stochastic Processes",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22182655/files/PROBABILITAS_TEORI_UKURAN_PROSES_STOKASTIK_ID_READER_CHECKPOINT_38.zip?download=1",
            "label": "Unduh HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 3029582,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/D30.html",
            "label": "D30 · Probabilitas Teoretis-Ukuran dan Proses Stokastik",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 33632,
            "sha256": "ef1da988e0dde0318db96b1582e20bc5680410498c0e0f7e1715ef1a630d45a0",
            "source_body_bytes": 30563,
            "source_body_sha256": "1bfec9ec984896df03919b777ae1906765269e57ede3e7c2830a90a83f6ddbc2",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182655",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/measure-theoretic-probability-stochastic-processes-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D30",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D30",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://www.randomservices.org/random/",
              "label": "Random: Probability and Stochastic Processes",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://continuous-time-mcs.quantecon.org/intro.html",
              "label": "Continuous Time Markov Chains",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://gordanz.github.io/stochastic-book/",
              "label": "Intro to Stochastic Processes",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D30/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 8029,
            "sha256": "853661995bb3101edfe82ca6bcc681796f27efac64612b1d690077e3a1e67ca2",
            "source_body_bytes": 5130,
            "source_body_sha256": "cd25170a7bd0a999eed34e95a7d58d814dd56bc636a6ec0c22563f1585a96375",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22182655/files/00_PROBABILITAS_TEORI_UKURAN_PROSES_STOKASTIK_ID_READER_CHECKPOINT_38.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/measure-theoretic-probability-stochastic-processes-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d30/D30.html",
            "label": "D30 · Probabilitas Teoretis-Ukuran dan Proses Stokastik",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 33632,
            "sha256": "ef1da988e0dde0318db96b1582e20bc5680410498c0e0f7e1715ef1a630d45a0",
            "source_body_bytes": 30563,
            "source_body_sha256": "1bfec9ec984896df03919b777ae1906765269e57ede3e7c2830a90a83f6ddbc2",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22182655/files/PROBABILITAS_TEORI_UKURAN_PROSES_STOKASTIK_ID_READER_CHECKPOINT_38.zip?download=1",
            "label": "Bahasa Indonesia — Download HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 3029582,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22182655",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/measure-theoretic-probability-stochastic-processes-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D40": {
      "id": {
        "course_id": "D40",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D40",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D40/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 6953,
              "sha256": "37aa20e5ea64741b1d670ccca28d470fa8f07b14765920ad4ca87c102117fefd",
              "source_body_bytes": 4302,
              "source_body_sha256": "d731e680943a8a2ed74a085a10fcf0eb2d0b3399820f947018b5fb973bd7c122",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22184259/files/PERSAMAAN_DIFERENSIAL_PARSIAL_DIONNE_ID_LENGKAP.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/readers/d40/unit14/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": 9195,
              "sha256": "fbc62f76fd244753118f048dee79fb0ed202dfd311d8b943b938e66ec0be5564",
              "source_body_bytes": 6544,
              "source_body_sha256": "a7059a30fa4b991a4a1580e5bf7892d3e508619e5e66f507a13be0c51674bad7",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://openlibrary-repo.ecampusontario.ca/xmlui/bitstream/handle/123456789/2405/PDE_Benoit_Dionne_2024.pdf?isAllowed=y&sequence=1",
              "label": "Dionne: Partial Differential Equations",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://jsdokken.com/dolfinx-tutorial/index.html",
              "label": "The FEniCSx Tutorial",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22184259/files/D40_COMPLETE_ID_20260831.zip?download=1",
            "label": "Unduh HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9436983,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d40/D40.html",
            "label": "D40 · Persamaan Diferensial Parsial",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 41934,
            "sha256": "59be87f13a95b7a76c0ba1aaf8f82ecf221b0bf874c94591e3d3c463d534a220",
            "source_body_bytes": 39113,
            "source_body_sha256": "22755b53c06db5012c28288235b23e1d0ab68124703312c118a5f081baa3a6c7",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22161412/files/SUMBER_DIONNE_UNIT14_20260829.zip?download=1",
            "label": "Sumber, backend, dan bukti rilis Unit 14",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "248b65a225e96f0a342ab2f6288aa303d28bfd2a8e108db14f7e125ef5401f0e",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22184259",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D40",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D40",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://openlibrary-repo.ecampusontario.ca/xmlui/bitstream/handle/123456789/2405/PDE_Benoit_Dionne_2024.pdf?isAllowed=y&sequence=1",
              "label": "Dionne: Partial Differential Equations",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://jsdokken.com/dolfinx-tutorial/index.html",
              "label": "The FEniCSx Tutorial",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D40/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6953,
            "sha256": "37aa20e5ea64741b1d670ccca28d470fa8f07b14765920ad4ca87c102117fefd",
            "source_body_bytes": 4302,
            "source_body_sha256": "d731e680943a8a2ed74a085a10fcf0eb2d0b3399820f947018b5fb973bd7c122",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22184259/files/PERSAMAAN_DIFERENSIAL_PARSIAL_DIONNE_ID_LENGKAP.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/readers/d40/unit14/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9195,
            "sha256": "fbc62f76fd244753118f048dee79fb0ed202dfd311d8b943b938e66ec0be5564",
            "source_body_bytes": 6544,
            "source_body_sha256": "a7059a30fa4b991a4a1580e5bf7892d3e508619e5e66f507a13be0c51674bad7",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d40/D40.html",
            "label": "D40 · Persamaan Diferensial Parsial",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 41934,
            "sha256": "59be87f13a95b7a76c0ba1aaf8f82ecf221b0bf874c94591e3d3c463d534a220",
            "source_body_bytes": 39113,
            "source_body_sha256": "22755b53c06db5012c28288235b23e1d0ab68124703312c118a5f081baa3a6c7",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22184259/files/D40_COMPLETE_ID_20260831.zip?download=1",
            "label": "Bahasa Indonesia — Download HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 9436983,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22161412/files/SUMBER_DIONNE_UNIT14_20260829.zip?download=1",
            "label": "Sumber, backend, dan bukti rilis Unit 14",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "248b65a225e96f0a342ab2f6288aa303d28bfd2a8e108db14f7e125ef5401f0e",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22184259",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D50": {
      "id": {
        "course_id": "D50",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D50",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22161090/files/geometri-diferensial-manifold-mulus-edisi-lengkap-id.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Differentialgeometrie_(Osnabr%C3%BCck_2023)",
              "label": "Holger Brenner — Differentialgeometrie (Osnabrück 2023)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-en/releases/download/v2026.09.01-complete/smooth-manifolds-differential-geometry-complete-en.pdf",
            "label": "Smooth Manifolds and Differential Geometry — complete English PDF — 658 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 8160069,
            "sha256": "dbbe985214a5642e08be0d6cb0302e3156e8d5dbc2c225a7e1fb2ecc554ffb28",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-en/releases/download/v2026.09.01-complete/smooth-manifolds-differential-geometry-complete-html-20260901.zip",
            "label": "Complete English HTML ZIP — unzip; MathJax requires internet",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5609567,
            "sha256": "dcddd62d88553b8db768dbae7ea0e64c7eb43e4b438c3eca37dfea1db41620cd",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22233733",
            "label": "Complete English geometry edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22161090",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D50",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D50",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-en/releases/download/v2026.09.01-complete/smooth-manifolds-differential-geometry-complete-en.pdf",
              "label": "Smooth Manifolds and Differential Geometry — complete English PDF — 658 pages",
              "label_language": "en",
              "primary": true,
              "offline_after_download": true,
              "bytes": 8160069,
              "sha256": "dbbe985214a5642e08be0d6cb0302e3156e8d5dbc2c225a7e1fb2ecc554ffb28",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Differentialgeometrie_(Osnabr%C3%BCck_2023)",
              "label": "Holger Brenner — Differentialgeometrie (Osnabrück 2023)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "en",
            "media_type": "HTML ZIP",
            "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-en/releases/download/v2026.09.01-complete/smooth-manifolds-differential-geometry-complete-html-20260901.zip",
            "label": "Complete English HTML ZIP — unzip; MathJax requires internet",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 5609567,
            "sha256": "dcddd62d88553b8db768dbae7ea0e64c7eb43e4b438c3eca37dfea1db41620cd",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22233733",
            "label": "Complete English geometry edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22161090/files/geometri-diferensial-manifold-mulus-edisi-lengkap-id.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22161090",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/brenner-differentialgeometrie-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D60": {
      "id": {
        "course_id": "D60",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D60",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/algebraic-topology-id/roberts-001-030-fomberg-001-007-ca01-hints-r01-r06-ca02-ca03-lab01-lab02-lab03-lab04-capstone/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22168033/files/00_TOPOLOGI_ALJABAR_ID_ROBERTS_001_030_FOMBERG_001_007_CA01_HINTS_R01_R06_CA02_CA03_LAB01_LAB02_LAB03_LAB04_CAPSTONE_READER.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/DavidMichaelRoberts/AlgebraicTopology2019/raw/master/Notes.pdf",
              "label": "Roberts: Algebraic Topology",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://yp.srht.site/notes/math/algebraic_topology.pdf",
              "label": "Fomberg: Algebraic Topology",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22168033/files/TOPOLOGI_ALJABAR_ID_ROBERTS_001_030_FOMBERG_001_007_CA01_HINTS_R01_R06_CA02_CA03_LAB01_LAB02_LAB03_LAB04_CAPSTONE_EDITABLE_SOURCE_BACKEND.zip?download=1",
            "label": "Sumber dan backend D60 — arsip reproduksibilitas sekunder",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "f7670f6e6ad9a95ff808a1ddf4c2fdd8b41c6bce1916d33ac6fe5063be184b1b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22168033",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/algebraic-topology-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D60",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D60",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/DavidMichaelRoberts/AlgebraicTopology2019/raw/master/Notes.pdf",
              "label": "Roberts: Algebraic Topology",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://yp.srht.site/notes/math/algebraic_topology.pdf",
              "label": "Fomberg: Algebraic Topology",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/algebraic-topology-id/roberts-001-030-fomberg-001-007-ca01-hints-r01-r06-ca02-ca03-lab01-lab02-lab03-lab04-capstone/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22168033/files/00_TOPOLOGI_ALJABAR_ID_ROBERTS_001_030_FOMBERG_001_007_CA01_HINTS_R01_R06_CA02_CA03_LAB01_LAB02_LAB03_LAB04_CAPSTONE_READER.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22168033/files/TOPOLOGI_ALJABAR_ID_ROBERTS_001_030_FOMBERG_001_007_CA01_HINTS_R01_R06_CA02_CA03_LAB01_LAB02_LAB03_LAB04_CAPSTONE_EDITABLE_SOURCE_BACKEND.zip?download=1",
            "label": "Sumber dan backend D60 — arsip reproduksibilitas sekunder",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "f7670f6e6ad9a95ff808a1ddf4c2fdd8b41c6bce1916d33ac6fe5063be184b1b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22168033",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/algebraic-topology-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D70": {
      "id": {
        "course_id": "D70",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D70",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://zenodo.org/records/22160944/files/01_metode-aljabar-jilid-1-id-lengkap.pdf?download=1",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "zh",
              "media_type": "HTML",
              "url": "https://wwli.asia/zh/docs/books/",
              "label": "Wen-Wei Li — 代数学方法：卷一",
              "label_language": "zh",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22216113/files/methods-of-algebra-volume-1-en.pdf?download=1",
            "label": "Methods of Algebra, Volume 1 — complete English book — 457 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2691212,
            "sha256": "112eef57e92f685e90bdff963f5a01c046a5f7d1eedc88faf316c930be7d4017",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22216113/files/duncan-representation-theory-en.pdf?download=1",
            "label": "Duncan: Representation Theory — selected complete English component — 102 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 507750,
            "sha256": "77c0f34dc28457dd750bf67c88857910c2a57ee8f70dd3dccbcca840854cf565",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22216113/files/cring-selected-commutative-algebra-en.pdf?download=1",
            "label": "CRing: Six selected commutative-algebra topics — English — 68 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 372132,
            "sha256": "73e335b53f1ab156917962e2714d08b81030c8b16a72eb0dda944f4241df1521",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://zenodo.org/records/22216113/files/o013-learning-route-and-mastery-en.pdf?download=1",
            "label": "English learning route and mastery companion — 7 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 81315,
            "sha256": "fa68a194127a2863484bc3e05b26010d81631e9c38ebcdd174b63856471aa07f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22216113",
            "label": "Full English advanced-algebra course archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/methods-of-algebra-volume-1-en",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d70/D70.html",
            "label": "D70 · Aljabar Pascasarjana",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36211,
            "sha256": "4bcd08aa1f85b854788c17adb1e22e2f35598bd15b1fcceaf7281343a6a40ed6",
            "source_body_bytes": 33988,
            "source_body_sha256": "eba8cdb300bcd2d21618290f3e7b305c72456b39fc9d168e23b9eb202d73b00c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22160944",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/metode-aljabar-jilid-1-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D70",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D70",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22216113/files/methods-of-algebra-volume-1-en.pdf?download=1",
              "label": "Methods of Algebra, Volume 1 — complete English book — 457 pages",
              "label_language": "en",
              "primary": true,
              "offline_after_download": true,
              "bytes": 2691212,
              "sha256": "112eef57e92f685e90bdff963f5a01c046a5f7d1eedc88faf316c930be7d4017",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22216113/files/duncan-representation-theory-en.pdf?download=1",
              "label": "Duncan: Representation Theory — selected complete English component — 102 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 507750,
              "sha256": "77c0f34dc28457dd750bf67c88857910c2a57ee8f70dd3dccbcca840854cf565",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22216113/files/cring-selected-commutative-algebra-en.pdf?download=1",
              "label": "CRing: Six selected commutative-algebra topics — English — 68 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 372132,
              "sha256": "73e335b53f1ab156917962e2714d08b81030c8b16a72eb0dda944f4241df1521",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://zenodo.org/records/22216113/files/o013-learning-route-and-mastery-en.pdf?download=1",
              "label": "English learning route and mastery companion — 7 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 81315,
              "sha256": "fa68a194127a2863484bc3e05b26010d81631e9c38ebcdd174b63856471aa07f",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "zh",
              "media_type": "HTML",
              "url": "https://wwli.asia/zh/docs/books/",
              "label": "Wen-Wei Li — 代数学方法：卷一",
              "label_language": "zh",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22216113",
            "label": "Full English advanced-algebra course archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/methods-of-algebra-volume-1-en",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://zenodo.org/records/22160944/files/01_metode-aljabar-jilid-1-id-lengkap.pdf?download=1",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d70/D70.html",
            "label": "D70 · Aljabar Pascasarjana",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 36211,
            "sha256": "4bcd08aa1f85b854788c17adb1e22e2f35598bd15b1fcceaf7281343a6a40ed6",
            "source_body_bytes": 33988,
            "source_body_sha256": "eba8cdb300bcd2d21618290f3e7b305c72456b39fc9d168e23b9eb202d73b00c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22160944",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/metode-aljabar-jilid-1-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D80": {
      "id": {
        "course_id": "D80",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D80",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/metode-aljabar-jilid-2-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22167691/files/00_metode-dalam-aljabar-jilid-2-edisi-bahasa-indonesia.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "zh",
              "media_type": "HTML",
              "url": "https://wwli.asia/zh/docs/books/",
              "label": "Wen-Wei Li — 代数学方法：卷二",
              "label_language": "zh",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22167691/files/03_pembaca-html-offline.zip?download=1",
            "label": "Unduh HTML",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1373063,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/methods-of-algebra-volume-2-en/",
            "label": "Methods of Algebra, Volume 2 — complete corrected English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4493910,
            "sha256": "411fe6246743388ba9c5352732cc7958c02aa5dc578a54daecd4e6a5b317347e",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://raw.githubusercontent.com/KokunoYumeto/methods-of-algebra-volume-2-en/674ef26c04dba544e80a95a3f320a9961649407c/output/pdf/methods-of-algebra-volume-2-independent-english-edition.pdf",
            "label": "Methods of Algebra, Volume 2 — English PDF and mastery bridges — 820 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 3894743,
            "sha256": "8193d44ef52c9c39807e769ad04507130f163481f82aa9cfaa0a1a3022ef7aa5",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22233942",
            "label": "Corrected English edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/methods-of-algebra-volume-2-en",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d80/D80.html",
            "label": "D80 · Metode kategori dan homologi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 74774,
            "sha256": "2e8dc98d4b5220a8db082ce5703f40f7b7da7a69325af4f024414a6726a470ee",
            "source_body_bytes": 72551,
            "source_body_sha256": "450c70101fb4d32b372ffa3358be0dc64e394c01e583e1c6ffc436ea310f9562",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22167691/files/02_backend-semantik.zip?download=1",
            "label": "Backend semantik lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "6fe9db92148b6adb7a2c8cd2bc12eedebffd133ee485f78c3e36ed455f56e9fc",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22167691",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/metode-aljabar-jilid-2-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D80",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D80",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/methods-of-algebra-volume-2-en/",
              "label": "Methods of Algebra, Volume 2 — complete corrected English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 4493910,
              "sha256": "411fe6246743388ba9c5352732cc7958c02aa5dc578a54daecd4e6a5b317347e",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://raw.githubusercontent.com/KokunoYumeto/methods-of-algebra-volume-2-en/674ef26c04dba544e80a95a3f320a9961649407c/output/pdf/methods-of-algebra-volume-2-independent-english-edition.pdf",
              "label": "Methods of Algebra, Volume 2 — English PDF and mastery bridges — 820 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 3894743,
              "sha256": "8193d44ef52c9c39807e769ad04507130f163481f82aa9cfaa0a1a3022ef7aa5",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "zh",
              "media_type": "HTML",
              "url": "https://wwli.asia/zh/docs/books/",
              "label": "Wen-Wei Li — 代数学方法：卷二",
              "label_language": "zh",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22233942",
            "label": "Corrected English edition archive",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/methods-of-algebra-volume-2-en",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/metode-aljabar-jilid-2-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22167691/files/00_metode-dalam-aljabar-jilid-2-edisi-bahasa-indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d80/D80.html",
            "label": "D80 · Metode kategori dan homologi",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 74774,
            "sha256": "2e8dc98d4b5220a8db082ce5703f40f7b7da7a69325af4f024414a6726a470ee",
            "source_body_bytes": 72551,
            "source_body_sha256": "450c70101fb4d32b372ffa3358be0dc64e394c01e583e1c6ffc436ea310f9562",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "portable_html",
            "url": "https://zenodo.org/records/22167691/files/03_pembaca-html-offline.zip?download=1",
            "label": "Bahasa Indonesia — Download HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1373063,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "source-package",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "source-archive",
            "url": "https://zenodo.org/records/22167691/files/02_backend-semantik.zip?download=1",
            "label": "Backend semantik lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "6fe9db92148b6adb7a2c8cd2bc12eedebffd133ee485f78c3e36ed455f56e9fc",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22167691",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/metode-aljabar-jilid-2-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D90": {
      "id": {
        "course_id": "D90",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D90",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/advanced-optimization-convex-analysis-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22543810/files/D90-O015-optimisasi-lanjut-analisis-konveks-id.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://arxiv.org/pdf/2607.11664",
              "label": "Habring: Convex Optimization",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://zenodo.org/records/22142120/files/D90-O015-optimisasi-lanjut-analisis-konveks-id.epub?download=1",
            "label": "Unduh EPUB",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 379901,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/D90.html",
            "label": "D90 · Optimisasi Lanjut dan Analisis Konveks",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 115051,
            "sha256": "e6e0f0ec3783d2026969c3338df0feee92ea79795b24b083eaf01cf91351b661",
            "source_body_bytes": 112850,
            "source_body_sha256": "f604b22509f6ffa1f61a4d07c2ee9949ce306fb3977da91cc07c9de3040cb04c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/readers/d90/original-02/",
            "label": "Tranche Original-02 — HTML pusat",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 192711,
            "sha256": "e0bfedd9ed2a95ed576b4b884ef8ff74dc3c319e9394c04f9961c4bb364f2056",
            "source_body_bytes": 190680,
            "source_body_sha256": "d867f4551cf05e531cc6f53336a55b9ba3ee0dfffbc4acede425e1bceae82a24",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22543810",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/advanced-optimization-convex-analysis-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D90",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D90",
        "program_hosted_reader": {
          "status": "not-yet-hosted",
          "resources": []
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://arxiv.org/pdf/2607.11664",
              "label": "Habring: Convex Optimization",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/advanced-optimization-convex-analysis-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22543810/files/D90-O015-optimisasi-lanjut-analisis-konveks-id.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d90/D90.html",
            "label": "D90 · Optimisasi Lanjut dan Analisis Konveks",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 115051,
            "sha256": "e6e0f0ec3783d2026969c3338df0feee92ea79795b24b083eaf01cf91351b661",
            "source_body_bytes": 112850,
            "source_body_sha256": "f604b22509f6ffa1f61a4d07c2ee9949ce306fb3977da91cc07c9de3040cb04c",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/readers/d90/original-02/",
            "label": "Bahasa Indonesia — Original-02 tranche — central HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 192711,
            "sha256": "e0bfedd9ed2a95ed576b4b884ef8ff74dc3c319e9394c04f9961c4bb364f2056",
            "source_body_bytes": 190680,
            "source_body_sha256": "d867f4551cf05e531cc6f53336a55b9ba3ee0dfffbc4acede425e1bceae82a24",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "epub",
            "url": "https://zenodo.org/records/22142120/files/D90-O015-optimisasi-lanjut-analisis-konveks-id.epub?download=1",
            "label": "Bahasa Indonesia — Download EPUB",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 379901,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22543810",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/advanced-optimization-convex-analysis-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D100": {
      "id": {
        "course_id": "D100",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D100",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "PDF",
              "url": "https://zenodo.org/api/records/22543825/files/01_Kurva-Aljabar_id-ID_Units-01-30_corr1.pdf/content",
              "label": "Kurva Aljabar — 30 unit lengkap — 505 halaman",
              "label_language": "id",
              "primary": true,
              "offline_after_download": true,
              "bytes": 16026554,
              "sha256": "5af87fd1fd4b85c76bc4fa83e655bdb47d859700a3e57b2d4e7c0ca9c4cf5421",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/",
              "label": "Baca Kurva Aljabar — 30 unit lengkap",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": 23808146,
              "sha256": "d9aebfade01203e7b0c20cf468d544365f6a51fcf994ba8419ee28e93ec83b89",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/bgk/",
              "label": "Baca Bundel, Berkas, dan Kohomologi — 30 unit lengkap",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": 6839675,
              "sha256": "8f27972340bbe1dddd45294db6a637c64656cfa1b27d4bd4d54632c84ec3e886",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Algebraische_Kurven_(Osnabr%C3%BCck_2025-2026)",
              "label": "Holger Brenner — Algebraische Kurven (Osnabrück 2025–2026)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Algebraische_Kurven_(Osnabr%C3%BCck_2012)",
              "label": "Holger Brenner — Algebraische Kurven (Osnabrück 2012)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:B%C3%BCndel,_Garben_und_Kohomologie_(Osnabr%C3%BCck_2019-2020)",
              "label": "Holger Brenner — Bündel, Garben und Kohomologie (2019–2020)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://zenodo.org/api/records/22543825/files/02_Kurva-Aljabar_id-ID_Units-01-30_corr1.html/content",
            "label": "Unduh HTML Kurva Aljabar lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 23775120,
            "sha256": "c956521f3173889099771eebc8815a613d736ea685d4b11ea266710271af777b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://zenodo.org/api/records/22543825/files/02_Bundel-Berkas-dan-Kohomologi_id-ID_Units-01-30_corr1.html/content",
            "label": "Unduh HTML Bundel, Berkas, dan Kohomologi lengkap",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 6839229,
            "sha256": "a37e060ed1ea3c30860380cc07ccdbc269dc1b115c865fe5b9d063382217414f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/api/records/22543825/files/02_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1_html.zip/content",
            "label": "Unduh paket HTML pendamping",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2784305,
            "sha256": "487c13991626f0e2c524d5c455930b83b6b242d54d8915087edf4823f1303bdc",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/",
            "label": "Program-hosted Algebraic Geometry Bridge — complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4780,
            "sha256": "9da1082ab1bc3a820cdec7d832c05401474b30754f42391e5015902fc6666317",
            "source_body_bytes": 1415,
            "source_body_sha256": "7e8dce9036872f91b191c3a87baa5ba0d4a86b22ed4beff2460d136742de2906",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/ak.html",
            "label": "Program-hosted Algebraic Curves — complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4919455,
            "sha256": "c0f2b33ba1a2bf431b808b0a4f37fe2869e02c99705e6c82a4da4913f2c46495",
            "source_body_bytes": 4915940,
            "source_body_sha256": "fec5974b05b6791fe1ad183fa2109ec0efc2e74dd99625a154998f2bf080d3f3",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/bgk.html",
            "label": "Program-hosted Bundles, Sheaves and Cohomology — complete English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 4347141,
            "sha256": "855e49eff1cad56907487f2d4aab15d20790a221fb9c7adbc2db507b657a98b4",
            "source_body_bytes": 4343626,
            "source_body_sha256": "6bea7b292a660dada79f3bc2ce2913f27d26e3b9a571f90e3afb07056fcdf242",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/companion.html",
            "label": "Program-hosted From Varieties to Schemes — English HTML companion",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 1491013,
            "sha256": "19fa9dbdf763d252b53448039c56d902c7bcc6566cd81a123c4042cdd3b58776",
            "source_body_bytes": 1487498,
            "source_body_sha256": "064bbcb8065d55a3be3bfe0a9127af166b77d47499db08f9d1ae531d366a50f2",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/en/",
            "label": "Original English-edition website — alternate complete HTML host",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/01_Algebraic-Curves_en_Units-01-30.pdf",
            "label": "Algebraic Curves — complete English course — 504 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 16029193,
            "sha256": "547a0e8f5185cd133edac64cac42ecb7590947ff74d45efe0eb66db7c0a62b46",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/03_Bundles-Sheaves-and-Cohomology_en_Units-01-30.pdf",
            "label": "Bundles, Sheaves and Cohomology — complete English course — 381 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2953314,
            "sha256": "dffad20f1945c6f0183414cd88fa29e34e230dac14b7fae429ad09c96be4c0f1",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "PDF",
            "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/05_From-Varieties-to-Schemes_Original-Editorial-Companion_en.pdf",
            "label": "From Varieties to Schemes — editorial companion — 89 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 808762,
            "sha256": "9272957782c4c8cf7c1b2a12c7edbf445db64270e0a62a37688b9301d925b6a2",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22543825",
            "label": "Complete bilingual edition archive — 974 pages with universal reader navigation",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/api/records/22543825/files/01_Bundel-Berkas-dan-Kohomologi_id-ID_Units-01-30_corr1.pdf/content",
            "label": "Bundel, Berkas, dan Kohomologi — 30 unit lengkap — 380 halaman",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2943608,
            "sha256": "34fb81e572f60e20e4dadff9f5040da7abf9882bbf5cf64a425a03297428a436",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/api/records/22543825/files/01_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1.pdf/content",
            "label": "Pendamping: dari varietas ke skema — 90 halaman",
            "label_language": "id",
            "primary": false,
            "offline_after_download": true,
            "bytes": 747673,
            "sha256": "ed54f440409b2aa7beb5a1ff24be0e54de7845576f3f4d06e88fd58c9feb2131",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d100/D100.html",
            "label": "D100 · Algebraic Geometry capability (English)",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 362956,
            "sha256": "4d473facb965f106ff20b2d5a55f3366ef251ce3834148ec61a36d131719eebc",
            "source_body_bytes": 359425,
            "source_body_sha256": "c06be44747a4767271e26c55c0b6bc747645a7800d9414899b2e9c9b0bf6be3b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22543825/files/01_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1.pdf?download=1",
            "label": "Pendamping Editorial: Dari Varietas ke Skema",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "ed54f440409b2aa7beb5a1ff24be0e54de7845576f3f4d06e88fd58c9feb2131",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D100",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D100",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/",
              "label": "Program-hosted Algebraic Geometry Bridge — complete English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 4780,
              "sha256": "9da1082ab1bc3a820cdec7d832c05401474b30754f42391e5015902fc6666317",
              "source_body_bytes": 1415,
              "source_body_sha256": "7e8dce9036872f91b191c3a87baa5ba0d4a86b22ed4beff2460d136742de2906",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/ak.html",
              "label": "Program-hosted Algebraic Curves — complete English HTML reader",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": 4919455,
              "sha256": "c0f2b33ba1a2bf431b808b0a4f37fe2869e02c99705e6c82a4da4913f2c46495",
              "source_body_bytes": 4915940,
              "source_body_sha256": "fec5974b05b6791fe1ad183fa2109ec0efc2e74dd99625a154998f2bf080d3f3",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/bgk.html",
              "label": "Program-hosted Bundles, Sheaves and Cohomology — complete English HTML reader",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": 4347141,
              "sha256": "855e49eff1cad56907487f2d4aab15d20790a221fb9c7adbc2db507b657a98b4",
              "source_body_bytes": 4343626,
              "source_body_sha256": "6bea7b292a660dada79f3bc2ce2913f27d26e3b9a571f90e3afb07056fcdf242",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D100/reader/companion.html",
              "label": "Program-hosted From Varieties to Schemes — English HTML companion",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": 1491013,
              "sha256": "19fa9dbdf763d252b53448039c56d902c7bcc6566cd81a123c4042cdd3b58776",
              "source_body_bytes": 1487498,
              "source_body_sha256": "064bbcb8065d55a3be3bfe0a9127af166b77d47499db08f9d1ae531d366a50f2",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/en/",
              "label": "Original English-edition website — alternate complete HTML host",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/01_Algebraic-Curves_en_Units-01-30.pdf",
              "label": "Algebraic Curves — complete English course — 504 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 16029193,
              "sha256": "547a0e8f5185cd133edac64cac42ecb7590947ff74d45efe0eb66db7c0a62b46",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/03_Bundles-Sheaves-and-Cohomology_en_Units-01-30.pdf",
              "label": "Bundles, Sheaves and Cohomology — complete English course — 381 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 2953314,
              "sha256": "dffad20f1945c6f0183414cd88fa29e34e230dac14b7fae429ad09c96be4c0f1",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "PDF",
              "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id/releases/download/en-v1.0.0/05_From-Varieties-to-Schemes_Original-Editorial-Companion_en.pdf",
              "label": "From Varieties to Schemes — editorial companion — 89 pages",
              "label_language": "en",
              "primary": false,
              "offline_after_download": true,
              "bytes": 808762,
              "sha256": "9272957782c4c8cf7c1b2a12c7edbf445db64270e0a62a37688b9301d925b6a2",
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Algebraische_Kurven_(Osnabr%C3%BCck_2025-2026)",
              "label": "Holger Brenner — Algebraische Kurven (Osnabrück 2025–2026)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:Algebraische_Kurven_(Osnabr%C3%BCck_2012)",
              "label": "Holger Brenner — Algebraische Kurven (Osnabrück 2012)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "de",
              "media_type": "HTML",
              "url": "https://de.wikiversity.org/wiki/Kurs:B%C3%BCndel,_Garben_und_Kohomologie_(Osnabr%C3%BCck_2019-2020)",
              "label": "Holger Brenner — Bündel, Garben und Kohomologie (2019–2020)",
              "label_language": "de",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "en",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22543825",
            "label": "Complete bilingual edition archive — 974 pages with universal reader navigation",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/algebraic-geometry-bridge-id",
            "label": "English source and modular backend",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/api/records/22543825/files/01_Kurva-Aljabar_id-ID_Units-01-30_corr1.pdf/content",
            "label": "Bahasa Indonesia — Algebraic Curves — all 30 units — 505 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 16026554,
            "sha256": "5af87fd1fd4b85c76bc4fa83e655bdb47d859700a3e57b2d4e7c0ca9c4cf5421",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/",
            "label": "Bahasa Indonesia — Read Algebraic Curves — all 30 units",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 23808146,
            "sha256": "d9aebfade01203e7b0c20cf468d544365f6a51fcf994ba8419ee28e93ec83b89",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://zenodo.org/api/records/22543825/files/02_Kurva-Aljabar_id-ID_Units-01-30_corr1.html/content",
            "label": "Bahasa Indonesia — Download complete Algebraic Curves HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 23775120,
            "sha256": "c956521f3173889099771eebc8815a613d736ea685d4b11ea266710271af777b",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/api/records/22543825/files/01_Bundel-Berkas-dan-Kohomologi_id-ID_Units-01-30_corr1.pdf/content",
            "label": "Bahasa Indonesia — Bundles, Sheaves and Cohomology — all 30 units — 380 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2943608,
            "sha256": "34fb81e572f60e20e4dadff9f5040da7abf9882bbf5cf64a425a03297428a436",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/algebraic-geometry-bridge-id/bgk/",
            "label": "Bahasa Indonesia — Read Bundles, Sheaves and Cohomology — all 30 units",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 6839675,
            "sha256": "8f27972340bbe1dddd45294db6a637c64656cfa1b27d4bd4d54632c84ec3e886",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML",
            "url": "https://zenodo.org/api/records/22543825/files/02_Bundel-Berkas-dan-Kohomologi_id-ID_Units-01-30_corr1.html/content",
            "label": "Bahasa Indonesia — Download complete Bundles, Sheaves and Cohomology HTML",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 6839229,
            "sha256": "a37e060ed1ea3c30860380cc07ccdbc269dc1b115c865fe5b9d063382217414f",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "PDF",
            "url": "https://zenodo.org/api/records/22543825/files/01_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1.pdf/content",
            "label": "Bahasa Indonesia — Companion: from varieties to schemes — 90 pages",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 747673,
            "sha256": "ed54f440409b2aa7beb5a1ff24be0e54de7845576f3f4d06e88fd58c9feb2131",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "HTML ZIP",
            "url": "https://zenodo.org/api/records/22543825/files/02_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1_html.zip/content",
            "label": "Bahasa Indonesia — Download the companion HTML package",
            "label_language": "en",
            "primary": false,
            "offline_after_download": true,
            "bytes": 2784305,
            "sha256": "487c13991626f0e2c524d5c455930b83b6b242d54d8915087edf4823f1303bdc",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d100/D100.html",
            "label": "D100 · Algebraic Geometry capability (English)",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 362956,
            "sha256": "4d473facb965f106ff20b2d5a55f3366ef251ce3834148ec61a36d131719eebc",
            "source_body_bytes": 359425,
            "source_body_sha256": "c06be44747a4767271e26c55c0b6bc747645a7800d9414899b2e9c9b0bf6be3b",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "companion",
            "authority_role": "program-edition",
            "relation_to_source": "companion-to",
            "content_language": "id",
            "media_type": "companion",
            "url": "https://zenodo.org/records/22543825/files/01_Pendamping-Editorial-Varietas-ke-Skema_id-ID_corr1.pdf?download=1",
            "label": "Pendamping Editorial: Dari Varietas ke Skema",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": "ed54f440409b2aa7beb5a1ff24be0e54de7845576f3f4d06e88fd58c9feb2131",
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D110": {
      "id": {
        "course_id": "D110",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D110",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/mathematics-in-lean-id/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "id",
              "media_type": "edition",
              "url": "https://zenodo.org/records/22062017/files/matematika-dalam-lean-bahasa-indonesia.pdf?download=1",
              "label": "Unduh",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://leanprover-community.github.io/mathematics_in_lean/",
              "label": "Authoritative original — Mathematics in Lean",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-mirror",
            "relation_to_source": "mirror-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D110/",
            "label": "Program-hosted original English HTML reader",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 15632,
            "sha256": "ae278746849d021de9671a6cb98e8833c766b5b065012b40ecafa15df0c56b06",
            "source_body_bytes": 13331,
            "source_body_sha256": "37d488d1d49d8eab27604074eca6f8805cd375b41feef98341e93360d7e6b7be",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062017",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematics-in-lean-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D110",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D110",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-mirror",
              "relation_to_source": "mirror-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/courses/D110/",
              "label": "Program-hosted original English HTML reader",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": 15632,
              "sha256": "ae278746849d021de9671a6cb98e8833c766b5b065012b40ecafa15df0c56b06",
              "source_body_bytes": 13331,
              "source_body_sha256": "37d488d1d49d8eab27604074eca6f8805cd375b41feef98341e93360d7e6b7be",
              "hosted_navigation_overlay": "v1"
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "upstream-authority",
              "relation_to_source": "source",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://leanprover-community.github.io/mathematics_in_lean/",
              "label": "Authoritative original — Mathematics in Lean",
              "label_language": "en",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/mathematics-in-lean-id/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22062017/files/matematika-dalam-lean-bahasa-indonesia.pdf?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22062017",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/mathematics-in-lean-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    },
    "D120": {
      "id": {
        "course_id": "D120",
        "interface_locale": "id",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/id/#course-D120",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "original-work",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D120/reader/",
              "label": "Buka bahan belajar",
              "label_language": "id",
              "primary": true,
              "offline_after_download": false,
              "bytes": 38741,
              "sha256": "8069ff963969bf29b50c38b4383e0387fb77fa18b44919fe012d159144e03e85",
              "source_body_bytes": 36596,
              "source_body_sha256": "f2481c51f99b7760d155849447693639184c316f316da7d05d2acf9167ef7d3d",
              "hosted_navigation_overlay": "v1"
            },
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "mirrors",
              "content_language": "id",
              "media_type": "reader",
              "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/",
              "label": "Pembaca HTML asli edisi D120",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "program-authority",
              "relation_to_source": "source",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/",
              "label": "Kerja Matematis yang Dapat Ditelusuri",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22073823/files/o017-d120-id-2026.08.24-reader-html.zip?download=1",
            "label": "Unduh",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "translation-of",
            "content_language": "en",
            "media_type": "HTML",
            "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/en/",
            "label": "Traceable Mathematical Work — complete English edition",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120/D120.html",
            "label": "D120 · Kerja Matematika yang Dapat Ditelusuri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 39505,
            "sha256": "7f39b9cc5d22a0fc36b30934a4eecc278df75e594efb8e5af78e0af8fae56520",
            "source_body_bytes": 37188,
            "source_body_sha256": "52bd7eeade830ae749260307968fda2dba3a4eadb8b4ad917e741baac718c5ba",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120-en/D120.html",
            "label": "D120 · Traceable Mathematical Work in English",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 38257,
            "sha256": "1665ddc5822eafbae383460aa6fc9baf818d9767e13a0b64996e59e1352e649a",
            "source_body_bytes": 35932,
            "source_body_sha256": "66d4ff0f9e9b69a65d4792b8ab64ae421bdb9a0d81c35a596d926331bf1456fa",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120-en/D120-educator.html",
            "label": "D120 · English educator map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 24735,
            "sha256": "566d83dd1cdadd6487a3eae1d252596768608dcbbaaf54656bb031df5d4f271e",
            "source_body_bytes": 22428,
            "source_body_sha256": "1a88e2e053dd53a0df5d49d3ed92f9feacce035ce2f9a5533d4cb856739d2d31",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22073823",
            "label": "Arsip DOI",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/kerja-matematika-yang-dapat-ditelusuri-id",
            "label": "Sumber & repositori",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Indeks modular bersama",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      },
      "en": {
        "course_id": "D120",
        "interface_locale": "en",
        "locale_route": "https://kokunoyumeto.github.io/program-matematika-indonesia/en/#course-D120",
        "program_hosted_reader": {
          "status": "available",
          "resources": [
            {
              "access_role": "hosted-reader",
              "authority_role": "program-edition",
              "relation_to_source": "translation-of",
              "content_language": "en",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/en/",
              "label": "Traceable Mathematical Work — complete English edition",
              "label_language": "en",
              "primary": true,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "authoritative_original": {
          "status": "available",
          "resources": [
            {
              "access_role": "authoritative-original",
              "authority_role": "program-authority",
              "relation_to_source": "source",
              "content_language": "id",
              "media_type": "HTML",
              "url": "https://kokunoyumeto.github.io/kerja-matematika-yang-dapat-ditelusuri-id/",
              "label": "Kerja Matematis yang Dapat Ditelusuri",
              "label_language": "id",
              "primary": false,
              "offline_after_download": false,
              "bytes": null,
              "sha256": null,
              "source_body_bytes": null,
              "source_body_sha256": null,
              "hosted_navigation_overlay": null
            }
          ]
        },
        "offline_copies": [],
        "alternatives": [
          {
            "access_role": "hosted-reader",
            "authority_role": "program-edition",
            "relation_to_source": "original-work",
            "content_language": "id",
            "media_type": "reader",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/id-ID/courses/D120/reader/",
            "label": "Bahasa Indonesia — Open learning material",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 38741,
            "sha256": "8069ff963969bf29b50c38b4383e0387fb77fa18b44919fe012d159144e03e85",
            "source_body_bytes": 36596,
            "source_body_sha256": "f2481c51f99b7760d155849447693639184c316f316da7d05d2acf9167ef7d3d",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "offline-copy",
            "authority_role": "program-edition",
            "relation_to_source": "offline-copy-of",
            "content_language": "id",
            "media_type": "edition",
            "url": "https://zenodo.org/records/22073823/files/o017-d120-id-2026.08.24-reader-html.zip?download=1",
            "label": "Bahasa Indonesia — Download",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120/D120.html",
            "label": "D120 · Kerja Matematika yang Dapat Ditelusuri",
            "label_language": "id",
            "primary": false,
            "offline_after_download": false,
            "bytes": 39505,
            "sha256": "7f39b9cc5d22a0fc36b30934a4eecc278df75e594efb8e5af78e0af8fae56520",
            "source_body_bytes": 37188,
            "source_body_sha256": "52bd7eeade830ae749260307968fda2dba3a4eadb8b4ad917e741baac718c5ba",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120-en/D120.html",
            "label": "D120 · Traceable Mathematical Work in English",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 38257,
            "sha256": "1665ddc5822eafbae383460aa6fc9baf818d9767e13a0b64996e59e1352e649a",
            "source_body_bytes": 35932,
            "source_body_sha256": "66d4ff0f9e9b69a65d4792b8ab64ae421bdb9a0d81c35a596d926331bf1456fa",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "tool",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "en",
            "media_type": "tool",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/d120-en/D120-educator.html",
            "label": "D120 · English educator map",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": 24735,
            "sha256": "566d83dd1cdadd6487a3eae1d252596768608dcbbaaf54656bb031df5d4f271e",
            "source_body_bytes": 22428,
            "source_body_sha256": "1a88e2e053dd53a0df5d49d3ed92f9feacce035ce2f9a5533d4cb856739d2d31",
            "hosted_navigation_overlay": "v1"
          },
          {
            "access_role": "preservation-record",
            "authority_role": "program-edition",
            "relation_to_source": "preserves",
            "content_language": "id",
            "media_type": "archive",
            "url": "https://doi.org/10.5281/zenodo.22073823",
            "label": "DOI archive — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "repository",
            "authority_role": "program-edition",
            "relation_to_source": "supports",
            "content_language": "id",
            "media_type": "repository",
            "url": "https://github.com/KokunoYumeto/kerja-matematika-yang-dapat-ditelusuri-id",
            "label": "Source & repository — Bahasa Indonesia",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          },
          {
            "access_role": "backend",
            "authority_role": "program-edition",
            "relation_to_source": "indexes",
            "content_language": "und",
            "media_type": "backend",
            "url": "https://kokunoyumeto.github.io/program-matematika-indonesia/backend/index.html",
            "label": "Shared modular index",
            "label_language": "en",
            "primary": false,
            "offline_after_download": false,
            "bytes": null,
            "sha256": null,
            "source_body_bytes": null,
            "source_body_sha256": null,
            "hosted_navigation_overlay": null
          }
        ]
      }
    }
  }
}
