this.Urls = (function () {
    "use strict";
    var data = {"urls": [["1-add-forge-request-creat-doc", [["1/add-forge/request/createdoc/", []]]], ["1-add-forge-request-ge-doc", [["1/add-forge/request/getdoc/", []]]], ["1-add-forge-request-lis-doc", [["1/add-forge/request/listdoc/", []]]], ["1-add-forge-request-updat-doc", [["1/add-forge/request/updatedoc/", []]]], ["1-content-doc", [["1/content/doc/", []]]], ["1-content-filetype-doc", [["1/content/filetype/doc/", []]]], ["1-content-known-doc", [["1/content/known/doc/", []]]], ["1-content-language-doc", [["1/content/language/doc/", []]]], ["1-content-license-doc", [["1/content/license/doc/", []]]], ["1-content-raw-doc", [["1/content/raw/doc/", []]]], ["1-directory-doc", [["1/directory/doc/", []]]], ["1-graph-doc", [["1/graph/doc/", []]]], ["1-known-doc", [["1/known/doc/", []]]], ["1-origin-doc", [["1/origin/doc/", []]]], ["1-origin-intrinsic-metadata-doc", [["1/origin/intrinsic-metadata/doc/", []]]], ["1-origin-metadata-search-doc", [["1/origin/metadata-search/doc/", []]]], ["1-origin-save-doc", [["1/origin/save/doc/", []]]], ["1-origin-save-webhook-bitbucket-doc", [["1/origin/save/webhook/bitbucket/doc/", []]]], ["1-origin-save-webhook-gitea-doc", [["1/origin/save/webhook/gitea/doc/", []]]], ["1-origin-save-webhook-github-doc", [["1/origin/save/webhook/github/doc/", []]]], ["1-origin-save-webhook-gitlab-doc", [["1/origin/save/webhook/gitlab/doc/", []]]], ["1-origin-save-webhook-sourceforge-doc", [["1/origin/save/webhook/sourceforge/doc/", []]]], ["1-origin-search-doc", [["1/origin/search/doc/", []]]], ["1-origin-visit-doc", [["1/origin/visit/doc/", []]]], ["1-origin-visit-latest-doc", [["1/origin/visit/latest/doc/", []]]], ["1-origin-visits-doc", [["1/origin/visits/doc/", []]]], ["1-origins-doc", [["1/origins/doc/", []]]], ["1-ping-doc", [["1/ping/doc/", []]]], ["1-raw-doc", [["1/raw/doc/", []]]], ["1-raw-extrinsic-metadata-origin-authorities-doc", [["1/raw-extrinsic-metadata/origin/authorities/doc/", []]]], ["1-raw-extrinsic-metadata-swhid-authorities-doc", [["1/raw-extrinsic-metadata/swhid/authorities/doc/", []]]], ["1-raw-extrinsic-metadata-swhid-doc", [["1/raw-extrinsic-metadata/swhid/doc/", []]]], ["1-release-doc", [["1/release/doc/", []]]], ["1-resolve-doc", [["1/resolve/doc/", []]]], ["1-revision-directory-doc", [["1/revision/directory/doc/", []]]], ["1-revision-doc", [["1/revision/doc/", []]]], ["1-revision-log-doc", [["1/revision/log/doc/", []]]], ["1-revision-raw-doc", [["1/revision/raw/doc/", []]]], ["1-snapshot-doc", [["1/snapshot/doc/", []]]], ["1-stat-counters-doc", [["1/stat/counters/doc/", []]]], ["1-vault-directory-doc", [["1/vault/directory/doc/", []]]], ["1-vault-directory-raw-doc", [["1/vault/directory/raw/doc/", []]]], ["1-vault-flat-doc", [["1/vault/flat/doc/", []]]], ["1-vault-flat-raw-doc", [["1/vault/flat/raw/doc/", []]]], ["1-vault-git-bare-doc", [["1/vault/git-bare/doc/", []]]], ["1-vault-git-bare-raw-doc", [["1/vault/git-bare/raw/doc/", []]]], ["1-vault-gitfast-doc", [["1/vault/gitfast/doc/", []]]], ["1-vault-gitfast-raw-doc", [["1/vault/gitfast/raw/doc/", []]]], ["1-vault-revision-gitfast-doc", [["1/vault/revision/gitfast/doc/", []]]], ["1-vault-revision_gitfast-raw-doc", [["1/vault/revision_gitfast/raw/doc/", []]]], ["add-forge-now-request-dashboard", [["admin/add-forge/request/%(request_id)s/", ["request_id"]]]], ["add-forge-now-requests-moderation", [["admin/add-forge/requests/", []]]], ["add-forge-request-list-datatables", [["add-forge/request/list/datatables/", []]]], ["admin-deposit", [["admin/deposit/", []]]], ["admin-deposit-list", [["admin/deposit/list/", []]]], ["admin-mailmap", [["admin/mailmap/", []]]], ["admin-origin-save-add-authorized-url", [["admin/origin/save/authorized_urls/add/%(origin_url)s/", ["origin_url"]]]], ["admin-origin-save-add-unauthorized-url", [["admin/origin/save/unauthorized_urls/add/%(origin_url)s/", ["origin_url"]]]], ["admin-origin-save-authorized-urls-list", [["admin/origin/save/authorized_urls/list/", []]]], ["admin-origin-save-filters", [["admin/origin/save/filters/", []]]], ["admin-origin-save-remove-authorized-url", [["admin/origin/save/authorized_urls/remove/%(origin_url)s/", ["origin_url"]]]], ["admin-origin-save-remove-unauthorized-url", [["admin/origin/save/unauthorized_urls/remove/%(origin_url)s/", ["origin_url"]]]], ["admin-origin-save-request-accept", [["admin/origin/save/request/accept/%(visit_type)s/url/%(origin_url)s/", ["visit_type", "origin_url"]]]], ["admin-origin-save-request-reject", [["admin/origin/save/request/reject/%(visit_type)s/url/%(origin_url)s/", ["visit_type", "origin_url"]]]], ["admin-origin-save-request-remove", [["admin/origin/save/request/remove/%(sor_id)s/", ["sor_id"]]]], ["admin-origin-save-requests", [["admin/origin/save/requests/", []]]], ["admin-origin-save-unauthorized-urls-list", [["admin/origin/save/unauthorized_urls/list/", []]]], ["api-1-add-forge-request-creat-doc", [["api/1/add-forge/request/createdoc/", []]]], ["api-1-add-forge-request-create", [["api/1/add-forge/request/create/", []]]], ["api-1-add-forge-request-ge-doc", [["api/1/add-forge/request/getdoc/", []]]], ["api-1-add-forge-request-get", [["api/1/add-forge/request/%(id)s/get/", ["id"]]]], ["api-1-add-forge-request-lis-doc", [["api/1/add-forge/request/listdoc/", []]]], ["api-1-add-forge-request-list", [["api/1/add-forge/request/list/", []]]], ["api-1-add-forge-request-updat-doc", [["api/1/add-forge/request/updatedoc/", []]]], ["api-1-add-forge-request-update", [["api/1/add-forge/request/%(id)s/update/", ["id"]]]], ["api-1-content", [["api/1/content/%(q)s/", ["q"]]]], ["api-1-content-doc", [["api/1/content/doc/", []]]], ["api-1-content-filetype", [["api/1/content/%(q)s/filetype/", ["q"]]]], ["api-1-content-filetype-doc", [["api/1/content/filetype/doc/", []]]], ["api-1-content-filetype-uppercase-checksum", [["api/1/content/%(q)s/filetype/", ["q"]]]], ["api-1-content-known", [["api/1/content/known/search/", []], ["api/1/content/known/%(q)s/", ["q"]]]], ["api-1-content-known-doc", [["api/1/content/known/doc/", []]]], ["api-1-content-language", [["api/1/content/%(q)s/language/", ["q"]]]], ["api-1-content-language-doc", [["api/1/content/language/doc/", []]]], ["api-1-content-language-uppercase-checksum", [["api/1/content/%(q)s/language/", ["q"]]]], ["api-1-content-license", [["api/1/content/%(q)s/license/", ["q"]]]], ["api-1-content-license-doc", [["api/1/content/license/doc/", []]]], ["api-1-content-license-uppercase-checksum", [["api/1/content/%(q)s/license/", ["q"]]]], ["api-1-content-raw", [["api/1/content/%(q)s/raw/", ["q"]]]], ["api-1-content-raw-doc", [["api/1/content/raw/doc/", []]]], ["api-1-content-raw-uppercase-checksum", [["api/1/content/%(q)s/raw/", ["q"]]]], ["api-1-content-uppercase-checksum", [["api/1/content/%(q)s/", ["q"]]]], ["api-1-directory", [["api/1/directory/%(sha1_git)s/", ["sha1_git"]], ["api/1/directory/%(sha1_git)s/%(path)s/", ["sha1_git", "path"]]]], ["api-1-directory-doc", [["api/1/directory/doc/", []]]], ["api-1-directory-uppercase-checksum", [["api/1/directory/%(sha1_git)s/", ["sha1_git"]], ["api/1/directory/%(sha1_git)s/%(path)s/", ["sha1_git", "path"]]]], ["api-1-endpoints", [["api/1/", []]]], ["api-1-graph", [["api/1/graph/%(graph_query)s/", ["graph_query"]]]], ["api-1-graph-doc", [["api/1/graph/", []], ["api/1/graph/doc/", []]]], ["api-1-homepage", [["api/", []]]], ["api-1-known", [["api/1/known/", []]]], ["api-1-known-doc", [["api/1/known/doc/", []]]], ["api-1-origin", [["api/1/origin/%(origin_url)s/get/", ["origin_url"]]]], ["api-1-origin-doc", [["api/1/origin/doc/", []]]], ["api-1-origin-intrinsic-metadata-doc", [["api/1/origin/intrinsic-metadata/doc/", []]]], ["api-1-origin-metadata-search", [["api/1/origin/metadata-search/", []]]], ["api-1-origin-metadata-search-doc", [["api/1/origin/metadata-search/doc/", []]]], ["api-1-origin-save-doc", [["api/1/origin/save/doc/", []]]], ["api-1-origin-save-webhook-bitbucket", [["api/1/origin/save/webhook/bitbucket/", []]]], ["api-1-origin-save-webhook-bitbucket-doc", [["api/1/origin/save/webhook/bitbucket/doc/", []]]], ["api-1-origin-save-webhook-gitea", [["api/1/origin/save/webhook/gitea/", []]]], ["api-1-origin-save-webhook-gitea-doc", [["api/1/origin/save/webhook/gitea/doc/", []]]], ["api-1-origin-save-webhook-github", [["api/1/origin/save/webhook/github/", []]]], ["api-1-origin-save-webhook-github-doc", [["api/1/origin/save/webhook/github/doc/", []]]], ["api-1-origin-save-webhook-gitlab", [["api/1/origin/save/webhook/gitlab/", []]]], ["api-1-origin-save-webhook-gitlab-doc", [["api/1/origin/save/webhook/gitlab/doc/", []]]], ["api-1-origin-save-webhook-sourceforge", [["api/1/origin/save/webhook/sourceforge/", []]]], ["api-1-origin-save-webhook-sourceforge-doc", [["api/1/origin/save/webhook/sourceforge/doc/", []]]], ["api-1-origin-search", [["api/1/origin/search/%(url_pattern)s/", ["url_pattern"]]]], ["api-1-origin-search-doc", [["api/1/origin/search/doc/", []]]], ["api-1-origin-visit", [["api/1/origin/%(origin_url)s/visit/%(visit_id)s/", ["origin_url", "visit_id"]]]], ["api-1-origin-visit-doc", [["api/1/origin/visit/doc/", []]]], ["api-1-origin-visit-latest", [["api/1/origin/%(origin_url)s/visit/latest/", ["origin_url"]]]], ["api-1-origin-visit-latest-doc", [["api/1/origin/visit/latest/doc/", []]]], ["api-1-origin-visits", [["api/1/origin/%(origin_url)s/visits/", ["origin_url"]]]], ["api-1-origin-visits-doc", [["api/1/origin/visits/doc/", []]]], ["api-1-origins", [["api/1/origins/", []]]], ["api-1-origins-doc", [["api/1/origins/doc/", []]]], ["api-1-ping", [["api/1/ping/", []]]], ["api-1-ping-doc", [["api/1/ping/doc/", []]]], ["api-1-raw-doc", [["api/1/raw/doc/", []]]], ["api-1-raw-extrinsic-metadata-get", [["api/1/raw-extrinsic-metadata/get/%(id)s/", ["id"]]]], ["api-1-raw-extrinsic-metadata-origin-authorities", [["api/1/raw-extrinsic-metadata/origin/%(origin_url)s/authorities/", ["origin_url"]]]], ["api-1-raw-extrinsic-metadata-origin-authorities-doc", [["api/1/raw-extrinsic-metadata/origin/authorities/doc/", []]]], ["api-1-raw-extrinsic-metadata-swhid", [["api/1/raw-extrinsic-metadata/swhid/%(target)s/", ["target"]]]], ["api-1-raw-extrinsic-metadata-swhid-authorities", [["api/1/raw-extrinsic-metadata/swhid/%(target)s/authorities/", ["target"]]]], ["api-1-raw-extrinsic-metadata-swhid-authorities-doc", [["api/1/raw-extrinsic-metadata/swhid/authorities/doc/", []]]], ["api-1-raw-extrinsic-metadata-swhid-doc", [["api/1/raw-extrinsic-metadata/swhid/doc/", []]]], ["api-1-raw-object", [["api/1/raw/%(swhid)s/", ["swhid"]]]], ["api-1-release", [["api/1/release/%(sha1_git)s/", ["sha1_git"]]]], ["api-1-release-doc", [["api/1/release/doc/", []]]], ["api-1-release-uppercase-checksum", [["api/1/release/%(sha1_git)s/", ["sha1_git"]]]], ["api-1-resolve-doc", [["api/1/resolve/doc/", []]]], ["api-1-resolve-swhid", [["api/1/resolve/%(swhid)s/", ["swhid"]]]], ["api-1-revision", [["api/1/revision/%(sha1_git)s/", ["sha1_git"]]]], ["api-1-revision-directory", [["api/1/revision/%(sha1_git)s/directory/", ["sha1_git"]], ["api/1/revision/%(sha1_git)s/directory/%(dir_path)s/", ["sha1_git", "dir_path"]]]], ["api-1-revision-directory-doc", [["api/1/revision/directory/doc/", []]]], ["api-1-revision-directory-uppercase-checksum", [["api/1/revision/%(sha1_git)s/directory/", ["sha1_git"]], ["api/1/revision/%(sha1_git)s/directory/%(dir_path)s/", ["sha1_git", "dir_path"]]]], ["api-1-revision-doc", [["api/1/revision/doc/", []]]], ["api-1-revision-log", [["api/1/revision/%(sha1_git)s/log/", ["sha1_git"]]]], ["api-1-revision-log-doc", [["api/1/revision/log/doc/", []]]], ["api-1-revision-log-uppercase-checksum", [["api/1/revision/%(sha1_git)s/log/", ["sha1_git"]]]], ["api-1-revision-raw-doc", [["api/1/revision/raw/doc/", []]]], ["api-1-revision-raw-message", [["api/1/revision/%(sha1_git)s/raw/", ["sha1_git"]]]], ["api-1-revision-raw-message-uppercase-checksum", [["api/1/revision/%(sha1_git)s/raw/", ["sha1_git"]]]], ["api-1-revision-uppercase-checksum", [["api/1/revision/%(sha1_git)s/", ["sha1_git"]]]], ["api-1-save-origin", [["api/1/origin/save/%(visit_type)s/url/%(origin_url)s/", ["visit_type", "origin_url"]], ["api/1/origin/save/%(request_id)s/", ["request_id"]]]], ["api-1-snapshot", [["api/1/snapshot/%(snapshot_id)s/", ["snapshot_id"]]]], ["api-1-snapshot-doc", [["api/1/snapshot/doc/", []]]], ["api-1-snapshot-uppercase-checksum", [["api/1/snapshot/%(snapshot_id)s/", ["snapshot_id"]]]], ["api-1-stat-counters", [["api/1/stat/counters/", []]]], ["api-1-stat-counters-doc", [["api/1/stat/counters/doc/", []]]], ["api-1-vault-cook-directory", [["api/1/vault/directory/%(dir_id)s/", ["dir_id"]]]], ["api-1-vault-cook-directory-uppercase-checksum", [["api/1/vault/directory/%(dir_id)s/", ["dir_id"]]]], ["api-1-vault-cook-flat", [["api/1/vault/flat/%(swhid)s/", ["swhid"]]]], ["api-1-vault-cook-git-bare", [["api/1/vault/git-bare/%(swhid)s/", ["swhid"]]]], ["api-1-vault-cook-gitfast", [["api/1/vault/gitfast/%(swhid)s/", ["swhid"]]]], ["api-1-vault-cook-revision_gitfast", [["api/1/vault/revision/%(rev_id)s/gitfast/", ["rev_id"]]]], ["api-1-vault-cook-revision_gitfast-uppercase-checksum", [["api/1/vault/revision/%(rev_id)s/gitfast/", ["rev_id"]]]], ["api-1-vault-directory-doc", [["api/1/vault/directory/doc/", []]]], ["api-1-vault-directory-raw-doc", [["api/1/vault/directory/raw/doc/", []]]], ["api-1-vault-fetch-directory", [["api/1/vault/directory/%(dir_id)s/raw/", ["dir_id"]]]], ["api-1-vault-fetch-directory-uppercase-checksum", [["api/1/vault/directory/%(dir_id)s/raw/", ["dir_id"]]]], ["api-1-vault-fetch-flat", [["api/1/vault/flat/%(swhid)s/raw/", ["swhid"]]]], ["api-1-vault-fetch-git-bare", [["api/1/vault/git-bare/%(swhid)s/raw/", ["swhid"]]]], ["api-1-vault-fetch-gitfast", [["api/1/vault/gitfast/%(swhid)s/raw/", ["swhid"]]]], ["api-1-vault-fetch-revision_gitfast", [["api/1/vault/revision/%(rev_id)s/gitfast/raw/", ["rev_id"]]]], ["api-1-vault-fetch-revision_gitfast-uppercase-checksum", [["api/1/vault/revision/%(rev_id)s/gitfast/raw/", ["rev_id"]]]], ["api-1-vault-flat-doc", [["api/1/vault/flat/doc/", []]]], ["api-1-vault-flat-raw-doc", [["api/1/vault/flat/raw/doc/", []]]], ["api-1-vault-git-bare-doc", [["api/1/vault/git-bare/doc/", []]]], ["api-1-vault-git-bare-raw-doc", [["api/1/vault/git-bare/raw/doc/", []]]], ["api-1-vault-gitfast-doc", [["api/1/vault/gitfast/doc/", []]]], ["api-1-vault-gitfast-raw-doc", [["api/1/vault/gitfast/raw/doc/", []]]], ["api-1-vault-revision-gitfast-doc", [["api/1/vault/revision/gitfast/doc/", []]]], ["api-1-vault-revision_gitfast-raw-doc", [["api/1/vault/revision_gitfast/raw/doc/", []]]], ["api-origin-intrinsic-metadata", [["api/1/origin/%(origin_url)s/intrinsic-metadata/", ["origin_url"]]]], ["browse-content", [["browse/content/", []], ["browse/content/%(query_string)s/", ["query_string"]]]], ["browse-content-raw", [["browse/content/%(query_string)s/raw/", ["query_string"]]]], ["browse-content-raw-uppercase-checksum", [["browse/content/%(query_string)s/raw/", ["query_string"]]]], ["browse-content-uppercase-checksum", [["browse/content/", []], ["browse/content/%(query_string)s/", ["query_string"]]]], ["browse-directory", [["browse/directory/%(sha1_git)s/", ["sha1_git"]]]], ["browse-directory-legacy", [["browse/directory/%(sha1_git)s/%(path)s/", ["sha1_git", "path"]]]], ["browse-directory-legacy-uppercase-checksum", [["browse/directory/%(sha1_git)s/%(path)s/", ["sha1_git", "path"]]]], ["browse-directory-resolve-content-path", [["browse/directory/resolve/content-path/%(sha1_git)s/", ["sha1_git"]]]], ["browse-directory-resolve-content-path-uppercase-checksum", [["browse/directory/resolve/content-path/%(sha1_git)s/", ["sha1_git"]]]], ["browse-directory-uppercase-checksum", [["browse/directory/%(sha1_git)s/", ["sha1_git"]]]], ["browse-help", [["browse/help/", []]]], ["browse-origin", [["browse/origin/", []]]], ["browse-origin-branches", [["browse/origin/branches/", []]]], ["browse-origin-branches-legacy", [["browse/origin/%(origin_url)s/branches/", ["origin_url"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/branches/", ["origin_url", "timestamp"]]]], ["browse-origin-content", [["browse/origin/content/", []]]], ["browse-origin-content-legacy", [["browse/origin/%(origin_url)s/content/", ["origin_url"]], ["browse/origin/%(origin_url)s/content/%(path)s/", ["origin_url", "path"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/content/%(path)s/", ["origin_url", "timestamp", "path"]]]], ["browse-origin-directory", [["browse/origin/directory/", []]]], ["browse-origin-directory-legacy", [["browse/origin/%(origin_url)s/directory/", ["origin_url"]], ["browse/origin/%(origin_url)s/directory/%(path)s/", ["origin_url", "path"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/directory/%(path)s/", ["origin_url", "timestamp", "path"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/directory/", ["origin_url", "timestamp"]]]], ["browse-origin-legacy", [["browse/origin/%(origin_url)s/", ["origin_url"]]]], ["browse-origin-log", [["browse/origin/log/", []]]], ["browse-origin-log-legacy", [["browse/origin/%(origin_url)s/log/", ["origin_url"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/log/", ["origin_url", "timestamp"]]]], ["browse-origin-releases", [["browse/origin/releases/", []]]], ["browse-origin-releases-legacy", [["browse/origin/%(origin_url)s/releases/", ["origin_url"]], ["browse/origin/%(origin_url)s/visit/%(timestamp)s/releases/", ["origin_url", "timestamp"]]]], ["browse-origin-save", [["browse/origin/save/", []]]], ["browse-origin-visits", [["browse/origin/visits/", []]]], ["browse-origin-visits-legacy", [["browse/origin/%(origin_url)s/visits/", ["origin_url"]]]], ["browse-release", [["browse/release/%(sha1_git)s/", ["sha1_git"]]]], ["browse-release-uppercase-checksum", [["browse/release/%(sha1_git)s/", ["sha1_git"]]]], ["browse-revision", [["browse/revision/%(sha1_git)s/", ["sha1_git"]]]], ["browse-revision-log", [["browse/revision/%(sha1_git)s/log/", ["sha1_git"]]]], ["browse-revision-log-uppercase-checksum", [["browse/revision/%(sha1_git)s/log/", ["sha1_git"]]]], ["browse-revision-uppercase-checksum", [["browse/revision/%(sha1_git)s/", ["sha1_git"]]]], ["browse-search", [["browse/search/", []]]], ["browse-snapshot", [["browse/snapshot/%(snapshot_id)s/", ["snapshot_id"]]]], ["browse-snapshot-branches", [["browse/snapshot/branches/", []], ["browse/snapshot/%(snapshot_id)s/branches/", ["snapshot_id"]]]], ["browse-snapshot-branches-uppercase-checksum", [["browse/snapshot/branches/", []], ["browse/snapshot/%(snapshot_id)s/branches/", ["snapshot_id"]]]], ["browse-snapshot-content", [["browse/snapshot/%(snapshot_id)s/content/", ["snapshot_id"]]]], ["browse-snapshot-content-legacy", [["browse/snapshot/%(snapshot_id)s/content/%(path)s/", ["snapshot_id", "path"]]]], ["browse-snapshot-content-legacy-uppercase-checksum", [["browse/snapshot/%(snapshot_id)s/content/%(path)s/", ["snapshot_id", "path"]]]], ["browse-snapshot-content-uppercase-checksum", [["browse/snapshot/%(snapshot_id)s/content/", ["snapshot_id"]]]], ["browse-snapshot-directory", [["browse/snapshot/%(snapshot_id)s/directory/", ["snapshot_id"]]]], ["browse-snapshot-directory-legacy", [["browse/snapshot/%(snapshot_id)s/directory/%(path)s/", ["snapshot_id", "path"]]]], ["browse-snapshot-directory-legacy-uppercase-checksum", [["browse/snapshot/%(snapshot_id)s/directory/%(path)s/", ["snapshot_id", "path"]]]], ["browse-snapshot-directory-uppercase-checksum", [["browse/snapshot/%(snapshot_id)s/directory/", ["snapshot_id"]]]], ["browse-snapshot-log", [["browse/snapshot/log/", []], ["browse/snapshot/%(snapshot_id)s/log/", ["snapshot_id"]]]], ["browse-snapshot-log-uppercase-checksum", [["browse/snapshot/log/", []], ["browse/snapshot/%(snapshot_id)s/log/", ["snapshot_id"]]]], ["browse-snapshot-releases", [["browse/snapshot/releases/", []], ["browse/snapshot/%(snapshot_id)s/releases/", ["snapshot_id"]]]], ["browse-snapshot-releases-uppercase-checksum", [["browse/snapshot/releases/", []], ["browse/snapshot/%(snapshot_id)s/releases/", ["snapshot_id"]]]], ["browse-snapshot-uppercase-checksum", [["browse/snapshot/%(snapshot_id)s/", ["snapshot_id"]]]], ["browse-swhid", [["%(swhid)s", ["swhid"]]]], ["browse-swhid-iframe", [["browse/embed/%(swhid)s/", ["swhid"]]]], ["browse-swhid-iframe-legacy", [["embed/%(swhid)s/", ["swhid"]]]], ["browse-swhid-legacy", [["%(swhid)s/", ["swhid"]], ["browse/%(swhid)s/", ["swhid"]]]], ["browse-vault", [["browse/vault/", []]]], ["diff-contents", [["browse/content/%(from_query_string)s/diff/%(to_query_string)s/", ["from_query_string", "to_query_string"]]]], ["diff-revision", [["browse/revision/%(sha1_git)s/diff/", ["sha1_git"]]]], ["diff-revision-uppercase-checksum", [["browse/revision/%(sha1_git)s/diff/", ["sha1_git"]]]], ["favicon", [["favicon.ico/", []]]], ["forge-add-create", [["add-forge/request/create/", []]]], ["forge-add-help", [["add-forge/request/help/", []]]], ["forge-add-list", [["add-forge/request/list/", []]]], ["forge-add-message-source", [["add-forge/request/message-source/%(id)s/", ["id"]]]], ["js-reverse", [["jsreverse/", []]]], ["jslicenses", [["jslicenses/", []]]], ["logout", [["logout/", []]]], ["metrics-prometheus", [["metrics/prometheus/", []]]], ["oidc-generate-bearer-token", [["oidc/generate-bearer-token/", []]]], ["oidc-generate-bearer-token-complete", [["oidc/generate-bearer-token-complete/", []]]], ["oidc-get-bearer-token", [["oidc/get-bearer-token/", []]]], ["oidc-list-bearer-tokens", [["oidc/list-bearer-token/", []]]], ["oidc-login", [["oidc/login/", []]]], ["oidc-login-complete", [["oidc/login-complete/", []]]], ["oidc-logout", [["oidc/logout/", []]]], ["oidc-profile", [["oidc/profile/", []]]], ["oidc-revoke-bearer-tokens", [["oidc/revoke-bearer-tokens/", []]]], ["origin-save", [["save/", []]]], ["origin-save-list", [["save/list/", []]]], ["origin-save-requests-list", [["save/requests/list/%(status)s/", ["status"]]]], ["origin-save-task-info", [["save/task/info/%(save_request_id)s/", ["save_request_id"]]]], ["profile-mailmap-add", [["profile/mailmap/add/", []]]], ["profile-mailmap-list", [["profile/mailmap/list/", []]]], ["profile-mailmap-list-datatables", [["profile/mailmap/list/datatables/", []]]], ["profile-mailmap-update", [["profile/mailmap/update/", []]]], ["stat-counters", [["stat_counters/", []]]], ["swh-badge", [["badge/%(object_type)s/%(object_id)s/", ["object_type", "object_id"]]]], ["swh-badge-swhid", [["badge/%(object_swhid)s/", ["object_swhid"]]]], ["swh-coverage", [["coverage/", []]]], ["swh-web-homepage", [["", []]]], ["vault", [["vault/", []]]]], "prefix": "/"};
    function factory(d) {
        var url_patterns = d.urls;
        var url_prefix = d.prefix;
        var Urls = {};
        var self_url_patterns = {};

        var _get_url = function (url_pattern) {
        return function () {
            var _arguments, index, url, url_arg, url_args, _i, _len, _ref,
            _ref_list, match_ref, provided_keys, build_kwargs;

            _arguments = arguments;
            _ref_list = self_url_patterns[url_pattern];

            if (arguments.length == 1 && typeof (arguments[0]) == "object") {
            // kwargs mode
            var provided_keys_list = Object.keys (arguments[0]);
            provided_keys = {};
            for (_i = 0; _i < provided_keys_list.length; _i++)
                provided_keys[provided_keys_list[_i]] = 1;

            match_ref = function (ref)
            {
                var _i;

                // Verify that they have the same number of arguments
                if (ref[1].length != provided_keys_list.length)
                return false;

                for (_i = 0;
                 _i < ref[1].length && ref[1][_i] in provided_keys;
                 _i++);

                // If for loop completed, we have all keys
                return _i == ref[1].length;
            }

            build_kwargs = function (keys) {return _arguments[0];}

            } else {
            // args mode
            match_ref = function (ref)
            {
                return ref[1].length == _arguments.length;
            }

            build_kwargs = function (keys) {
                var kwargs = {};

                for (var i = 0; i < keys.length; i++) {
                kwargs[keys[i]] = _arguments[i];
                }

                return kwargs;
            }
            }

            for (_i = 0;
             _i < _ref_list.length && !match_ref(_ref_list[_i]);
             _i++);

            // can't find a match
            if (_i == _ref_list.length)
            return null;

            _ref = _ref_list[_i];
            url = _ref[0], url_args = build_kwargs(_ref[1]);
            for (url_arg in url_args) {
            var url_arg_value = url_args[url_arg];
            if (url_arg_value === undefined || url_arg_value === null) {
                url_arg_value = '';
            } else {
                url_arg_value = url_arg_value.toString();
            }
            url = url.replace("%(" + url_arg + ")s", url_arg_value);
            }
            return url_prefix + url;
        };
        };

        var name, pattern, url, _i, _len, _ref;
        for (_i = 0, _len = url_patterns.length; _i < _len; _i++) {
        _ref = url_patterns[_i], name = _ref[0], pattern = _ref[1];
        self_url_patterns[name] = pattern;
        url = _get_url(name);
        Urls[name.replace(/[-_]+(.)/g, function (_m, p1) { return p1.toUpperCase(); })] = url;
        Urls[name.replace(/-/g, '_')] = url;
        Urls[name] = url;
        }

        return Urls;
    }
    return data ? factory(data) : factory;
})();
