{
  "ml": {
    "v": "7",
    "eng": "2.12.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.0031428833,
        "rte": "az",
        "prob": 0.0031428833
      },
      {
        "cls": 0,
        "raw": 0.0129902065,
        "rte": "az/tar",
        "prob": 0.0129902065
      }
    ],
    "prob": 0.0031428833,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.003142883302643895,
        "type": "crate"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014613072380598169,
        "type": "cargo.toml"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000019381443053134717,
        "type": "markdown"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003058711808989756,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-14T05:37:03Z"
  },
  "path": "hasbati-discount-calculator-0.1.0.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "Md₂(Pt)",
        "sha": "ae6749a9b4b2ff2b4f98dff813d80430e7f6fcb032f2a3346d4b4b0d5a8feab4",
        "path": "hasbati-discount-calculator-0.1.0.crate",
        "risk": 4,
        "size": 3430,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 3430,
              "entropy": 7.94
            },
            "binary": {
              "peak_region_bytes": 3430,
              "peak_region_entropy": 7.83
            }
          }
        },
        "ident": {
          "name": {
            "value": "hasbati-discount-calculator",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://codeberg.org/roaeemmohamed/Discount-Calculator",
              "kind": "repository",
              "source": "crate.repository"
            },
            {
              "url": "https://hasbati.com/discount-calculator/",
              "kind": "homepage",
              "source": "crate.homepage"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.1.0",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "hasbati-discount-calculator",
            "source": "crate.name",
            "verified": false
          },
          "description": {
            "value": "A lightweight utility for calculating discounts and sale prices. For the fully interactive graphical tool, visit our official website.",
            "source": "crate.description",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/file/naming::uppercase-readme-md-basename",
            "conf": 1.0,
            "crit": 3,
            "desc": "Basename is uppercase README.md",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/file/profile/markup::reference-guide-section-headings",
            "conf": 0.97,
            "crit": 3,
            "desc": "Reference guide has multiple section headings",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-arabic-script",
            "conf": 0.8,
            "crit": 3,
            "desc": "Contains Arabic-script text",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/description/length::cargo-description-at-least-20-characters",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo description has at least 20 characters"
          },
          {
            "id": "metadata/package/documentation/source::cargo-readme-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo readme field is populated"
          },
          {
            "id": "metadata/package/license::cargo-license-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo license field is populated"
          },
          {
            "id": "metadata/package/name/identity::cargo-package-name-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package name field is populated"
          },
          {
            "id": "metadata/package/repository::cargo-repository-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo repository field is populated"
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 4
              }
            ]
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1136,
              "entropy": 4.89
            },
            "binary": {
              "peak_region_bytes": 1136,
              "peak_region_entropy": 4.88
            }
          }
        },
        "id": 2,
        "path": "hasbati-discount-calculator-0.1.0.crate!!hasbati-discount-calculator-0.1.0/Cargo.toml",
        "pid": 0,
        "refs": [
          {
            "to": "src/lib.rs",
            "off": 1108,
            "file": 5,
            "kind": "local"
          },
          {
            "to": "https://codeberg.org/roaeemmohamed/Discount-Calculator",
            "off": 1000,
            "kind": "repository"
          }
        ],
        "risk": 2,
        "sha": "d3e036310335609776d22c1500c2ddb2ceaa05aeb85c94789a82b0e7600e3014",
        "size": 1136,
        "traits": [
          {
            "id": "metadata/file/profile/structured::cargo-core-fields-present",
            "conf": 0.88,
            "crit": 2,
            "desc": "Cargo name/version and another project field are present",
            "uses": [
              1,
              2,
              3,
              4,
              5,
              7
            ]
          },
          {
            "id": "metadata/package/description/length::cargo-description-at-least-20-characters",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo description has at least 20 characters"
          },
          {
            "id": "metadata/package/documentation/source::cargo-readme-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo readme field is populated"
          },
          {
            "id": "metadata/package/license::cargo-license-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo license field is populated"
          },
          {
            "id": "metadata/package/name/identity::cargo-package-name-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package name field is populated"
          },
          {
            "id": "metadata/package/repository::cargo-repository-field-present",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo repository field is populated"
          },
          {
            "id": "metadata/package/version::cargo-conventional-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package uses conventional version"
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          }
        ],
        "type": "cargo.toml"
      },
      {
        "ctx": [
          {
            "b": "boPJ=B7eN1x=]/TB7ochzGE0*vqGB@y*?B7AV==dB-RTNaMv{naLr*GR}wudSmX6(/R^zQ/SJ(m/[x+udK)$$B7eN1x=]/TB7ochzGE0*vqGB@y*?B7AW\u0026KYx(+z9az++8xMODfx\u003eIa3ax0u6BrCZFx(4H9C{3TeB7]o8wN({9zY\u003canze:r9w{CIfx(^^5B-8pzv{%g-B.\u003eGdx(v)gefG1xy?j-dA+P2{az2Rox(dp2x(v(uayPd#aAH$mx(mN8ayPd@y\u003cy8oB1OObBrCKyz*2\u00269wPF#5azbLmzE^f$x(v(iw]zYjx(d*9wO(0@BzkS9ay]hcv@DHcBs?JAy*?A%wftYbxk7\u0026#x(k5mxM4\u003cex(mMavq{g4x\u003e7N[x(v)gefFHQv@Dj3wPzo(aAhd9By]Dizf4lJAb]V5x(mMaB9R*",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "wftq#wft.$x(n33x(mG)ayYQsdK)$$B7eN1x=[?RT\u003eo#jSmX32S[AmUdK($(BzbxfaAhvtygQ)%azbL4B-RbnaA8cuzddi]zF785x(^^5B-8pzv{%g-B.\u003eGdx(v)gaz1#5x\u003eqrcBz\u0026pAzE^s0B97\u0026dwgO\u003czwP-69efFwswftP7By/99vru66x(n3h",
            "ln": 407,
            "col": 9,
            "line": 5
          },
          {
            "b": "ayMy5B-RUyzdN-gB76l6B1wCLAV!\u003egze-{7wGUA0aA8pmxk8l(y-)Xqx\u003e7Y%CwhejayMylvqGG$Ab]V5wH[%mx(^^5B-8pzv{%g-B.\u003eGdx(v(iy\u0026r%2v\u003c2n\u0026zxJR7y\u0026yIcwO=77wPw]6y?m3}ayPd#ay/tcB7]YqwO#PjA+frmy\u0026\u003c.J3jn15avY{JBAIRnA%-maasX\u003cex(^^5B-8pzl2yK.zGE0*vqGB@y*?B1z/dP=dJ?b\u003cBy/Gfx(mG8BzbkdzeTr6ByxinaA?gfB.8XawN]{[By!#9w].*bayPdgz/PM8x(mu}aAhvnv}vn1eG=I)mRM:Gy-(U+y?j.=A+P2{iW#Q4lT:!vB.\u003eGdwGV8dwGU@jx\u003e7Y%A+f7",
            "ln": 644,
            "col": 69,
            "line": 7
          },
          {
            "b": "ax0u6BsXLQBZ/8%v@@\u0026nzY\u003cdnwGUY7Abo95wO#P#BzkVhayPd#aAIWAAbP=swN(]$zGGDgw)]gXB1N!bbo[s4z*9r(x(^^5B-8pzlT:!vB.\u003eGdx(v)gaxJG4yygzmaAg[jv}xL1vp%c]wnc9{z/]@taAz47BZ]07aARpdaA8pmxk8l(y-)Xqx\u003e7Y%vTf88aAIHkv}/K?wN({5A=k]nA==2lzz05hxMvV}aA?gfB.bRpvrb{4wPI*4v}/v/y\u003cvdCB7F%ay-)}nwO@S2vqGB@y*?B1zu",
            "ln": 1462,
            "col": 57,
            "line": 17
          },
          {
            "b": "azbLmzE^f$x(v(iw]zYjv@Dj3z/cXpwPzo(zGGr1wI4w1B7F(8wnc9{z/]@tay!?@v%8P@BzkVhB1N!bbo[r#vqGB@y*?B1z/cW^CWUDdy?i}Xq*04#z/YFjvixJfz!a02BrC7iB98ECgb7y8vqYP#xKL%8vivr.b{l-jB7ochzGEGr3sEmHBy/Ys3qUXRxk8l(y-(L{x\u003e7ZnarR^ZfFCakfByiZB7ochzGE10vru6warR^HgbQu+l${ZLz/]@tavf\u003c.B-8pZarQ",
            "ln": 2207,
            "col": 40,
            "line": 47
          },
          {
            "b": "wGUG9B98tqwPw]jvr(]pf/pTcx(n0lwNP9(z!paEfFC42B76lazF77HfD+pKaARpdaAhEzv}Yp(wIaq%bo[s1CWUDdy?j.Xze:r5zdNQbvruj4zxJUhax0u6Bp5vOxK@q#z!%ldCwg@caAITkzE^f(z/fbewQ4T2Abo8dwmYQ@zGx]uvru74aztXqaARJAv{%g-B.\u003eGdwGUz7wnc9{z/]@tayPb9B-8pzvqYP#Bzbkdw[=c\u003ey-)Xqx\u003e7Y%B-Rnmxcp8{B96CI3sEmHA=(CB3tae#v/",
            "ln": 2482,
            "col": 3,
            "line": 61
          },
          {
            "b": "vqE5{A+PSezdN*6v\u003c2P4vSC)$C{4iEayPCix\u003eet#y\u0026r:7x(mMnAbPDdBrCQxB-7-7zF78aB8#FnB1N!bbo[r#z/6ufzxI@2wGTuGB7Gz13rgXIay]hcv@DHcBrC74y?4Q7vruj4zxJ+lxk7\u0026#v{%l$vR3W8B7F%ay-)CfaAIaqwPzi}aAI47zEEN1z/W@D3n0wIdO\u003c}#x(mG8q!Q8*Aa%i5iW#Q4lT:!vB.\u003eGdwGU@jz/6Amx(v($y-)Xqx\u003e7Z}ayX[]z/Py",
            "ln": 4033,
            "col": 198,
            "line": 110
          },
          {
            "b": "vru66wnc9{z/]@tay!?@v%8P@BzkVhB0bgmBz\u0026pvA=kGhv@@\u00264zE:(1xK$W?z/{dACw?Iqw]8yfB1N!bbo[s8x)a5gnP5SYA:-E1x)a5gl${ZLz/]@tavxNNv%8P@Bz(gb3qtwRyIvW0azbLjayMykwNPa{eP+[.B-Rapv{%g-B.\u003eGdz/M$Ax([3bB-X:IA+PSfzF784z!9Az3jo*FB7].sBzbkdz!rP}v}/v/asX\u003cBnmuNGvruial${ZLz/]@tavxNNv%8P@Bz(gx\u0026^^jn/SA/7/T6ke/R]$",
            "ln": 4724,
            "col": 32,
            "line": 122
          },
          {
            "b": "B-7-3A=VthzE:(ez//MdBzkf1aAH$mx(mN8aARpqz/]YaayPdgx(n37A:-E1x)a5gx(n37A+n-\u0026wIaq%bo[s1CYmFqA+cv/z/PzilT:!vB.\u003eGdz/P[a3mWI@vrk)^Bzh\u003cC/SA/j/R)D2/S9RZdjM!\u0026Ab](ux\u003eg^@aA8dlx(mG8v{%g-B.\u003eGdz/P[wvqYP#Ab]w%Bzkk[y-)n5xk8D@y-)?rz!%FqwmY*@xkRo\u003eaARJAB7]Ggy?WHbaz2.cA^qh7C{3%jBzbl5vrui[vqEE",
            "ln": 5062,
            "col": 173,
            "line": 128
          },
          {
            "b": "/T6ke/R{1CR}D:QUgQenG\u003cu9uBAzFyiXJd1vrk)^Bzivqz/4drx(^^5B-8pMv{%g-B.\u003eGdz/NGWdK\u003e=jbo[r#z/fVqx\u003c#jbx(mL\u003c3pw-HBAh88B-.tozGu}xxKM09x(d*fz*2Xmv{%g-B.\u003eGdx(v(ivpJ!\u0026A:-E6efFCvwmV)7wNPaTvRGT)BA]zWwn+$2zdNQbvruj4zy=]LwPI%czF7HyvqYP#B-Q#2x(4H9C{3KowGVhdy?4y2wH[%BBZ/8%v@@*",
            "ln": 5461,
            "col": 34,
            "line": 137
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 6386,
              "entropy": 4.89
            },
            "text": {
              "lines": 158,
              "top_char": 105,
              "digit_ratio": 0.02,
              "space_count": 871,
              "char_entropy": 4.89,
              "unique_chars": 98,
              "top_char_null": 0,
              "lines_over_200": 4,
              "top_char_ratio": 0.07,
              "avg_line_length": 39.42,
              "max_line_length": 333,
              "non_ascii_ratio": 0.02,
              "empty_line_ratio": 0.31,
              "last_line_length": 84,
              "whitespace_ratio": 0.16,
              "line_length_stddev": 54.75,
              "max_whitespace_run": 5,
              "repeated_char_sequences": 4
            },
            "binary": {
              "peak_region_bytes": 6386,
              "peak_region_entropy": 4.85
            }
          }
        },
        "id": 4,
        "mol": "Md₂(Pt)",
        "path": "hasbati-discount-calculator-0.1.0.crate!!hasbati-discount-calculator-0.1.0/README.md",
        "pid": 0,
        "risk": 3,
        "sha": "33e172d1d02c2930e3b0640cd435b3a01ff22b8a16760e9e08af6f07e92d93ba",
        "size": 6386,
        "traits": [
          {
            "id": "metadata/file/naming::uppercase-readme-md-basename",
            "conf": 1.0,
            "crit": 3,
            "desc": "Basename is uppercase README.md"
          },
          {
            "id": "metadata/file/profile/markup::reference-guide-section-headings",
            "conf": 0.97,
            "crit": 3,
            "desc": "Reference guide has multiple section headings",
            "spans": [
              [
                786,
                11
              ],
              [
                1526,
                33
              ],
              [
                2271,
                22
              ],
              [
                2546,
                33
              ],
              [
                4097,
                19
              ],
              [
                4788,
                39
              ],
              [
                5126,
                27
              ],
              [
                5525,
                15
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-arabic-script",
            "conf": 0.8,
            "crit": 3,
            "desc": "Contains Arabic-script text",
            "spans": [
              [
                41,
                10
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                844,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                193,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                5556,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                240,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                692,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                455,
                0
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 991,
              "entropy": 4.75
            },
            "binary": {
              "peak_region_bytes": 991,
              "peak_region_entropy": 4.75
            },
            "registry": {
              "age_days": 0,
              "releases_24h": 1,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 1,
              "unpacked_size": 3430,
              "published_unix": 1791908795,
              "downloads_total": 0,
              "version_removed": 0,
              "package_age_days": 0,
              "first_published_unix": 1791908795
            }
          }
        },
        "id": 6,
        "mol": "Md(Re)",
        "path": "hasbati-discount-calculator@0.1.0.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "683395639c16c76d89affb408c242e1bfb707b6603aa45fdb177187b820e572e",
        "size": 991,
        "traits": [
          {
            "id": "metadata/registry::brand-new-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package first published within seven days"
          },
          {
            "id": "metadata/registry::few-releases",
            "conf": 1.0,
            "crit": 3,
            "desc": "Three or fewer releases"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          },
          {
            "id": "metadata/registry::recent-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package under two months old"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "17dc6",
    "v": "8"
  }
}