{
  "ml": {
    "v": "7",
    "eng": "2.9.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00010024508,
        "rte": "az",
        "prob": 0.00010024508
      },
      {
        "cls": 0,
        "raw": 0.0009339054,
        "rte": "az/whl",
        "prob": 0.0009339054
      }
    ],
    "prob": 0.00010024508,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00010024508083006367,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010480483069841284,
        "type": "python"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012814998626708984,
        "type": "python"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011622905731201172,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-09T11:00:22Z"
  },
  "path": "channels_nats-0.3.0-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MK\u00268lqWO*0U%5Z003j7000(p003IxvqY%]y\u0026-%3vruMzuTEI+x()Y?e]V8MKiZA2k[7^4]aSuO6XW$=F^p?(nFTQgb15@hWRGJtLf7fa)vz@ym4cEMu?hzm1RGI3X7yCsX?iW6zaGr[bS-lEn^#?9n.amy",
            "ln": 0
          }
        ],
        "mol": "O(S)H(Cm)",
        "sha": "f9d7f1a9fc874331d4190dfd4f2f06ffa50e5d04e793c467ea70fb7f6a9a5b16",
        "path": "channels_nats-0.3.0-py3-none-any.whl",
        "risk": 3,
        "size": 17683,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0
            },
            "file": {
              "size": 17683,
              "entropy": 7.96
            },
            "binary": {
              "peak_region_bytes": 16384,
              "peak_region_entropy": 7.82
            },
            "archive": {
              "file_count": 7,
              "member_count": 7,
              "script_count": 3,
              "zip_bomb_ratio": 3.71,
              "compressed_size": 16669,
              "directory_count": 0,
              "executable_count": 0,
              "extra_field_size": 0,
              "noise_file_count": 0,
              "compression.ratio": 0.35,
              "hidden_file_count": 0,
              "uncompressed_size": 47970,
              "crc_collision_count": 0,
              "entry_comment_count": 0,
              "max_filename_length": 46,
              "rtlo_filename_count": 0,
              "format.regular_count": 7,
              "nested_archive_count": 0,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "duplicate_member_count": 0,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "security.encrypted_count": 0,
              "timing.mtime_unique_count": 1,
              "timing.mtime_unique_ratio": 0.14,
              "misplaced_executable_count": 0,
              "timing.mtime_dominant_count": 7,
              "timing.mtime_spread_seconds": 0,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "timing.mtime_dominant_fraction": 1,
              "compression.method_counts.deflate": 7
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "self_dependency": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "channels_nats",
            "source": "whl.distribution",
            "verified": false
          },
          "trust": "unsigned",
          "authors": [
            {
              "name": "itda-work",
              "role": "author",
              "source": "whl.author"
            }
          ],
          "version": {
            "value": "0.3.0",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/messaging/mqtt::mqtt-publish",
            "conf": 0.9,
            "crit": 3,
            "desc": "Publishes an MQTT message",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-basic-metadata",
            "conf": 0.95,
            "crit": 2,
            "desc": "PyPI package declares name, version, summary",
            "from": [
              {
                "off": 42,
                "file": 4
              }
            ],
            "uses": [
              4,
              6,
              11,
              14
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-license-file",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package license file",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-runtime-metadata",
            "conf": 0.94,
            "crit": 2,
            "desc": "PyPI package declares Python and dependencies",
            "from": [
              {
                "off": 779,
                "file": 4
              }
            ],
            "uses": [
              6,
              9,
              15
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "objectives/supply-chain/recon-exfil/import-time::runs-at-import-or-install",
            "atk": "T1195.002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Code runs at import or install time",
            "from": [
              {
                "file": 1
              }
            ],
            "uses": [
              7
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/file/profile/identity::init-py-file",
            "conf": 0.3,
            "crit": 1,
            "desc": "Python package __init__.py file",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-license-metadata",
            "conf": 0.94,
            "crit": 2,
            "desc": "PyPI package declares license information",
            "from": [
              {
                "off": 272,
                "file": 4
              }
            ],
            "uses": [
              2,
              6,
              13
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-python",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares supported Python versions",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/messaging/mqtt::mqtt-subscribe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Subscribes to an MQTT topic",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-markdown-description",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Markdown package description",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-license-expression",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python license expression",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-dist",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python runtime dependencies",
            "from": [
              {
                "file": 4
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "a%Fjak#Z=mvQS+ZwN(][xKL^@wO-G9vr(B8azbLjavG%MzF9(glUG[CzE)T9e*qF-3jpx=z/3Rhze:AlBzLV2e]tfwvpS!*vixo3AbP=saw=GRyHH\u003c!ph+kzz/]@dmriA!AX5tRwPz\u003caz/b)?w].*batdFsD1z1sx(d*cA=-B0vruMTxKL^@wO+4GD1z163uQrliTM#LarU2#C4CYnx-",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "dgfThv}xR3aw=GRyHH\u003c!ph+kzz/]@dmriA!AYLr=boQzqB8Mhwv}u^8A+e/8Bzb98aA}mnaz$+lwPw]czGx]dy\u00260V[3lQDlaywG0wPz\u003caz/e]?auZ?\u003eB-7#jz*c7y3jpcEvqG:!uM.GOtoV*JBAo/.vqY%]y!On.wPw$Car\u003ef1C4CYnx(v(@uM@+.",
            "ln": 199,
            "col": 42,
            "line": 8
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "version"
            ],
            [
              "",
              ".layer"
            ],
            [
              "",
              ".layer.NatsChannelLayer"
            ],
            [
              "",
              "PackageNotFoundError"
            ],
            [
              "",
              "importlib.metadata"
            ],
            [
              "",
              "version"
            ]
          ],
          "tgt": [
            "version"
          ],
          "metrics": {
            "ast": {
              "max_depth": 8,
              "call_count": 1,
              "node_count": 75,
              "max_array_len": 2
            },
            "file": {
              "size": 347,
              "entropy": 4.79
            },
            "text": {
              "lines": 12,
              "top_char": 101,
              "max_ws_run": 2,
              "space_count": 37,
              "char_entropy": 4.79,
              "unique_chars": 48,
              "top_char_null": 0,
              "string_density": 0.42,
              "top_char_ratio": 0.07,
              "avg_line_length": 27.92,
              "max_line_length": 70,
              "empty_line_ratio": 0.33,
              "last_line_length": 45,
              "whitespace_ratio": 0.14,
              "identifier_density": 0.92,
              "line_length_stddev": 25.18,
              "encoded_string_ratio": 0.2,
              "normalized_string_count": 1.44,
              "normalized_unique_identifiers": 2.23
            },
            "binds": {
              "count": 3
            },
            "binary": {
              "peak_region_bytes": 347,
              "peak_region_entropy": 4.79
            },
            "imports": {
              "count": 5,
              "dynamic": 1,
              "relative": 2,
              "stdlib_count": 1,
              "stdlib_ratio": 0.2,
              "relative_ratio": 0.4,
              "third_party_count": 4,
              "third_party_ratio": 0.8
            },
            "strings": {
              "bytes": 97,
              "count": 5,
              "avg_length": 19.4,
              "max_length": 50,
              "avg_entropy": 3.14,
              "entropy_stddev": 0.75,
              "base64_candidates": 1
            },
            "comments": {
              "chars": 39,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.09
            },
            "identifiers": {
              "count": 11,
              "unique": 8,
              "avg_length": 10.38,
              "max_length": 20,
              "min_length": 5,
              "avg_entropy": 2.69,
              "reuse_ratio": 0.73,
              "length_stddev": 4.79,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 0.75,
              "double_underscore_count": 2,
              "underscore_prefix_count": 2
            }
          }
        },
        "id": 1,
        "mol": "O(S)",
        "path": "channels_nats-0.3.0-py3-none-any.whl!!channels_nats/__init__.py",
        "pid": 0,
        "risk": 1,
        "sha": "5e7ad234ee062b18effd2bd57f460205b95d17dfacad163c8c96e3113d793a56",
        "size": 347,
        "traits": [
          {
            "id": "metadata/file/profile/identity::init-py-file",
            "conf": 0.3,
            "crit": 1,
            "desc": "Python package __init__.py file",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/recon-exfil/import-time::runs-at-import-or-install",
            "atk": "T1195.002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Code runs at import or install time",
            "uses": [
              0
            ],
            "spans": [
              [
                0,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%Fjsu}$cLB3\u003cRHzF\u003c34oKSiTA:SooavG%MzF9(glUG[CzE)T9aA8cuBz(avz!pb2awLj4qY{c)A=#2me^.}:BZ/8%v@#=mvrb{4Bzbkdv@DmbA:-E1e*9C$D30.lzF78lxKM09B8UY0yJyQ[k#Z=9c$d1iBzblaaw^u9xM4=hCw?IqwPxseviw6UazbUjzGEALviv{hnHU=(vqWi5z!T8iBzbkdB75]%az+FiwPw]5C{46GvR/+1xLzu%aARJABzbl5iTMiCayFOtAb]J4x)q/]AapH.Ab](bwPI]Ru%\u003e91z/fbezdN^fvp%c]w]zYjz/fbeAb](bwPI]AB8UY2x\u003ez6?ay/7[zF\u003c343lQDtu%[4!zE^c.aARJAu%[4{wN/B^x\u003e5+TAb](bwPI]RaV%EHk44+Ej0nSUwGUPcy?$k7xKL^@wO-GbvqPM#BAg/kwO=Agx(jn2aARpdayFOAxKL^@wO+:Zazts{wmY^7vqYP#BzbkdA+e-(x)aidxcqelz!0v1B0bHwB-.hoazC{uy\u0026r/(y\u00261w7eG!CejAbsLw[=GNe[nMEjy-5kzF\u003c34k44+vaA8deaz\u003eXhB75Y)azbLjayMyiy*?3}asIp",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "Aa@)8aARpdaz\u003eXhB75Y)azC.nzY\u003cdnwGU/cv{%f@zddc{vScGlz!pb6C4CYtaz\u003eXbvR6Nj3n0w{wPI{3xjVcbz!@@}AV/EqvqWh}u$BO4x(XGbu)6J4v@Dl}B0a[iwGUH",
            "ln": 1102,
            "col": 18,
            "line": 20
          },
          {
            "b": "wPPKElVl\u003c-B.$YgB0a[cCvt=raAIWmB7ol8vR3W2zxJCczF\u003c2}BsW+waAIDzBzbxfaA8dlC{3%jBAz8mB0b7kAV!!3eOG6jay/7[zF\u003c34az$R8wPGEheG^t4zddc{vScGly?X67B0bQyBzkLlx([zsy*?ybayFO$wN/p=C4A6Ju%\u003e9\u003eB0a$3zEWl]",
            "ln": 1486,
            "col": 37,
            "line": 25
          },
          {
            "b": "xld=$wGV8dwGUG3zGx@qwPz\u0026taz+$mA4RFwa%Ev3w].*baywF/B-.+DwNw^!x(d*cA=-BjzF\u003cxmvruj4zGuc(x(d*cA=-BjB9RUkx(st)ze:AlBrCyrxj\u003e{@x9@u\u0026AbP=saARsmwErc*AbP=saAR)Fx(mMavriMk3tBu@z/P}xB-?ze3tar%z6iv$BywV}vrlH3B0bglAbP=say[]5vpKaZB8@(Pw[.",
            "ln": 2022,
            "col": 35,
            "line": 34
          },
          {
            "b": "3lQDlarR^HarR^HarR^Har\u003cfGpdv/Bb03\u0026[b6dsoC4CYnb03\u0026Jb5Q?hB2\u003e%cf!$WufFk4if/?cDgbp4VEjLZFarR^HarR^HarR!P3lQDlarR^HaBKOtarR^Ja%Ev3arR^HwQ5rdzGxJgzGu{-ax{45A=l8tB0rdTb4+UlB7=+63jm)#arR)\u0026axi2=aAIHkv/",
            "ln": 3928,
            "col": 61,
            "line": 94
          },
          {
            "b": "wN/*?z/x/jz/fRsz/M$EEjkHCarR^HarR!FwO+%hv@b\u003c\u003czGGl1wfs2TB-?zee{hqJwhCX-e[!*vtrjF]t).X%arR^HarU-py?tqbB97\u0026jwPG)PwnbK}tvzO#zEWy0e\u003cS@/Bn",
            "ln": 5677,
            "col": 41,
            "line": 134
          },
          {
            "b": "A3f1ozdNQbaARJAw]zZ5wPP5pxK@r5z/oPo3lQDlarR^HarR^Har@1JxKM09xKM6}aAImmv}u=(wO2:4v@c78wN(]neG/dGwODfcv@Dm5wN/*@z/fRswnbQ=aA}KwxDRzgwO\u0026$vvqYP.arR^HarR^HarR^HboQzqv@c78wN({1z/oOqv{%l$B98bjy-)g#aAz49wPzv1v}xf[wO=B0Cw7MdwH[%BzY\u003cmjx([6bxcp/8AV/EqwEoL5ao",
            "ln": 6135,
            "col": 54,
            "line": 145
          },
          {
            "b": "ay]4}ayw-0A+w%9uT)[\u003cB7F(?y\u0026slhB0#9vy?taseJ$pLz/fbE3lQDlarR^HazbLjay/kaB7F(8x(k4$y\u0026slhazbLjaz+$mA3e\u003ejaAIagw?ECiByxo5B0bgeaz+$mA4U\u003cCuT)[\u003cB7F(gdp1$warR^HarR^HarR^HwmYN1B7Gf1e)\u0026Wwvru74tvRF/B7F(/3jm)#arU7",
            "ln": 6997,
            "col": 4,
            "line": 161
          },
          {
            "b": "arR^HarR!FByxo5e]\u003eJkz*2YjC{2l)vrlZiv}/\u003clv@=c?By!*3vrlijB7Gf1e)\u0026Tgv@DK4AWV0Jvru6fdgcz8arR!nB9RUkay]4}ayxe2v@DK4AWV0uy?tjvB97\u0026jwJy@voMa\u0026*q/(C\u0026wHO-Nj%iQszE\u003e\u003coarR^HarR^HwmYN=C{2l)fFki\u0026arR^HarR^HCw7YbwGV5ovru66x(k5mwO+%huVQr$By/ICC42ifwPGmGayPd#asIqMvru6kv@b\u003c\u003czGE1nB0aj@zE\u003c@eAV/BBvru6kv@b\u003c\u003czGEHBB6\u0026A[z/YG2dlm!UarR^HarR^HarR!GA^oXMarR^HarR^HarR^HarR^HvrVc]BrCToy?tqbv@b\u003c\u003czGEoQarR)KA+e:0zF\u003c2}BAnNkzE:(gwPI%iA+fqmBzbxfaz+$mA3]YHB9g@kv@=p5BzkVhA%:3jarR^HarR^HarR^HarUYoBAIRw3lQDlarR^HarR^Haz2!cwPh-lmr\u0026rNAcb/jzxJweaz2Olz/N(CarR^HarR^HarR^HarR^Hy\u0026r@sCvtJfx(mMib4Cp{zF\u003c34B6\u0026/[BAoF=A+e:0zF\u003c2}BrCg7x(4u\u003easFKSdlwU]A^qwpxcpR}vqfQ4x(k4te?{%Va$K\u003cFA=M8sefFFmy*?Pr3lQDlarR^HarR^HarR^HayPF5x(\u003eFaB9RUkx(tRBy?mf%c$D[9vr\u003cpearR^HarR^HarR^HarR^HwmYN=C{2l)ze0(owmYN=C{1NVgaTL7fFk4d3jm)#arU9lD2vamwmYu}uVG.0BZ/A4A+O#]d05%ow?k6CByxo5iV}^6",
            "ln": 8589,
            "col": 2,
            "line": 198
          },
          {
            "b": "x(v)gdlm!UarR^HarR^HarR!FByxo5e]U\u0026Hv}x.5uVQv0B7ol8Acb/jzGx36BZ/8%v@#00jS[fSvqf*av@b\u003c\u003czGEHLBZ/A4A+O#]d06JuygQ)%efFCij-+gJw?ECfA=kD0B8$Y0wO=77wPxhuByxo5djCPDarR^HarR!sz/M$gxKL^@wO-[uvScGlx(k5mByxo5e]t3hy*}scwPGFrBy/rgc[dg:arR^HarR^HarR^Hx\u003ewF%z*i)QBZ/A4A+PGmx(v(i",
            "ln": 9725,
            "col": 52,
            "line": 219
          },
          {
            "b": "vr(WcvpQH0zxJ?9BAo3PwPz%9AV/pvaAIaiwftY1B8@JjarR^HarR^HarR^HdgdguarR^HarU9pvqf*av@b\u003c\u003czGEHIBZ/f3B7=$yBZ/8%v@%mAAaa3dz^^fcazts{wmY!5j.OznwmY!5dgcz8arR!qwO95(wO#HgwP.MjB7Gf1efFzuCSD%Oo\u003c}:LvScGxay/7[zF\u003c34iV@G=AX5tIwPI{3xjTaDo\u003ewx!vp%d2at2=1ph+2YiTM#LarR^HarUMuCou",
            "ln": 15979,
            "col": 52,
            "line": 351
          },
          {
            "b": "xKL^@wO:yIB98BNaz\u003eXhB75Y)iV}ddB8$=5wHO-Nj%iQszE\u003e\u003coarR^HarR^HvrlH3A=-BrB7]JkByx5%wHIzbB8$=5wH[%mx\u003e8llefDcNwPI{3xjSi1B0bvsBrC0mwnbK}a{]CnarR^HarU-py?tquwPq\u003cbA+eQ3vqGT*uT)+TzF\u003c34uV6p?wHI54vqY%]y:/YlarR^HarR!nB8$]kBrz=muTX1*x\u003cUv-vqY%]y*QJ[az#atazCZozdN^fvp%d5ar\u003cY{B7GxnwN({0wQbyCuTEk.xk7Z.xKL^@wO+ZXcM)bvaz\u003eXhB75Y)a{]CnarR^HarUuevpS}\u0026B09Q*DVJ+mw?DCwk#7fzoKysVk$1dtiV}{CvqY%]y\u003c^Buw/@ova%pPqay/7[zF\u003c34az2wgwGT-^zE\u003cd$arR^HarR!nCvticaAIagw=",
            "ln": 19925,
            "col": 27,
            "line": 438
          },
          {
            "b": "arR^Hay!?$v}xE)wN(]DavY^QB7CX3arR^HarR!GA^oXMarR^HarR^HarR^HCw7YbwGT@)B.9PvarR^HarR^HarR^HarR^HADL\u0026nwN]dRBsXLKwPI{3xjShGayPF5x(\u003eFbz*i)OB.bYbe[X:qc[bGCarR^HarR^HarR^HarR!vw/#hfzdLtpz/fGnz/fo0c[cn",
            "ln": 20506,
            "col": 4,
            "line": 449
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "super().__init__"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "self.compile_capacities"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "dict"
            ],
            [
              "",
              "uuid.uuid4"
            ],
            [
              "",
              "asyncio.get_running_loop"
            ],
            [
              "",
              "self._states.get"
            ],
            [
              "",
              "self._forget_closed_loops"
            ],
            [
              "",
              "LoopState"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "loop.is_closed"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "self._connect"
            ],
            [
              "",
              "self._resubscribe"
            ],
            [
              "",
              "dict"
            ],
            [
              "",
              "options.pop"
            ],
            [
              "",
              "given"
            ],
            [
              "",
              "self._start_recovery"
            ],
            [
              "",
              "nats.connect"
            ],
            [
              "",
              "self._states.values"
            ],
            [
              "",
              "state.recovery.done"
            ],
            [
              "",
              "asyncio.create_task"
            ],
            [
              "",
              "self._recover"
            ],
            [
              "",
              "self._states.values"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "asyncio.sleep"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self._process_deliver"
            ],
            [
              "",
              "state.mailboxes.items"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.channel_subject"
            ],
            [
              "",
              "self.channel_queue_group"
            ],
            [
              "",
              "self._channel_deliver"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.group_subject"
            ],
            [
              "",
              "self._group_deliver"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.group_subject"
            ],
            [
              "",
              "self.channel_queue_group"
            ],
            [
              "",
              "self._group_channel_deliver"
            ],
            [
              "",
              "client.flush"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "state.mailboxes.values"
            ],
            [
              "",
              "self.process_subject"
            ],
            [
              "",
              "channel.index"
            ],
            [
              "",
              "channel[: channel.index(\"!\")].rsplit"
            ],
            [
              "",
              "channel.index"
            ],
            [
              "",
              "self.channel_subject"
            ],
            [
              "",
              "self._enqueue"
            ],
            [
              "",
              "serializers.loads"
            ],
            [
              "",
              "(msg.headers or {}).get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "self._enqueue"
            ],
            [
              "",
              "serializers.loads"
            ],
            [
              "",
              "serializers.loads"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "state.groups.get"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "self._enqueue"
            ],
            [
              "",
              "serializers.loads"
            ],
            [
              "",
              "subscription.unsubscribe"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "self._enqueue"
            ],
            [
              "",
              "serializers.loads"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "headers.items"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "serializers.dumps"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "self._frame_size"
            ],
            [
              "",
              "MessageTooLarge"
            ],
            [
              "",
              "client.publish"
            ],
            [
              "",
              "time.monotonic"
            ],
            [
              "",
              "box.queue.qsize"
            ],
            [
              "",
              "self.get_capacity"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "self.get_capacity"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "box.queue.put_nowait"
            ],
            [
              "",
              "self.owns_channel"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "Mailbox"
            ],
            [
              "",
              "asyncio.Queue"
            ],
            [
              "",
              "self._process_subscription"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.channel_subject"
            ],
            [
              "",
              "self.channel_queue_group"
            ],
            [
              "",
              "self._channel_deliver"
            ],
            [
              "",
              "client.flush"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "self._unsubscribe"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "self.process_subject"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self._process_deliver"
            ],
            [
              "",
              "client.flush"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self.require_valid_channel_name"
            ],
            [
              "",
              "self._publish"
            ],
            [
              "",
              "self.channel_subject"
            ],
            [
              "",
              "self.require_valid_channel_name"
            ],
            [
              "",
              "self._mailbox"
            ],
            [
              "",
              "box.queue.get"
            ],
            [
              "",
              "time.monotonic"
            ],
            [
              "",
              "self._discard_mailbox"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "state.mailboxes.get"
            ],
            [
              "",
              "state.groups.items"
            ],
            [
              "",
              "members.discard"
            ],
            [
              "",
              "state.group_channel_subscriptions.pop"
            ],
            [
              "",
              "stale.append"
            ],
            [
              "",
              "state.group_subscriptions.pop"
            ],
            [
              "",
              "stale.append"
            ],
            [
              "",
              "self._unsubscribe"
            ],
            [
              "",
              "uuid.uuid4"
            ],
            [
              "",
              "self._mailbox"
            ],
            [
              "",
              "self.require_valid_group_name"
            ],
            [
              "",
              "self.require_valid_channel_name"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "self._mailbox"
            ],
            [
              "",
              "state.groups.setdefault(group, set()).add"
            ],
            [
              "",
              "state.groups.setdefault"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.group_subject"
            ],
            [
              "",
              "self._group_deliver"
            ],
            [
              "",
              "self._client"
            ],
            [
              "",
              "client.subscribe"
            ],
            [
              "",
              "self.group_subject"
            ],
            [
              "",
              "self.channel_queue_group"
            ],
            [
              "",
              "self._group_channel_deliver"
            ],
            [
              "",
              "client.flush"
            ],
            [
              "",
              "self.require_valid_group_name"
            ],
            [
              "",
              "self.require_valid_channel_name"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "state.groups.get"
            ],
            [
              "",
              "members.discard"
            ],
            [
              "",
              "state.group_channel_subscriptions.pop"
            ],
            [
              "",
              "stale.append"
            ],
            [
              "",
              "state.group_subscriptions.pop"
            ],
            [
              "",
              "self._unsubscribe"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self.require_valid_group_name"
            ],
            [
              "",
              "self._publish"
            ],
            [
              "",
              "self.group_subject"
            ],
            [
              "",
              "self._state"
            ],
            [
              "",
              "state.group_subscriptions.values"
            ],
            [
              "",
              "state.group_channel_subscriptions.values"
            ],
            [
              "",
              "state.mailboxes.values"
            ],
            [
              "",
              "state.process_subscriptions.values"
            ],
            [
              "",
              "state.group_subscriptions.clear"
            ],
            [
              "",
              "state.group_channel_subscriptions.clear"
            ],
            [
              "",
              "state.process_subscriptions.clear"
            ],
            [
              "",
              "state.mailboxes.clear"
            ],
            [
              "",
              "state.groups.clear"
            ],
            [
              "",
              "self._unsubscribe"
            ],
            [
              "",
              "self._states.pop"
            ],
            [
              "",
              "asyncio.get_running_loop"
            ],
            [
              "",
              "self._forget_closed_loops"
            ],
            [
              "",
              "state.recovery.cancel"
            ],
            [
              "",
              "state.client.drain"
            ],
            [
              "",
              ".serializers"
            ],
            [
              "",
              "BaseChannelLayer"
            ],
            [
              "",
              "ChannelFull"
            ],
            [
              "",
              "Client"
            ],
            [
              "",
              "MessageTooLarge"
            ],
            [
              "",
              "Subscription"
            ],
            [
              "",
              "asyncio"
            ],
            [
              "",
              "channels.exceptions"
            ],
            [
              "",
              "channels.layers"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "nats"
            ],
            [
              "",
              "nats.aio.client"
            ],
            [
              "",
              "nats.aio.subscription"
            ],
            [
              "",
              "time"
            ],
            [
              "",
              "typing"
            ],
            [
              "",
              "uuid"
            ]
          ],
          "mbr": [
            "asyncio.AbstractEventLoop",
            "asyncio.CancelledError",
            "asyncio.Lock",
            "asyncio.Queue",
            "asyncio.Task",
            "asyncio.create_task",
            "asyncio.get_running_loop",
            "asyncio.sleep",
            "box.dropped",
            "box.queue",
            "box.queue.get",
            "box.queue.put_nowait",
            "box.queue.qsize",
            "box.receivers",
            "box.subscription",
            "box.warned_at",
            "channel.index",
            "client.flush",
            "client.max_payload",
            "client.publish",
            "client.subscribe",
            "headers.items",
            "log.debug",
            "log.warning",
            "logging.getLogger",
            "loop.is_closed",
            "members.discard",
            "msg.data",
            "msg.headers",
            "nats.connect",
            "options.pop",
            "self.CHANNEL_HEADER",
            "self._channel_deliver",
            "self._client",
            "self._connect",
            "self._discard_mailbox",
            "self._enqueue",
            "self._forget_closed_loops",
            "self._frame_size",
            "self._group_channel_deliver",
            "self._group_deliver",
            "self._mailbox",
            "self._process_deliver",
            "self._process_subscription",
            "self._publish",
            "self._recover",
            "self._resubscribe",
            "self._start_recovery",
            "self._state",
            "self._states",
            "self._states.get",
            "self._states.pop",
            "self._states.values",
            "self._unsubscribe",
            "self._warned_about_loops",
            "self.channel_capacity",
            "self.channel_queue_group",
            "self.channel_subject",
            "self.client_id",
            "self.compile_capacities",
            "self.connect_options",
            "self.drop_log_interval",
            "self.expiry",
            "self.get_capacity",
            "self.group_expiry",
            "self.group_subject",
            "self.loop_state_warn_at",
            "self.owns_channel",
            "self.prefix",
            "self.process_subject",
            "self.require_valid_channel_name",
            "self.require_valid_group_name",
            "self.servers",
            "serializers.dumps",
            "serializers.loads",
            "stale.append",
            "state.client",
            "state.client.drain",
            "state.client.is_closed",
            "state.group_channel_subscriptions",
            "state.group_channel_subscriptions.clear",
            "state.group_channel_subscriptions.pop",
            "state.group_channel_subscriptions.values",
            "state.group_subscriptions",
            "state.group_subscriptions.clear",
            "state.group_subscriptions.pop",
            "state.group_subscriptions.values",
            "state.groups",
            "state.groups.clear",
            "state.groups.get",
            "state.groups.items",
            "state.groups.setdefault",
            "state.groups.setdefault().add",
            "state.lock",
            "state.mailboxes",
            "state.mailboxes.clear",
            "state.mailboxes.get",
            "state.mailboxes.items",
            "state.mailboxes.values",
            "state.process_subscriptions",
            "state.process_subscriptions.clear",
            "state.process_subscriptions.values",
            "state.recovery",
            "state.recovery.cancel",
            "state.recovery.done",
            "state.subscribe_lock",
            "subscription.unsubscribe",
            "super().__init__",
            "t.Any",
            "t.Awaitable",
            "t.Callable",
            "t.Iterable",
            "t.Sequence",
            "time.monotonic",
            "uuid.uuid4",
            "uuid.uuid4().hex"
          ],
          "tgt": [
            "MessageTooLarge",
            "ValueError",
            "_LoopState",
            "_Mailbox",
            "asyncio.Queue",
            "asyncio.create_task",
            "asyncio.get_running_loop",
            "asyncio.sleep",
            "box.queue.get",
            "box.queue.put_nowait",
            "box.queue.qsize",
            "channel.index",
            "client.flush",
            "client.publish",
            "client.subscribe",
            "dict",
            "field",
            "given",
            "headers.items",
            "isinstance",
            "len",
            "list",
            "log.debug",
            "log.warning",
            "logging.getLogger",
            "loop.is_closed",
            "members.discard",
            "min",
            "nats.connect",
            "options.pop",
            "self._channel_deliver",
            "self._client",
            "self._connect",
            "self._discard_mailbox",
            "self._enqueue",
            "self._forget_closed_loops",
            "self._frame_size",
            "self._group_channel_deliver",
            "self._group_deliver",
            "self._mailbox",
            "self._process_deliver",
            "self._process_subscription",
            "self._publish",
            "self._recover",
            "self._resubscribe",
            "self._start_recovery",
            "self._state",
            "self._states.get",
            "self._states.pop",
            "self._states.values",
            "self._unsubscribe",
            "self.channel_queue_group",
            "self.channel_subject",
            "self.compile_capacities",
            "self.get_capacity",
            "self.group_subject",
            "self.owns_channel",
            "self.process_subject",
            "self.require_valid_channel_name",
            "self.require_valid_group_name",
            "serializers.dumps",
            "serializers.loads",
            "set",
            "stale.append",
            "state.client.drain",
            "state.group_channel_subscriptions.clear",
            "state.group_channel_subscriptions.pop",
            "state.group_channel_subscriptions.values",
            "state.group_subscriptions.clear",
            "state.group_subscriptions.pop",
            "state.group_subscriptions.values",
            "state.groups.clear",
            "state.groups.get",
            "state.groups.items",
            "state.groups.setdefault",
            "state.groups.setdefault().add",
            "state.mailboxes.clear",
            "state.mailboxes.get",
            "state.mailboxes.items",
            "state.mailboxes.values",
            "state.process_subscriptions.clear",
            "state.process_subscriptions.values",
            "state.recovery.cancel",
            "state.recovery.done",
            "subscription.unsubscribe",
            "sum",
            "super",
            "super().__init__",
            "time.monotonic",
            "uuid.uuid4"
          ],
          "funcs": [
            [
              "__init__",
              4717
            ],
            [
              "_state",
              5943
            ],
            [
              "_forget_closed_loops",
              6998
            ],
            [
              "_client",
              7155
            ],
            [
              "_connect",
              7628
            ],
            [
              "on_closed",
              7784
            ],
            [
              "_start_recovery",
              8013
            ],
            [
              "_recover",
              8660
            ],
            [
              "_resubscribe",
              9199
            ],
            [
              "channel_subject",
              11132
            ],
            [
              "process_subject",
              11371
            ],
            [
              "owns_channel",
              11594
            ],
            [
              "channel_queue_group",
              11812
            ],
            [
              "group_subject",
              12366
            ],
            [
              "_channel_deliver",
              12459
            ],
            [
              "deliver",
              12566
            ],
            [
              "_process_deliver",
              12703
            ],
            [
              "deliver",
              12800
            ],
            [
              "_group_deliver",
              13151
            ],
            [
              "deliver",
              13258
            ],
            [
              "_unsubscribe",
              13977
            ],
            [
              "_group_channel_deliver",
              14511
            ],
            [
              "deliver",
              14628
            ],
            [
              "_frame_size",
              14848
            ],
            [
              "_publish",
              15527
            ],
            [
              "_enqueue",
              16098
            ],
            [
              "_mailbox",
              17018
            ],
            [
              "_process_subscription",
              19250
            ],
            [
              "send",
              19903
            ],
            [
              "receive",
              20334
            ],
            [
              "_discard_mailbox",
              20994
            ],
            [
              "new_channel",
              22475
            ],
            [
              "group_add",
              22817
            ],
            [
              "group_discard",
              24187
            ],
            [
              "group_send",
              24781
            ],
            [
              "flush",
              25111
            ],
            [
              "close",
              25781
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 11,
              "op.bor": 5,
              "op.lor": 7,
              "op.mul": 1,
              "op.sub": 4,
              "op.land": 8,
              "max_depth": 20,
              "call_count": 192,
              "node_count": 5224,
              "member_count": 116,
              "max_array_len": 4,
              "op_density.add": 0,
              "op_density.bor": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "max_concat_chain": 4,
              "member_depth_max": 4,
              "infinite_loop_count": 1,
              "string_return_function_count": 1,
              "string_return_function_ratio": 0.03
            },
            "file": {
              "size": 26272,
              "entropy": 4.47
            },
            "text": {
              "lines": 571,
              "top_char": 101,
              "max_ws_run": 3,
              "digit_ratio": 0,
              "space_count": 6793,
              "char_entropy": 4.47,
              "unique_chars": 86,
              "top_char_null": 0,
              "string_density": 0.09,
              "top_char_ratio": 0.08,
              "ascii_art_lines": 4,
              "avg_line_length": 45.01,
              "max_line_length": 115,
              "empty_line_ratio": 0.13,
              "last_line_length": 38,
              "whitespace_ratio": 0.28,
              "identifier_density": 2.13,
              "line_length_stddev": 29.04,
              "normalized_string_count": 2.22,
              "repeated_char_sequences": 190,
              "suspicious_string_ratio": 0.26,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 20.53
            },
            "binds": {
              "count": 89
            },
            "binary": {
              "peak_region_bytes": 13312,
              "peak_region_entropy": 4.83
            },
            "source": {
              "class_count": 3,
              "function_count": 34
            },
            "imports": {
              "count": 20,
              "aliased": 1,
              "relative": 2,
              "stdlib_count": 6,
              "stdlib_ratio": 0.3,
              "relative_ratio": 0.1,
              "third_party_count": 14,
              "third_party_ratio": 0.7
            },
            "strings": {
              "sql": 4,
              "bytes": 6277,
              "count": 53,
              "shell": 10,
              "very_long": 1,
              "avg_length": 118.43,
              "max_length": 2050,
              "avg_entropy": 3.23,
              "entropy_stddev": 1.47
            },
            "comments": {
              "chars": 2814,
              "count": 45,
              "lines": 45,
              "to_code_ratio": 0.09
            },
            "functions": {
              "count": 37,
              "nested": 5,
              "density": 6.48,
              "avg_params": 2.24,
              "code_ratio": 0.78,
              "max_params": 8,
              "length_stddev": 9.3,
              "avg_name_length": 11.11,
              "no_params_count": 1,
              "avg_length_lines": 12.03,
              "max_length_lines": 44,
              "min_length_lines": 2,
              "avg_nesting_depth": 0.14,
              "many_params_count": 1,
              "max_nesting_depth": 1,
              "high_entropy_names": 4,
              "avg_param_name_length": 5.52
            },
            "identifiers": {
              "count": 1216,
              "unique": 188,
              "avg_length": 8.52,
              "max_length": 27,
              "min_length": 1,
              "avg_entropy": 2.51,
              "reuse_ratio": 0.15,
              "length_stddev": 5,
              "has_digit_ratio": 0.01,
              "sequential_names": 3,
              "single_char_count": 3,
              "single_char_ratio": 0.02,
              "high_entropy_count": 12,
              "high_entropy_ratio": 0.06,
              "all_lowercase_ratio": 0.87,
              "all_uppercase_ratio": 0.01,
              "numeric_suffix_count": 1,
              "double_underscore_count": 1,
              "underscore_prefix_count": 23
            }
          }
        },
        "id": 2,
        "mol": "H(Cm)",
        "path": "channels_nats-0.3.0-py3-none-any.whl!!channels_nats/layer.py",
        "pid": 0,
        "risk": 1,
        "sha": "a86b18adb3a4075b992510d6c3672c92cc57f252ae2fc67ad4241556dd368f52",
        "size": 26272,
        "traits": [
          {
            "id": "micro-behaviors/communications/messaging/mqtt::mqtt-publish",
            "conf": 0.9,
            "crit": 3,
            "desc": "Publishes an MQTT message",
            "spans": [
              [
                16043,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/messaging/mqtt::mqtt-subscribe",
            "conf": 0.9,
            "crit": 3,
            "desc": "Subscribes to an MQTT topic",
            "spans": [
              [
                9789,
                16
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVv}Yp*zE)T9ePb0sB0rdVC4CYnx(v(kiWcmggCgv9efY4QvR/+1xK$ZYvrrXOf/I6KiwAAGg=W9hvp%dUwmo+8b04zeb5yXfwPI%2C4CYnx(v(kiWcmggCgv9efXIBBzbPkb03]ZByX/iCw?Iqa$K{Wx([f5b06Q:y?$TD",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 848,
              "entropy": 4.78
            },
            "binary": {
              "peak_region_bytes": 848,
              "peak_region_entropy": 4.78
            },
            "registry": {
              "age_days": 0,
              "published_at": 1788916449,
              "releases_24h": 6,
              "releases_48h": 6,
              "is_deprecated": 0,
              "release_count": 6,
              "package_age_days": 0,
              "first_published_at": 1788877533,
              "vulnerability_count": 0,
              "previous_published_at": 1788915637,
              "days_since_previous_release": 0
            }
          }
        },
        "id": 6,
        "mol": "Md(Re)",
        "path": "channels-nats@0.3.0.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "fdd2998769e008f82f63439a44503313561a68d8412725b561fe4835d3e70489",
        "size": 848,
        "traits": [
          {
            "id": "metadata/registry::brand-new-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package first published within seven days",
            "spans": [
              [
                0,
                32
              ]
            ]
          },
          {
            "id": "metadata/registry::publish-burst-24h",
            "conf": 1.0,
            "crit": 3,
            "desc": "Three releases published within 24 hours",
            "spans": [
              [
                0,
                28
              ]
            ]
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days",
            "spans": [
              [
                0,
                24
              ]
            ]
          },
          {
            "id": "metadata/registry::new-package-publish-burst",
            "conf": 0.6,
            "crit": 3,
            "desc": "Brand-new package with publish burst",
            "uses": [
              0,
              1
            ],
            "spans": [
              [
                0,
                28
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "v": "8"
  }
}