{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.0002452731,
        "rte": "az",
        "prob": 0.0002452731
      },
      {
        "cls": 0,
        "raw": 0.000039428473,
        "rte": "az/crate",
        "prob": 0.000039428473
      }
    ],
    "prob": 0.0002452731,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0002452731132507324,
        "type": "crate"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001537799835205078,
        "type": "rust"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016808509826660156,
        "type": "rust"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013401110663835425,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-06T13:12:55Z"
  },
  "path": "typst-kit-0.12.0-rc1.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg000000@)v/Ac3aMyIv(xfFk7ne?!\u003e$v\u003e/PCA::630ptj0Ch2Hqv1dX@dS/c-x+DUv:QoTWbqhUCz6}Jk^=(ZB9%\u00260q5!LB7sr]Yhuteha?FhERrvxz.\u003czrVJJDGnJ60giCT?iE{G(1B{V\u0026klq",
            "ln": 0
          }
        ],
        "mol": "H₂(Cm₂F)",
        "sha": "70e37da380d860505789cb74575e8c0ca89ee420cea8756eba5f3000429f9f2c",
        "path": "typst-kit-0.12.0-rc1.crate",
        "risk": 3,
        "size": 12714,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 12714,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 12714,
              "peak_region_entropy": 7.83
            }
          }
        },
        "ident": {
          "name": {
            "value": "typst-kit",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/typst/typst",
              "kind": "repository",
              "source": "crate.repository"
            },
            {
              "url": "https://typst.app",
              "kind": "homepage",
              "source": "crate.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "The Typst Project Developers",
              "role": "author",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.12.0-rc1",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "typst-kit",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/http/get::rust-ureq-agent-get",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust ureq agent sends GET request",
            "from": [
              {
                "file": 4
              }
            ],
            "uses": [
              5,
              8
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "micro-behaviors/communications/http/lib/crate::ureq-crate",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses the Rust ureq HTTP client",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "metadata/package/manifest/name::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "micro-behaviors/data/source/property/read::rust-get-accessor-call",
            "conf": 0.85,
            "crit": 2,
            "desc": "Rust calls a .get() accessor",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/readdir::rust-read-dir",
            "atk": "T1083",
            "conf": 0.82,
            "crit": 3,
            "desc": "Enumerates a directory with Rust std::fs",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "micro-behaviors/communications/http/get::rust-ureq-agent-client",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.92,
            "crit": 1,
            "desc": "Rust configures a ureq agent",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-repository-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares repository"
          },
          {
            "id": "metadata/package/manifest/name::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "zddHcwPxCBA:{+jy?ULkz*c8nz^^f-BAg/1yH}JsA=RM{fe1E\u003enm=QRwPz\u0026mw]zYjzddi]zF78nvrc72B-OWHwNV^5wPq\u003c7B98ECCwhejaAITkBAITEA+fidA==2kxd+raxK#l@ayPq43nj4QaAhvnzddE0y\u003cvdCB7F(8w]zYjv@Dj3B-7]6vruj3xcqzjBz8!ovpK7YxjSiawOkZ#BAh8bB1N!bB-RapB97}Ni+98Ay?m9#x(v)giYZqMv)\u003c)FB.9SwB-RapB97}Ni+AkJiYYVuvS=rB3uZA3aAITniYZ$[iY.RewO+%favQr\u003ez/OG+zE+pvqE%oEEld^UB7DFnByWA[Aa9\u003c4iYZ8CBza0-w\u0026*uxB7DFnByWA[B9RUkiYYMEv(\u003e3uB7DFnByWA[BzkP6iY.QQB-H]jx(v(uaw3D(Byx6eEld=yB-RapwN/U5iYYYtz=p:#x(mMB3uZA3az$Rfx)a5{BzM1Vi^Tk9A==2cx\u003e7N[wH[%6y\u0026.%ZzF\u003c2}Bz(hFi%{aKwGU]ev}x1SwO=fzi=/N:v(=UDzEWlBwO=fA3uZA3aA.ZoAxlcUwPI*ezGxwJ3jnBtfcA$$zEEf?B0bBxz!B94B8@EAwPhNdBzkS9azbLjay]zmzFTl1wofvgAckRjBAg/7BrBz2z!B94B8@EJ3lQDlatkx3aw3D]z!\u0026]{aA}HgzxJvgwn=Wfy\u0026r-)azC)tB97\u0026hBy!#n3lQDlazbHlAb]VgByf9hvrcDrct^)EaAIagw*]!G3lQDlatkx3aw3D]z!\u0026]{aAz4jwNPW(wnDJlCw7YbwGUz7wn=Wfy\u0026r-)azC)tz/fiax(mMo3lQDlazbHlAb]VgByf0cz!B94B8@-Rzfo}yB7Gf1efG1Qvru6wasoG{Cw.knvpSqUvru6fi%(rqarR^Wfe1CtzGY@lwN\u003e",
            "ln": 118,
            "col": 45,
            "line": 3
          },
          {
            "b": "uUj1\u0026x(^@oct^)EaAIagw?k6iiV]+qz*c8nz^^fPByxo5diJ$=3vJl*fe1$3ra]?=v%8*jwO#PjB97\u0026jwGU]6ayPdgx(k5jA=kPhwPI]nz/M$jx(mTaxK$Y%wn=Wfy\u0026r-)e^-?cwmY^}C4A6\u0026wNY^{dp0p1BZ=FmBAhIlBrA$\u0026Cw.knvpSqUvru5",
            "ln": 1205,
            "col": 13,
            "line": 39
          },
          {
            "b": "vru74ayMygwP]ncz*c8nz^^f/AV/NuBz8!sxK@r0x)a69aA.:pAV!!6wO#PjvqYP#zF{UcwPz)bw[+:-By^6iarR^HAckRjw]n-ewP]LBB7Gx0vp%d?BugKUze:qlnP5S*jvJ:#q/)4]zF8cZat2=1q!o=SaBsCrarR^HarR!9wO+%3DKp(rarR^",
            "ln": 1969,
            "col": 11,
            "line": 64
          },
          {
            "b": "arR^HarR!P3lQDlaBKO7arR^Hfe1$3qE%@)A=b}vBzbkdv}xX5x\u003ez6?vru66Bzbxfay/k4wO#Pjx(+ztB7]J8efFUsayMy5B-RUyz6it1A==2cx\u003e7N[wEoL5arSr\u003cfcB$IaA.:pwftPdazC)ty\u0026r-)wN({4zxJL9A=VsBvpJ!UB8@@varR^Hfe1%=",
            "ln": 2914,
            "col": 2,
            "line": 90
          },
          {
            "b": "e[X:quVf%(BAhUlx(mTbd13y+DKp(rarR^HarR^HarR^HarUGiBrCKlz6g$:B97}Ni+AB]i=X!uwghz9Bz99/i%)8MarR^HarR^HarR^HarT3.A==2cx\u003e7N[wJz\u003e:A=k/4AaJ(mcu9Kkdk2ECA9)f%AWUTuiYYYIA=k$Vi=xaNwPxjbarR^HarR^HarR^HEjkHCarQ",
            "ln": 3422,
            "col": 22,
            "line": 101
          },
          {
            "b": "qE%](y\u0026?^ZA+fkKi-oKgAbPSnwH[%DA+fkKiZ[7fz/O2:DKp(rarR^HarUGiBrCByBrC4nx(4r\u003eAV^H/B-I5kiYYMtwO#PRB.LV5wPx*)zE[2udlv\u003eVarR^HarR!ywPP5iB-X:Fy\u0026ZZZaxie#lVl\u003cWwN/?2AYMl\u003cB.LV5wPxgFi%(rqarR^HarR^WfcBh8BrCZEwPw]4xjU$5e^-ZzarR^HarUcox(4r\u003eAV^H/vS=y3wmY^lB-RbmuTWOUzGEoNB7Gf1e{d",
            "ln": 3724,
            "col": 42,
            "line": 110
          },
          {
            "b": "wmY^lBzM29v@Dm5wN/?2AWTj]v(=U*wP]Ljz/fD7v@#TfdjEs=3lQDlarR^HayYFcy?d9$e[e%qy?a}ye[X:qd0oMDdk2asy?$HG3lQDlaBKO7arR^Hfe1$3l#No!y\u0026r-)ayY55vrcSowmoN*azbUjz6i}lwGUS1C4CLlB-IpvvqYP#A+fidA=-BrBAnNzA=kPhwPI]B3lQDlar$90y\u002613lc$v7cAbZ7-i=X!MB.(eby*?u%wNx1?AS",
            "ln": 4543,
            "col": 23,
            "line": 133
          },
          {
            "b": "wGTbUh9hcLfe1$3k{gw(vq{f%AV!!hz/]@dax@k@A+fkKi-oKgAbPSnwNF^^Bzb98aAz44woe(nxK@rbwPI*ezGxwivSb!5azCZov}Z15yJx?ofe1C^C4CXpvix=9vSMD$yH}PgvqYP#A+fidA==vBx([zsAb](fA+frke^=VwA=\u003e(law#=/z//L*",
            "ln": 5603,
            "col": 20,
            "line": 168
          },
          {
            "b": "wNPaXAXqrtA=U!udk2KOc[cPb3jm)#arR^HarTP]y?s/p3lQDlarR^HarR^HaAz44wmY^xaAz4mAbPSnwIdXmBz\u003eJbwNPaXAWSv/3lQDlarR^HarR^Haz+FcByf0cz!B94B8%w+ph+2Yed9HxarR^HarR^HarU-Evru6wavHc(zFTl1wk^OUBy=Ow3lQDlarR^HarR^HarR^Hay/tcBy/uiuU\u003cp\u003eed9HxarR^HarR^HarR^HarU=AByw#)wn=Wfy\u0026r.",
            "ln": 6567,
            "col": 33,
            "line": 191
          },
          {
            "b": "azC:Pi-oKgB.(dZr+k=6BVqMGaBsCrarR^HarR!ywPP5iB-X:nB.kk%AV^H/C4CebtqebYi59AGt@@xoarR^HarR!ywPP5iB-X:pvrt{2jS[PIByO#bB7Gf1e]#byBy^7mz/fVdzGGl4wO@Sq3lQDlarR^HarR^Hax9h}wHI5bzGGDcBye\u0026}zyDX\u003ej%i)qv(=U{x-",
            "ln": 7068,
            "col": 29,
            "line": 208
          },
          {
            "b": "x([RGi59AGdj+/GarR^HarR!Pi%(rqarR^HarR!ywPP5iB-X:pz*c8nz^^f/wm6B(x(^T5wN=\u0026Catt\u003e:arR^HarR^Hy\u0026slhaBsCrarR^HarR^HarR!ywPP5nwNP9(jS[PIByO#bB7Gf1e]\u003eJiwmY^lA+eV\u0026c)\u0026!NBrC4nw[CQ{diJ%AarR^HarR^HarR^HarR^HpIRvjdiH=qayYw5vqvz3arR^HarR^HarR^HarR^HpIRv@diH=qaz@.qarR^HarQ",
            "ln": 7286,
            "col": 36,
            "line": 212
          },
          {
            "b": "uU180zFTl1wmYo]d)k1}wNPah3jm)#arR^HarR^HarUxgaz2v$Ac2P3au?}hm0iJUBzkVhiYZ\u003e[z/5\u003c5wN/^ff!1k(3lQDlarR^HarR^HarR^HazCBgB7Gf1e]#byBy^7lD30RsuVoN%uVP^*z/f8ry?mGjdiH=pax7N2p!TqRaBsCrarR^HarR^HarR^HarR^HarR!FwO+@",
            "ln": 8312,
            "col": 29,
            "line": 240
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "user_agent.into"
            ],
            [
              "",
              "once_cell::sync::OnceCell::new"
            ],
            [
              "",
              "user_agent.into"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "once_cell::sync::OnceCell::new"
            ],
            [
              "",
              "user_agent.into"
            ],
            [
              "",
              "once_cell::sync::OnceCell::with_value"
            ],
            [
              "",
              "std::fs::read"
            ],
            [
              "",
              "native_tls::Certificate::from_pem.map_err"
            ],
            [
              "",
              "native_tls::Certificate::from_pem"
            ],
            [
              "",
              "ureq::AgentBuilder::new"
            ],
            [
              "",
              "native_tls::TlsConnector::builder"
            ],
            [
              "",
              "builder.user_agent"
            ],
            [
              "",
              "env_proxy::for_url_str.to_url.and_then"
            ],
            [
              "",
              "env_proxy::for_url_str.to_url"
            ],
            [
              "",
              "env_proxy::for_url_str"
            ],
            [
              "",
              "ureq::Proxy::new.ok"
            ],
            [
              "",
              "ureq::Proxy::new"
            ],
            [
              "",
              "builder.proxy"
            ],
            [
              "",
              "tls.add_root_certificate"
            ],
            [
              "",
              "tls.build.map_err"
            ],
            [
              "",
              "tls.build"
            ],
            [
              "",
              "std::io::Error::new"
            ],
            [
              "",
              "builder.tls_connector"
            ],
            [
              "",
              "std::sync::Arc::new"
            ],
            [
              "",
              "builder.build.get.call"
            ],
            [
              "",
              "builder.build.get"
            ],
            [
              "",
              "builder.build"
            ],
            [
              "",
              "progress.print_start"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "RemoteReader::from_response.download"
            ],
            [
              "",
              "RemoteReader::from_response"
            ],
            [
              "",
              "f.debug_struct.field.field.field.finish"
            ],
            [
              "",
              "f.debug_struct.field.field.field"
            ],
            [
              "",
              "f.debug_struct.field.field"
            ],
            [
              "",
              "f.debug_struct.field"
            ],
            [
              "",
              "f.debug_struct"
            ],
            [
              "",
              "typst_utils::debug"
            ],
            [
              "",
              "response.header.and_then"
            ],
            [
              "",
              "response.header"
            ],
            [
              "",
              "header.parse.ok"
            ],
            [
              "",
              "header.parse"
            ],
            [
              "",
              "response.into_reader"
            ],
            [
              "",
              "std::collections::VecDeque::with_capacity"
            ],
            [
              "",
              "std::time::Instant::now"
            ],
            [
              "",
              "Vec::with_capacity"
            ],
            [
              "",
              "Vec::with_capacity"
            ],
            [
              "",
              "e.kind"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "data.extend"
            ],
            [
              "",
              "std::time::Instant::now"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "std::time::Instant::now.saturating_duration_since"
            ],
            [
              "",
              "std::time::Instant::now"
            ],
            [
              "",
              "std::time::Duration::from_secs"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "std::time::Instant::now"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::collections::VecDeque"
            ],
            [
              "",
              "std::fmt::Debug"
            ],
            [
              "",
              "std::io"
            ],
            [
              "",
              "std::io::ErrorKind"
            ],
            [
              "",
              "std::io::Read"
            ],
            [
              "",
              "std::path::PathBuf"
            ],
            [
              "",
              "std::sync::Arc"
            ],
            [
              "",
              "std::time::Duration"
            ],
            [
              "",
              "std::time::Instant"
            ],
            [
              "",
              "ecow::EcoString"
            ],
            [
              "",
              "native_tls::Certificate"
            ],
            [
              "",
              "native_tls::TlsConnector"
            ],
            [
              "",
              "once_cell::sync::OnceCell"
            ],
            [
              "",
              "ureq::Response"
            ]
          ],
          "mbr": [
            "Certificate::from_pem.map_err",
            "Instant::now.saturating_duration_since",
            "RemoteReader::from_response.download",
            "builder.build",
            "builder.build.get",
            "builder.build.get.call",
            "builder.proxy",
            "builder.tls_connector",
            "builder.user_agent",
            "data.extend",
            "e.kind",
            "env_proxy::for_url_str.to_url",
            "env_proxy::for_url_str.to_url.and_then",
            "f.debug_struct",
            "f.debug_struct.field",
            "f.debug_struct.field.field",
            "f.debug_struct.field.field.field",
            "f.debug_struct.field.field.field.finish",
            "header.parse",
            "header.parse.ok",
            "progress.print_start",
            "response.header",
            "response.header.and_then",
            "response.into_reader",
            "tls.add_root_certificate",
            "tls.build",
            "tls.build.map_err",
            "ureq::Proxy::new.ok",
            "user_agent.into"
          ],
          "tgt": [
            "Err",
            "Ok",
            "RemoteReader::from_response",
            "RemoteReader::from_response.download",
            "Some",
            "Vec::with_capacity",
            "builder.build",
            "builder.build.get",
            "builder.build.get.call",
            "builder.proxy",
            "builder.tls_connector",
            "builder.user_agent",
            "data.extend",
            "e.kind",
            "env_proxy::for_url_str",
            "env_proxy::for_url_str.to_url",
            "env_proxy::for_url_str.to_url.and_then",
            "f.debug_struct",
            "f.debug_struct.field",
            "f.debug_struct.field.field",
            "f.debug_struct.field.field.field",
            "f.debug_struct.field.field.field.finish",
            "header.parse",
            "header.parse.ok",
            "native_tls::Certificate::from_pem",
            "native_tls::Certificate::from_pem.map_err",
            "native_tls::TlsConnector::builder",
            "once_cell::sync::OnceCell::new",
            "once_cell::sync::OnceCell::with_value",
            "progress.print_start",
            "response.header",
            "response.header.and_then",
            "response.into_reader",
            "std::collections::VecDeque::with_capacity",
            "std::fs::read",
            "std::io::Error::new",
            "std::sync::Arc::new",
            "std::time::Duration::from_secs",
            "std::time::Instant::now",
            "std::time::Instant::now.saturating_duration_since",
            "tls.add_root_certificate",
            "tls.build",
            "tls.build.map_err",
            "typst_utils::debug",
            "ureq::AgentBuilder::new",
            "ureq::Proxy::new",
            "ureq::Proxy::new.ok",
            "user_agent.into"
          ],
          "funcs": [
            [
              "print_start",
              1109
            ],
            [
              "print_progress",
              1142
            ],
            [
              "print_finish",
              1197
            ],
            [
              "new",
              2041
            ],
            [
              "with_path",
              2390
            ],
            [
              "with_cert",
              2700
            ],
            [
              "cert",
              3299
            ],
            [
              "download",
              3687
            ],
            [
              "download_with_progress",
              4747
            ],
            [
              "fmt",
              5078
            ],
            [
              "from_response",
              6368
            ],
            [
              "download",
              7044
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.ge": 1,
              "op.add": 2,
              "max_depth": 19,
              "call_count": 72,
              "node_count": 2142,
              "member_count": 29,
              "op_density.eq": 0,
              "op_density.ge": 0,
              "op_density.add": 0,
              "member_depth_max": 6
            },
            "file": {
              "size": 8867,
              "entropy": 4.58
            },
            "text": {
              "lines": 259,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 2278,
              "char_entropy": 4.58,
              "unique_chars": 80,
              "top_char_null": 0,
              "string_density": 0.02,
              "top_char_ratio": 0.07,
              "avg_line_length": 33.24,
              "max_line_length": 86,
              "empty_line_ratio": 0.14,
              "last_line_length": 1,
              "whitespace_ratio": 0.29,
              "identifier_density": 1.54,
              "line_length_stddev": 24.91,
              "normalized_string_count": 0.37,
              "repeated_char_sequences": 71,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 16.59
            },
            "binds": {
              "count": 17
            },
            "binary": {
              "peak_region_bytes": 6144,
              "peak_region_entropy": 4.86
            },
            "source": {
              "class_count": 5,
              "function_count": 11
            },
            "imports": {
              "count": 14,
              "third_party_count": 14,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 62,
              "count": 6,
              "avg_length": 10.33,
              "max_length": 15,
              "avg_entropy": 2.93,
              "entropy_stddev": 0.44
            },
            "comments": {
              "chars": 2070,
              "count": 44,
              "lines": 44,
              "to_code_ratio": 0.2,
              "url_in_comments": 1
            },
            "functions": {
              "count": 16,
              "density": 4.63,
              "avg_params": 1.75,
              "code_ratio": 0.58,
              "max_params": 3,
              "one_liners": 3,
              "length_stddev": 13.64,
              "avg_name_length": 9.67,
              "avg_length_lines": 12.42,
              "max_length_lines": 51,
              "min_length_lines": 1,
              "high_entropy_names": 1,
              "single_char_params": 3,
              "avg_param_name_length": 6.24
            },
            "identifiers": {
              "count": 398,
              "unique": 133,
              "avg_length": 7.3,
              "max_length": 25,
              "min_length": 1,
              "avg_entropy": 2.32,
              "reuse_ratio": 0.33,
              "length_stddev": 4.42,
              "sequential_names": 4,
              "single_char_count": 5,
              "single_char_ratio": 0.04,
              "high_entropy_count": 3,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.72,
              "all_uppercase_ratio": 0.02,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 4,
        "mol": "H₂(Cm₃Db)Md(In)",
        "path": "typst-kit-0.12.0-rc1.crate!!typst-kit-0.12.0-rc1/src/download.rs",
        "pid": 0,
        "risk": 4,
        "sha": "54a3e5e69ea950d5b2c0c39f6efd62f9d5b5899f02e918d2ef888fad83f0658a",
        "size": 8867,
        "traits": [
          {
            "id": "metadata/import/rust/std/collections/vecdeque::std/collections/vecdeque",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::collections::VecDeque",
            "spans": [
              [
                298,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/fmt/debug::std/fmt/debug",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::fmt::Debug",
            "spans": [
              [
                330,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/io::std/io",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::io",
            "spans": [
              [
                361,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/io/errorkind::std/io/errorkind",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::io::ErrorKind",
            "spans": [
              [
                367,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/io/read::std/io/read",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::io::Read",
            "spans": [
              [
                378,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/pathbuf::std/path/pathbuf",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::PathBuf",
            "spans": [
              [
                389,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/arc::std/sync/arc",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Arc",
            "spans": [
              [
                413,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/time/duration::std/time/duration",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::time::Duration",
            "spans": [
              [
                445,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/time/instant::std/time/instant",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::time::Instant",
            "spans": [
              [
                455,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/ecow/ecostring::ecow/ecostring",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ecow::EcoString",
            "spans": [
              [
                470,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/native_tls/certificate::native_tls/certificate",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports native_tls::Certificate",
            "spans": [
              [
                504,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/native_tls/tlsconnector::native_tls/tlsconnector",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports native_tls::TlsConnector",
            "spans": [
              [
                517,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/once_cell/sync/oncecell::once_cell/sync/oncecell",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports once_cell::sync::OnceCell",
            "spans": [
              [
                536,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/ureq/response::ureq/response",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports ureq::Response",
            "spans": [
              [
                567,
                14
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                1253,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                2017,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                5651,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                166,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                198,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                2962,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/handler::rust-response-into-reader",
            "atk": "T1105",
            "conf": 0.94,
            "crit": 3,
            "desc": "Rust converts response into reader",
            "spans": [
              [
                6631,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/get::rust-ureq-agent-client",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust configures a ureq agent",
            "spans": [
              [
                3788,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/crate::ureq-crate",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses the Rust ureq HTTP client",
            "spans": [
              [
                567,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::block-unbounded-loop-header",
            "conf": 1.0,
            "crit": 3,
            "desc": "Contains an unbounded block loop",
            "spans": [
              [
                7350,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/property/read::rust-get-accessor-call",
            "conf": 0.85,
            "crit": 2,
            "desc": "Rust calls a .get() accessor",
            "spans": [
              [
                4607,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/get::rust-ureq-agent-get",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust ureq agent sends GET request",
            "uses": [
              21,
              24
            ],
            "spans": [
              [
                3788,
                18
              ],
              [
                4607,
                5
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "fe1E\u003el#No!y\u0026r-)ayPd#aA.NvvpK6}Aa9l(vp%d)ayPd#aAg+0yHH\u003c!azC.7x\u003e7Z}e^.@dB7DFnByWA[w]*3vB-RapB97}Ni=FIHxGwh3p*[DVefE+$Bza0-w{(-F3uZA3az253Crd=@v@CZ^z/PY6Buo?LB7DFjzEWl+v}xE)iY.tczEUZ*pI%VNlUg7Ii%{aKwGV8uAc3aZi+h@kxf582vQS$!efE+$v@2H=wKQSWz/NxKp*)\u003cHvp%dHwPJ0gBsXLkBAgn\u003cB9hqvEld^UB7DFoD2N?DiY.tczGGriiY.j*v@2H=wJz(03lQDlaw=GRyHH\u003c!nP5cUefE+$v@2H=wM9LVv\u003en:0vpK7YxjUaPA=U@kzy=]hwPz\u003caz/fx5B8$e^v@2H=wM9LVv\u003em$ni%(sqB7DF7A::63iYZ!\u0026Cw.knvpRzWDQI^@zFTl1wmY^jaw^8%xl4N8Ba3aS3nj4=axi2=ay]4}vrDydaxiS9B95KBwOkZ#BAhTV3ugb%ay/tcB95J)mmGNyoJkv%mmP{Fr8M\u003cWasqeKAV^H/b4#7uAc15[fk$ufyHH\u003c!B1RMWAc3aNz/PFmi%(rFfe1CExK@q%wO7",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "xGvniAcb/jzAH:7Bza0-w\u003cd:MarR^Hfe1$3ra]?=wn=Wfy\u0026r-)wPw]oB7F(8w]zYjw[u6]xLzu%aARpdazC.7wQ2tazE:(evpK7YxjVcp3lQDlay]zmzFTl1wmY^xavHc(zFTl1wmY^j3lQDlatkx3axi2=ay!?\u0026xK$Y%x(mD)CPZ{paARpdaAhu",
            "ln": 951,
            "col": 16,
            "line": 28
          },
          {
            "b": "xjUB?vrue\u0026arR^HarR^HarR^HarR^He[]AsAWSvzarR^HarR^HarR^HarR^He[O{dBye([A439Ax(XOzB97}Ni+AB]i=X!uwm5\u003eYAWUEjAXq9Bx(ksCB9g@5x(UTKe]LINdjCPDarR^HarR^HarR^HarR^Vw]7)$By/trdgdguarR^HarR^HarR^HarSpGx(4)5A:JV(A439BzGG]AD)00rBAhTVz!*:IdgdguarR^HarR^HarR^HarSpNvq)SxwO#QgD3/",
            "ln": 4156,
            "col": 23,
            "line": 118
          },
          {
            "b": "arSr\u003cfcAV3Cw.knvpQH5xK@r9vpK7YxjSi1zE^s6e*abbwGV28B9hqvaA7\u003cmBzbxfazC)tv{@\u003eXwN(]}z/M$iw[C:!x\u003eqf(C}GBDarR!CBZ=F9zxJFdCw.knvpS.VzE^s6c)\u003c1Dy?taseJ$pQBAgn\u003cB9hqvjsjoevpK7YxjTULw]y%saBsCrarR^H",
            "ln": 4590,
            "col": 3,
            "line": 130
          },
          {
            "b": "azC.7wQ3lUDU4krEiH9EarR^HarR^HarR^HarR^HarR^HEjlYOarR^HarR^HarR^HarR^HarR^Hmriz%B-I5kiYYYIA=k$Vi-yceBAITMg+Z:qayuMDau.[hDKp(rarR^HarR^HarR^HarR^HarR^HarUc4x(1}vb4+m$y?mc1Bz\u0026plwPRA}aAg+0yHH\u003c!azC.7wQ2sCzF%Rtw]z*fwgnYK3lQDlarR^HarR^HarR^HarR^HaBKOt",
            "ln": 5050,
            "col": 61,
            "line": 137
          },
          {
            "b": "zxI+@z!B94B8@(tarR^HdiHiaaw=GRyHH\u003c!qE%](y\u0026?=/dlX(33lQDlarR^HayPtjwPz)1wPn\u003ewB8UY2e]C9mwPI*0v}vhlb5?NlC4\u003eJia$kOX3lQDlarR^Haz+RhaA.ZvauZ5OarR^HarR^HarR!sz/PY6BrJ4RDQHp(k#*PTuS6r.nMeO^s:.@xA+fAdwP]^",
            "ln": 5654,
            "col": 26,
            "line": 156
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "package_cache_path.or_else"
            ],
            [
              "",
              "dirs::cache_dir.map"
            ],
            [
              "",
              "dirs::cache_dir"
            ],
            [
              "",
              "cache_dir.join"
            ],
            [
              "",
              "package_path.or_else"
            ],
            [
              "",
              "dirs::data_dir.map"
            ],
            [
              "",
              "dirs::data_dir"
            ],
            [
              "",
              "data_dir.join"
            ],
            [
              "",
              "once_cell::sync::OnceCell::new"
            ],
            [
              "",
              "packages_dir.join"
            ],
            [
              "",
              "dir.exists"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "cache_dir.join"
            ],
            [
              "",
              "dir.exists"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "dir.exists"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "typst::diag::PackageError::NotFound"
            ],
            [
              "",
              "spec.clone"
            ],
            [
              "",
              "std::fs::read_dir.ok"
            ],
            [
              "",
              "std::fs::read_dir"
            ],
            [
              "",
              "dir.join"
            ],
            [
              "",
              "entry.ok"
            ],
            [
              "",
              "entry.path"
            ],
            [
              "",
              "path.file_name"
            ],
            [
              "",
              "response.into_json.map_err"
            ],
            [
              "",
              "response.into_json"
            ],
            [
              "",
              "spec.versionless"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "typst::diag::PackageError::VersionNotFound"
            ],
            [
              "",
              "spec.clone"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "typst::diag::PackageError::NotFound"
            ],
            [
              "",
              "spec.clone"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "typst::diag::PackageError::NetworkFailed"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "flate2::read::GzDecoder::new"
            ],
            [
              "",
              "data.as_slice"
            ],
            [
              "",
              "tar::Archive::new.unpack.map_err"
            ],
            [
              "",
              "tar::Archive::new.unpack"
            ],
            [
              "",
              "tar::Archive::new"
            ],
            [
              "",
              "std::fs::remove_dir_all.ok"
            ],
            [
              "",
              "std::fs::remove_dir_all"
            ],
            [
              "",
              "typst::diag::PackageError::MalformedArchive"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "std::fs"
            ],
            [
              "",
              "std::path::Path"
            ],
            [
              "",
              "std::path::PathBuf"
            ],
            [
              "",
              "ecow::eco_format"
            ],
            [
              "",
              "once_cell::sync::OnceCell"
            ],
            [
              "",
              "typst::diag::bail"
            ],
            [
              "",
              "typst::diag::PackageError"
            ],
            [
              "",
              "typst::diag::PackageResult"
            ],
            [
              "",
              "typst::diag::StrResult"
            ],
            [
              "",
              "typst::syntax::package::PackageInfo"
            ],
            [
              "",
              "typst::syntax::package::PackageSpec"
            ],
            [
              "",
              "typst::syntax::package::PackageVersion"
            ],
            [
              "",
              "typst::syntax::package::VersionlessPackageSpec"
            ],
            [
              "",
              "crate::download::Downloader"
            ],
            [
              "",
              "crate::download::Progress"
            ]
          ],
          "mbr": [
            "cache_dir.join",
            "data.as_slice",
            "data_dir.join",
            "dir.exists",
            "dir.join",
            "dirs::cache_dir.map",
            "dirs::data_dir.map",
            "entry.ok",
            "entry.path",
            "fs::remove_dir_all.ok",
            "package.name",
            "package.version",
            "package_cache_path.or_else",
            "package_path.or_else",
            "packages_dir.join",
            "path.file_name",
            "response.into_json",
            "response.into_json.map_err",
            "spec.clone",
            "spec.name",
            "spec.namespace",
            "spec.versionless",
            "std::fs::read_dir.ok",
            "tar::Archive::new.unpack",
            "tar::Archive::new.unpack.map_err"
          ],
          "tgt": [
            "Err",
            "Ok",
            "Some",
            "cache_dir.join",
            "data.as_slice",
            "data_dir.join",
            "dir.exists",
            "dir.join",
            "dirs::cache_dir",
            "dirs::cache_dir.map",
            "dirs::data_dir",
            "dirs::data_dir.map",
            "entry.ok",
            "entry.path",
            "flate2::read::GzDecoder::new",
            "once_cell::sync::OnceCell::new",
            "package_cache_path.or_else",
            "package_path.or_else",
            "packages_dir.join",
            "path.file_name",
            "response.into_json",
            "response.into_json.map_err",
            "spec.clone",
            "spec.versionless",
            "std::fs::read_dir",
            "std::fs::read_dir.ok",
            "std::fs::remove_dir_all",
            "std::fs::remove_dir_all.ok",
            "tar::Archive::new",
            "tar::Archive::new.unpack",
            "tar::Archive::new.unpack.map_err",
            "typst::diag::PackageError::MalformedArchive",
            "typst::diag::PackageError::NetworkFailed",
            "typst::diag::PackageError::NotFound",
            "typst::diag::PackageError::VersionNotFound"
          ],
          "funcs": [
            [
              "new",
              1324
            ],
            [
              "package_cache_path",
              1986
            ],
            [
              "package_path",
              2153
            ],
            [
              "prepare_package",
              2296
            ],
            [
              "determine_latest_version",
              3297
            ],
            [
              "download_index",
              4673
            ],
            [
              "download_package",
              5533
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 3,
              "max_depth": 31,
              "call_count": 72,
              "node_count": 1685,
              "member_count": 25,
              "op_density.eq": 0,
              "member_depth_max": 3
            },
            "file": {
              "size": 6742,
              "entropy": 4.59
            },
            "text": {
              "lines": 183,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 1893,
              "char_entropy": 4.59,
              "unique_chars": 79,
              "top_char_null": 0,
              "string_density": 0.09,
              "top_char_ratio": 0.07,
              "avg_line_length": 35.84,
              "max_line_length": 90,
              "empty_line_ratio": 0.11,
              "last_line_length": 1,
              "whitespace_ratio": 0.31,
              "identifier_density": 1.66,
              "line_length_stddev": 26.38,
              "normalized_string_count": 1.18,
              "repeated_char_sequences": 71,
              "normalized_unique_identifiers": 13.97
            },
            "binds": {
              "count": 8
            },
            "binary": {
              "peak_region_bytes": 2048,
              "peak_region_entropy": 4.98
            },
            "source": {
              "class_count": 1,
              "function_count": 7
            },
            "imports": {
              "count": 15,
              "third_party_count": 15,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 337,
              "count": 16,
              "url_count": 1,
              "avg_length": 21.06,
              "max_length": 41,
              "avg_entropy": 3.17,
              "entropy_stddev": 1.06
            },
            "comments": {
              "chars": 1303,
              "count": 27,
              "lines": 27,
              "to_code_ratio": 0.17
            },
            "functions": {
              "count": 8,
              "density": 3.83,
              "avg_params": 2.14,
              "code_ratio": 0.7,
              "max_params": 4,
              "length_stddev": 11.44,
              "avg_name_length": 14.57,
              "avg_length_lines": 18.43,
              "max_length_lines": 31,
              "min_length_lines": 3,
              "avg_param_name_length": 7.27
            },
            "identifiers": {
              "count": 303,
              "unique": 105,
              "avg_length": 8.15,
              "max_length": 24,
              "min_length": 2,
              "avg_entropy": 2.52,
              "reuse_ratio": 0.35,
              "length_stddev": 4.8,
              "has_digit_ratio": 0.01,
              "high_entropy_count": 7,
              "high_entropy_ratio": 0.07,
              "all_lowercase_ratio": 0.7,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 1
            }
          }
        },
        "id": 7,
        "mol": "H₂(CmF)Md(In)",
        "path": "typst-kit-0.12.0-rc1.crate!!typst-kit-0.12.0-rc1/src/package.rs",
        "pid": 0,
        "risk": 3,
        "sha": "d05baddc65deb02835b0d8802dd52bb09410fc7ca8ac3903091ff565bf9e7f32",
        "size": 6742,
        "traits": [
          {
            "id": "metadata/import/rust/std/fs::std/fs",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports std::fs",
            "spans": [
              [
                59,
                7
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/path::std/path/path",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::Path",
            "spans": [
              [
                84,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/pathbuf::std/path/pathbuf",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::PathBuf",
            "spans": [
              [
                90,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/ecow/eco_format::ecow/eco_format",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ecow::eco_format",
            "spans": [
              [
                105,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/once_cell/sync/oncecell::once_cell/sync/oncecell",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports once_cell::sync::OnceCell",
            "spans": [
              [
                127,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/diag/bail::typst/diag/bail",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::diag::bail",
            "spans": [
              [
                172,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/diag/packageerror::typst/diag/packageerror",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::diag::PackageError",
            "spans": [
              [
                178,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/diag/packageresult::typst/diag/packageresult",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::diag::PackageResult",
            "spans": [
              [
                192,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/diag/strresult::typst/diag/strresult",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::diag::StrResult",
            "spans": [
              [
                207,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/syntax/package/packageinfo::typst/syntax/package/packageinfo",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::syntax::package::PackageInfo",
            "spans": [
              [
                253,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/syntax/package/packagespec::typst/syntax/package/packagespec",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::syntax::package::PackageSpec",
            "spans": [
              [
                266,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/syntax/package/packageversion::typst/syntax/package/packageversion",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::syntax::package::PackageVersion",
            "spans": [
              [
                279,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/typst/syntax/package/versionlesspackagespec::typst/syntax/package/versionlesspackagespec",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typst::syntax::package::VersionlessPackageSpec",
            "spans": [
              [
                295,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/download/downloader::crate/download/downloader",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::download::Downloader",
            "spans": [
              [
                345,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/download/progress::crate/download/progress",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::download::Progress",
            "spans": [
              [
                357,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                373,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                13,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                999,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                4638,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/crate::ureq-crate",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses the Rust ureq HTTP client",
            "spans": [
              [
                5114,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/readdir::rust-read-dir",
            "atk": "T1083",
            "conf": 0.82,
            "crit": 3,
            "desc": "Enumerates a directory with Rust std::fs",
            "spans": [
              [
                4220,
                18
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWe6Ovru74a$K{QvqPN1iWeV\u003eAc3aMyIv(mefYmGA=U@kzx.a=fFk7ne?!\u003e$v\u003e/eUb5?Wly?W%7wN]dRBrS+2h.)rLiwJuFgB%.UxjUBXvr(]riS",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 838,
              "entropy": 4.7
            },
            "binary": {
              "peak_region_bytes": 838,
              "peak_region_entropy": 4.7
            },
            "registry": {
              "age_days": 702,
              "published_at": 1727992263,
              "is_deprecated": 0,
              "downloads_total": 853117,
              "downloads_recent": 279239
            }
          }
        },
        "id": 8,
        "path": "typst-kit@0.12.0-rc1.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "8909a0d6b892fc8fafea297abe88607ebb170dac88ae058e370873e9d9cccb2f",
        "size": 838,
        "traits": [
          {
            "id": "metadata/registry::widely-installed",
            "conf": 1.0,
            "crit": 1,
            "desc": "Large registry install base (10k+ downloads)",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "479f3",
    "v": "8"
  }
}