{
  "llm": {
    "conf": 0.00008697201,
    "grade": "benign",
    "model": "Qwen/Qwen3.8-27B",
    "outcome": "benign",
    "interpretation": "legitimate keyboard event types crate"
  },
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00012980898,
        "rte": "az",
        "prob": 0.00012980898
      },
      {
        "cls": 0,
        "raw": 0.0004515151,
        "rte": "az/crate",
        "prob": 0.0004515151
      }
    ],
    "prob": 0.00012980898,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0001298089773626998,
        "type": "crate"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000018705924958339892,
        "type": "python"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016808509826660156,
        "type": "rust"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012745459571306128,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-02T02:19:03Z"
  },
  "path": "keyboard-types-0.1.0.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg000000T0jHD17Y2A+3+zD2NtoeIF!ie?![/A::630pvF#B0B?J7}df$E)\u003e%e*5U!KKn}H\u003eNLSzu5cODOcik.0C2cBTN]YN%wnIAGN5SGVXUBd?z%ZK}c\u00264pkws{=1]geNbHzkSI9Pt(\u0026P:pPC",
            "ln": 0
          }
        ],
        "mol": "H(F)Md",
        "sha": "c36519f855a6156bad4e4d1c5f920e74eec22f65c775322cdd7f1664f9fde911",
        "path": "keyboard-types-0.1.0.crate",
        "risk": 3,
        "size": 23050,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 23050,
              "entropy": 7.99
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 23050,
              "peak_region_entropy": 7.82
            }
          }
        },
        "ident": {
          "name": {
            "value": "keyboard-types",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/pyfisch/keyboard-types",
              "kind": "repository",
              "source": "crate.repository"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "pyfisch@gmail.com"
          ],
          "authors": [
            {
              "name": "Pyfisch",
              "role": "author",
              "email": "pyfisch@gmail.com",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.1.0",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "keyboard-types",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-japanese",
            "conf": 0.8,
            "crit": 3,
            "desc": "Contains Hiragana or Katakana script",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "metadata/package/manifest/name::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "metadata/package/manifest/name::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/lang/source::generated-code-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated code do-not-edit warning",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-open-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.86,
            "crit": 2,
            "desc": "Opens file in default read mode"
          },
          {
            "id": "metadata/package/manifest/name::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "metadata/lang/source::generated-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated source warning text",
            "from": [
              {
                "file": 5
              },
              {
                "file": 6
              },
              {
                "file": 7
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append"
          },
          {
            "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-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "micro-behaviors/fs/read/file::file-read-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.6,
            "crit": 2,
            "desc": "Reads file content (Python)",
            "from": [
              {
                "file": 5
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "x(d*cA=-BAwEn=PwO95#vqYQ(wNx1^B.$F%zGG]kwPGnwwQ5qFazbt7wHPUEarR^Hwnca7y*?PijS)%m3lQDlazbLjaz\u003eLev}W00zxJ$he[O*nwmop\u003cc#{ICwiBfwe?f7\u003cb0GlQc[V#ldo[5VfjO{hwJ\u003cvpe?e#9wiIy\u0026c[V#ldo{:td)CE/B1nU3BAfM)jtg!+vR/QtdiZq=By/Ysdlm!UarR^HarR!qz^%[MaAz3CB9g}uAW1ZgtY:mQay61]d\u003cuI!b3Y1fefF!rByO#*f\u003cMjnarR^HarR^Hwn+%2jS[=Re]#eAc#{H]vivfLkrZFFdNbvAfjv3*efDcwtRNANay]z2dgdguarR^HarUom",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "ay/tcC4CYouU:j#d0f3BBsXLDx(4ufiTM#LarUSzx(n2va%Firfe1ClrA8:pm[3fwqBanJl)a\u0026)l}5jIavG0Fpes?immoZD3jp]%wGV5owi8+-zfd*1DVJ+mw?k5)x(!lfvr)n.3jnBtfcA]0C{4csAb]JhwO#QhaARpdaz\u003eW#zFs03aA7\u003cmvixt%D2N!nB8@@vfe1%=fe1$3q/DqTx\u003ez6?vruj4zAnaTfe1CgxMOunB2\u003e%cCxXl-Cqy\u003c\u0026A+v48qzf^Vf/H:Mqz039wP?T5BAo3HwQb\u003c.fFLHuhzu\u003csj{\u0026JswmY^}C4A6?y\u0026si5efEt(vS=rmavQo3aw=G!Bzkf1mr6+Z3ugb%az2Ckz6hF.C{4CvarR^Hfe1$3k{f@OC{4fIA+PA7aARp9BrC7iA=L-jAbPS8B0bNyaARpday/7[A:-E1wPw]nD2Nt9ayYQsBzbkdB-Rbmed9HxarSr\u003cfcCvByIvW0azC.nzY\u0026E#v@DHcBrCWswGVbpwPD^XNr6GXB-IIlzGE1qz!0i(wGV59BAzkmxdLfxz!9M]x\u003eqrcB97\u0026jwH[fharR^Wfe1CRzE:\u003e#zH0vCD2[7sz7PNnC4CFjyH}^2z^^V%az\u003eLaAa%i5aA8BmA=L(8wPF#oxKM09vrb{4x(k58w[CQ:Bs)[yarR^]xKL{\u0026v@#p5c@Ukdx(mMjed9HxarR\u003cLa$J",
            "ln": 711,
            "col": 4,
            "line": 22
          },
          {
            "b": "w]hSJi-oKgB.(dxDKp(rarR^HarU/FwGV59y?tZ?oj-xfiX0h#arR^HarR^HzddJ@xDO^CwO+%3DKp(rarR^HarR^HarT3+vrb^^By/FvA+e\u00269B15j{j%k5\u0026x()]f",
            "ln": 1483,
            "col": 46,
            "line": 49
          },
          {
            "b": "a%FiZazbt7wJ:Tty?k453tB8{uTEXVzdN6Yau.\u003egcTQj$vqfQ^uNE(warR^HCwhejaA8jgzyu(Px\u003eqE0zGG}KyH}=zxMO9ccN*fDB0bgmAclm-3lQDlarR^HaA}KwxDRkjwO@[zB8\u003e+zyH}=zA=SPVaszvXdiJ5uaA8yAAclm-3lQDlarR^HarR^Hay/tcC4CYouU:j#c#0NrB-YlRwNP9$dj=PWB-.OBBsvLtarR!Jx([2hz/xo9c)%dKwP?T5BAo3zz!9AixMO9ccN*fDB0bgmAclm-3lQDlarR^HaA}KwxDRkjwO@[zB8\u003e+zv@C)?e](1XefDr:cN*fDB0byzBz#wAiTM#LarR^HarR^HarUfjzGYPiByeJ@wmWf6zG6-ue]\u003eJiwge(TaA8yAAclmK",
            "ln": 2627,
            "col": 5,
            "line": 100
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "re.findall"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "doc.split"
            ],
            [
              "",
              "line.strip"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "\"    /// {}\".format"
            ],
            [
              "",
              "display.append"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "\"    {},\".format"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "\"            {0} =\u003e f.write_str(\\\"{0}\\\"),\".format"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "handle_enum_entries"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print_display_entries"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "handle_enum_entries"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print_display_entries"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "convert_key"
            ],
            [
              "",
              "input.read"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "convert_code"
            ],
            [
              "",
              "input.read"
            ],
            [
              "",
              "re"
            ]
          ],
          "mbr": [
            "display.append",
            "doc.split",
            "input.read",
            "line.strip",
            "re.findall",
            "re.sub"
          ],
          "tgt": [
            "convert_code",
            "convert_key",
            "display.append",
            "doc.split",
            "handle_enum_entries",
            "input.read",
            "line.strip",
            "open",
            "print",
            "print_display_entries",
            "re.findall",
            "re.sub"
          ],
          "funcs": [
            [
              "handle_enum_entries",
              11
            ],
            [
              "print_display_entries",
              559
            ],
            [
              "convert_key",
              708
            ],
            [
              "convert_code",
              1760
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 13,
              "call_count": 32,
              "node_count": 558,
              "member_count": 6,
              "member_depth_max": 2
            },
            "file": {
              "size": 2951,
              "entropy": 4.95
            },
            "text": {
              "lines": 108,
              "top_char": 101,
              "max_ws_run": 12,
              "digit_ratio": 0.02,
              "space_count": 615,
              "char_entropy": 4.95,
              "unique_chars": 76,
              "top_char_null": 0,
              "escape_density": 0.03,
              "string_density": 0.22,
              "top_char_ratio": 0.07,
              "avg_line_length": 26.33,
              "max_line_length": 105,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.15,
              "last_line_length": 46,
              "whitespace_ratio": 0.24,
              "identifier_density": 1.01,
              "line_length_stddev": 21.76,
              "octal_escape_count": 1,
              "normalized_string_count": 2.31,
              "repeated_char_sequences": 10,
              "trailing_whitespace_lines": 2,
              "normalized_unique_identifiers": 3.55
            },
            "binds": {
              "count": 6
            },
            "binary": {
              "peak_region_bytes": 2951,
              "peak_region_entropy": 5.01
            },
            "source": {
              "function_count": 4
            },
            "imports": {
              "count": 1,
              "stdlib_count": 1,
              "stdlib_ratio": 1
            },
            "strings": {
              "bytes": 1717,
              "count": 24,
              "avg_length": 71.54,
              "max_length": 515,
              "avg_entropy": 2.81,
              "entropy_stddev": 1.61,
              "high_entropy_count": 2
            },
            "functions": {
              "count": 4,
              "density": 3.7,
              "avg_params": 2,
              "code_ratio": 0.87,
              "max_params": 2,
              "length_stddev": 15.91,
              "avg_name_length": 15.75,
              "avg_length_lines": 23.5,
              "max_length_lines": 40,
              "min_length_lines": 3,
              "avg_param_name_length": 4.38
            },
            "identifiers": {
              "count": 109,
              "unique": 24,
              "avg_length": 6.63,
              "max_length": 21,
              "min_length": 2,
              "avg_entropy": 2.26,
              "reuse_ratio": 0.22,
              "length_stddev": 4.65,
              "all_lowercase_ratio": 1,
              "double_underscore_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 5,
        "mol": "H(F)",
        "path": "keyboard-types-0.1.0.crate!!keyboard-types-0.1.0/convert.py",
        "pid": 0,
        "risk": 2,
        "sha": "d9c88931fa5dafdd31ea08b72ebeff88bb41c9ee8246e17b33cab522b5611a9e",
        "size": 2951,
        "traits": [
          {
            "id": "metadata/lang/source::generated-code-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated code do-not-edit warning",
            "spans": [
              [
                759,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-open-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.86,
            "crit": 2,
            "desc": "Opens file in default read mode",
            "spans": [
              [
                2824,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-read-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.6,
            "crit": 2,
            "desc": "Reads file content (Python)",
            "spans": [
              [
                2793,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append",
            "spans": [
              [
                2729,
                23
              ],
              [
                2869,
                24
              ]
            ]
          },
          {
            "id": "metadata/lang/source::generated-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated source warning text",
            "spans": [
              [
                759,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "3nj4Pk#*(Wav!\u003c}mn=AJmmnm=pEER]eG^CSawLZiavOW\u0026r0\u0026$PB7DFnByWA[w]hSJi^U{Vy?tjvl${ZYy*?Qqi%(rFfe1Cnz!9A4x(+zsxK@r9xNaVkv{%f@AbP/iBzkVhaA7\u003cmvixt%C}GBSfe0U=fe1CExK@r7vqPN%ayPq4ayX=2wN({4zxK4mwGT#KazULlvSbW}wg!#@w/#hewGU=1C)VhTfcB$Iaz}",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "v@C)?ay/j@B8%F*yH}^3vq)zOv17i\u003ev@C)?j%j=YayMx)qY]\u003c!D17Y2A+3^Bra]#!azC)tBzbkdjy-quwGUG0vrlGMb5p+nv{%s2kim=Y\u003e+\u003cN%\u003c+oU%R\u0026\u0026Z}YRsI\u0026MPM{hz!9AyasGu[Aa9Sbv@bN{B3gZ\u0026zFrQ0wmV@GxKL^]vqy0sDsZ#fvqy0s",
            "ln": 465,
            "col": 10,
            "line": 17
          },
          {
            "b": "awc6YvqYT$wGU=1D17Y2A+6j#arR^HlsBwtADMhwwH[fharR^Wfe1CFB7F(8w]zYjvScv4aARpdaxqt.jy-quwGUG0vrlGMb5p+nv{%s2k3SE$fjO{hwJ?j+z/cXtxK@qvfFLd{wQbzmvr(^lBswtvzE:\u003e#y\u0026:Iqw]zYjBzbkdyH}+#arR^Hfe1$3y\u0026r/(By!#9vR6U9wO2:4Bzbkdjy-quwGUG0vrlGMb5p+nv{%s2j%A9xv@C)?j%joKwfs0Az!9A4v@bN{B3gZ.wQa",
            "ln": 633,
            "col": 178,
            "line": 17
          },
          {
            "b": "yHI9yflq8vzAYGRarR^HlVl\u003c=wPz(z3lQDlatkx3awc6YvqYT$wJy}@v@C)?ay/j@B8%F*yH}^3vq)zO\u003cast(G1{t$Tk!?\u0026fxmR?\u003carcFFSeSuSXry+T(C5D\u003caA@+T^qd6v@C)?j%hmoB8UM9ay/j@B8%F*B-7]6z!9A6k5jOGvqxp?vj#qdA:-P?zEChsz/5]$x/[4\u0026Aa9SFdgdguarTr=zEDmTwmWq0arR^Hfe1$3ok!\u0026ZvqXaGnmuyGB.\u003c=\u003c",
            "ln": 7077,
            "col": 80,
            "line": 160
          },
          {
            "b": "arTu^zF7*T3lQDlatkx3awc6YvqYT$wJy}@v@C)?ay/j@B8%F*yH}^3vq)zO\u003ey/L\u003cQ(1k{N(\u0026ulz!9AyasGu[Aa9Sbv@bN{B3gZ\u0026zFrQ0wmV@GzfoJ6zFJV#jtg+{vqXmT3lQDlawM\u0026)lVl\u003c=wPz(z3lQDlatkx3auTdLwmV([y*?yajTaVMD1go4b0L1BRAuIwz!9Aye*abbwGUP6A^7@jwftz]y?mZ1azULle^-ZzarSr\u003cfcB2dBy=OpxKM09z/cW-AbYS8azULlvSbW}wofpABzbkdyH}=ly**^:y\u00260V[auTdLwmV([y*?yajTaVMD1go4b0Fzay?mZ1jtgh.wmW}Ez/cXtxK@r6vqfQ4Aa9^eaA7\u003c0arR^",
            "ln": 7868,
            "col": 3,
            "line": 173
          },
          {
            "b": "B8%F*yH}^3vq)zOk%):/v@C)?j%hmty?$jYy?m3}dj#-ey\u0026:Iqw]zYjB-RapCwhejaz#ssAa9o#aARp9BrCm9C4z!8auTdLwmV([y*?yajTaVMD1go4b0FwgwNPQwfjO{hwJ?kLwQbzuxKM09x(+zrwPh6#vru66w].*baARpdauTdLwmV([y*?yajTaVMD1go4b0F+Aza[\u003eTyDI",
            "ln": 10949,
            "col": 51,
            "line": 229
          },
          {
            "b": "piyz)vpR-wwNPQFzGG]Aau.[hw?FpFx()][B98BJb2in$Aa9oAy?m3}mq^i/C{jW*3lQDlarR^HarR^HawN5@Aa9oAz/6u1au.[hw?FpFx()][B98BJb2in$Aa9oAz/6u1a$k5IarR^HarQ",
            "ln": 21644,
            "col": 13,
            "line": 481
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "f.write_str"
            ],
            [
              "",
              "unreachable"
            ]
          ],
          "mbr": [
            "f.write_str"
          ],
          "tgt": [
            "f.write_str"
          ],
          "funcs": [
            [
              "fmt",
              17082
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 12,
              "call_count": 172,
              "node_count": 4541,
              "member_count": 1,
              "member_depth_max": 2
            },
            "file": {
              "size": 25496,
              "entropy": 4.9
            },
            "text": {
              "lines": 562,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 5358,
              "char_entropy": 4.9,
              "unique_chars": 150,
              "top_char_null": 0,
              "lines_over_200": 3,
              "string_density": 0.31,
              "top_char_ratio": 0.07,
              "avg_line_length": 44.37,
              "max_line_length": 302,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.02,
              "last_line_length": 2,
              "whitespace_ratio": 0.23,
              "identifier_density": 1.28,
              "line_length_stddev": 36.37,
              "unusual_whitespace": 1,
              "encoded_string_ratio": 0.02,
              "normalized_string_count": 7.3,
              "repeated_char_sequences": 173,
              "suspicious_comment_ratio": 0.11,
              "trailing_whitespace_lines": 4,
              "suspicious_identifier_ratio": 0.06,
              "normalized_unique_identifiers": 21.13
            },
            "binary": {
              "peak_region_bytes": 5120,
              "peak_region_entropy": 5.18
            },
            "source": {
              "class_count": 1,
              "function_count": 1
            },
            "strings": {
              "bytes": 1283,
              "count": 173,
              "avg_length": 7.42,
              "max_length": 20,
              "avg_entropy": 2.49,
              "entropy_stddev": 0.66,
              "base64_candidates": 4
            },
            "comments": {
              "chars": 13228,
              "count": 192,
              "lines": 192,
              "high_entropy": 22,
              "to_code_ratio": 0.52,
              "url_in_comments": 1
            },
            "functions": {
              "count": 2,
              "density": 0.18,
              "avg_params": 2,
              "code_ratio": 0.32,
              "max_params": 2,
              "over_100_lines": 1,
              "avg_name_length": 3,
              "avg_length_lines": 180,
              "max_length_lines": 180,
              "min_length_lines": 180,
              "single_char_params": 1,
              "avg_param_name_length": 3
            },
            "identifiers": {
              "count": 717,
              "unique": 193,
              "avg_length": 7.34,
              "max_length": 20,
              "min_length": 1,
              "avg_entropy": 2.47,
              "reuse_ratio": 0.27,
              "length_stddev": 3.94,
              "has_digit_ratio": 0.2,
              "sequential_names": 10,
              "base64_like_names": 2,
              "single_char_count": 1,
              "single_char_ratio": 0.01,
              "high_entropy_count": 10,
              "high_entropy_ratio": 0.05,
              "all_lowercase_ratio": 0.05,
              "numeric_suffix_count": 39,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 6,
        "mol": "Md",
        "path": "keyboard-types-0.1.0.crate!!keyboard-types-0.1.0/src/code.rs",
        "pid": 0,
        "risk": 2,
        "sha": "6889a5ea39fd4635a55c946e42f5059f6e087e45b749250e26e0b2a87c01f40d",
        "size": 25496,
        "traits": [
          {
            "id": "metadata/lang/source::generated-code-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated code do-not-edit warning",
            "spans": [
              [
                9,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-japanese",
            "conf": 0.8,
            "crit": 3,
            "desc": "Contains Hiragana or Katakana script",
            "spans": [
              [
                7141,
                12
              ]
            ]
          },
          {
            "id": "metadata/lang/source::generated-do-not-edit-text",
            "conf": 0.85,
            "crit": 1,
            "desc": "Generated source warning text",
            "spans": [
              [
                9,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWe6Ovru74a$K{QvqPN1iWeuJD17Y2A+3+zD2Ntoa$K{YwPz\u003caz/c:Wa$$S7e?!F2b5?Wly?W%7wN]dRBrS+2h83:tg=vlCh7P}WxjUBXvr(]riX@L",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 863,
              "entropy": 4.73
            },
            "binary": {
              "peak_region_bytes": 863,
              "peak_region_entropy": 4.73
            },
            "registry": {
              "age_days": 3323,
              "published_at": 1501146605,
              "is_deprecated": 0,
              "downloads_total": 33469010,
              "downloads_recent": 13103306
            }
          }
        },
        "id": 11,
        "path": "keyboard-types@0.1.0.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "1daa3e98a124cd5a49f8cc89d11de52a140d9f97f845dfeb2d2809033670333f",
        "size": 863,
        "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"
  }
}