{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00006312132,
        "rte": "az",
        "prob": 0.00006312132
      },
      {
        "cls": 0,
        "raw": 0.00063385564,
        "rte": "az/whl",
        "prob": 0.00063385564
      }
    ],
    "prob": 0.00006312132,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00006312131881713867,
        "type": "whl"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015775362044223584,
        "type": "python"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011205673217773438,
        "type": "python"
      },
      {
        "id": 26,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001790126225387212,
        "type": "python"
      },
      {
        "id": 29,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001749396324157715,
        "type": "python"
      },
      {
        "id": 103,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001789132693374995,
        "type": "python"
      },
      {
        "id": 232,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-14T04:10:08Z"
  },
  "path": "ic_code-1.5.3-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "H₂(CmF)",
        "sha": "6e31d09ebe2413663440cf65a6a0b2461228d836ed8c1176ad843a07b6dc1d8e",
        "path": "ic_code-1.5.3-py3-none-any.whl",
        "risk": 2,
        "size": 578759,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0
            },
            "file": {
              "size": 578759,
              "entropy": 7.97
            },
            "binary": {
              "peak_region_bytes": 560128,
              "peak_region_entropy": 7.85
            },
            "archive": {
              "file_count": 233,
              "member_count": 233,
              "script_count": 211,
              "zip_bomb_ratio": 6.29,
              "compressed_size": 546635,
              "directory_count": 0,
              "executable_count": 0,
              "extra_field_size": 0,
              "noise_file_count": 0,
              "compression.ratio": 0.26,
              "hidden_file_count": 0,
              "uncompressed_size": 2081377,
              "crc_collision_count": 1,
              "entry_comment_count": 0,
              "max_filename_length": 44,
              "rtlo_filename_count": 0,
              "format.regular_count": 233,
              "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": 2,
              "timing.mtime_unique_ratio": 0.01,
              "misplaced_executable_count": 0,
              "timing.mtime_outlier_count": 6,
              "timing.mtime_dominant_count": 227,
              "timing.mtime_spread_seconds": 10,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "timing.mtime_dominant_fraction": 0.97,
              "compression.method_counts.deflate": 233
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "self_dependency": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "ic_code",
            "source": "whl.distribution",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/dgr009/ic",
              "kind": "homepage",
              "source": "whl.home_page"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "cruiser594@gmail.com"
          ],
          "authors": [
            {
              "name": "SangYun Kim",
              "role": "author",
              "email": "cruiser594@gmail.com",
              "source": "whl.author"
            }
          ],
          "version": {
            "value": "1.5.3",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/http/request/client::requests-post-json-payload",
            "conf": 0.85,
            "crit": 3,
            "desc": "Sends JSON with Python requests.post()",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::python-executable",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python sets executable file permissions",
            "from": [
              {
                "file": 26
              }
            ]
          }
        ]
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-field-unavailable",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "x(d*cA=-BxA%=R#AbP=sazL$ozvg8{AbP=saAz32w].*baAR)Fx(mMax(d*cA=-A$x(!wEavG{NBsXL2zG#O6ze:AlBrCQnADL\u0026lBAm!3A=k!qA+P2%e[n*qB8L(aazCXiz/P}xlVl\u003c-z!@$(w].*baAzgaxFaynvR/P#x(d*cA=-B6vpB4:3tar%z6gDEz!yhbze:AlBrCyrxj2j\u003cA=k$Haz+$euUKy\u0026zWD*@ax98+v@0h*wNYs\u003ez!*E}qCuCFGDI)UzGWe\u0026JeWa]YZg#D)1y(K(AC*9PT:uQV\u003cF32q+PFAoj7:?lp:)Foj7W%oDVFvz/WKzwPRH3B%[LkoHh3suSPV.nkA2OuSx#$a$i\u003caboP(#v}W1KY{OevLPYm}O:rU?aNDE\u003e(Bs7=NuO4*z/fSmy?j.Lavy6+B8L(ac[bGgwmYu}BywS{wNxK$uT)[-vqYB]wQ5qBBywS{wHPUEarR^Ha%Fjex\u003e7*0)s*I=OWvZ)L\u003cB@]ave+3nG^xkL\u003csK6aNCCH)47Ha)s*L^ILPS%XA/\u0026UaNuv:)u%s]a%FirarR^HCwhejay/tcB8L(ae[nseBAIRnc[coEB0a$3AcckywJyevarR^HarR!pz/fSmy?kkrA+PAkd0e)by?k45arR^HA::f0By/YsauZ\u0026Svq{shA+c\u003eowPPsH3lQDlay/k0vqYB]wQ5qtjS[=Re]#eAc#{XuCRJVjtu-^kixHH@z6{\u003eScNQC/A::f0By/YsdiG-Tave+3nG^xkL\u003csK6aNC+\u003e(ANM2arR^HA+funA=91fy?m3)uVY\u003e7Bp5v=wO96awO#3=B8kn{yHpK!z!0N7uVYY",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "z/NmFx([f5efFRqvpS}\u0026B1wCOz*cmNaz\u003eLiuTX4#vpJ$/wO#QhjU[=viTM#LarU(tvRxW#yHqj8y-\u003e\u003e-z/WKzwPRH3B%[LkoHh3suSPV.nkA2OuSx#$a$i\u003cwarR!vw/$#fBrC^svRxW#yHqj8y=R[CarR^HarR!yz!AA*A=M8sc)zPavpK6}s7L\u0026Oz/ozlrz(JSOWoKaGRW$cMfTK0)5bvR)3iE{M6*]}WD\u0026:b(X?L\u003ea$i\u003cwarR^HarR!EwPS6nzvcZ[arR^KatCq/(./ZdMaXqXz*co/UZ^\u003e.O}MynGZb!8)45!L)6IPlV+kW\u003cOA(9e(-4lxaNC+O)6r#v(Y5dnOWv^qUPSm\u003cFB5h!aNCLY)3koIR\u0026h+:V:x4JGBe?AarUxgaz+Rbc#%lIB15j}az\u003eLiuTX4#vpJ$/wO#QhiTM#LarR^HarU-FzeAZ4D0+04BywV)zdNQbB09Q*tm8F",
            "ln": 675,
            "col": 37,
            "line": 24
          },
          {
            "b": "D2dzcwfs2TDM()uBywV)zdNQbB0rT/B9htpvrcT2vruQ1v}YZ\u003czGG@F3lQDlarR^HaAz4mAbPSnwGTbUA+flkwPI%me]U-IBsmFsarR^HarR^HarR!JwNYs\u003ez!\u0026Z5A+)olarR^HarR^HarR^Hyiarhj-B?Py\u0026r-)ed9HxarR^HarR^HarUuevpS}\u0026B3j\u003c]lVl\u003c:wO#Pwrc-B]b03?\u003cvq{g4x\u003e7N[x(v(xyiarhb7h0HarR^HarR^HarR^HBzkP6z/{d+gCxdUarR^HarR^Q3lQDlarR^HazCBgA+frhz/fSce]#byBAIUiv@C)?ar-(\u003cgb7yy3lQDlarR^HarR^Haz+$euUam#z/NlkarR^HarR^HarR^HarR^Hw*gb:ADL\u0026lBrCWz",
            "ln": 2091,
            "col": 11,
            "line": 57
          },
          {
            "b": "A=k$vDVAXsAbPSnwIe4CvruTkuT[1+wQM9La{]CnarR^HarR^HarR^HarUnuBzbkdA+frhz/fScazC)TtYa[ewPI*ezGxwwBy/YsEiG1varR^HarR^HarR^Q3lQDlarR^Haz2wgwJyevarR^HarR^HarR!yz!AA\u003ezF0/nw*ge\u0026vpK6})3:g9MaXsaSG=+cOB0e7(.Rlp)4x3#Hn112I0Q2b(X*O+I\u003e?Ez)6JraDU^nhc#%lIB18L5V9U@ja$i\u003cwarR^H",
            "ln": 2424,
            "col": 50,
            "line": 66
          },
          {
            "b": "iV]RSx)ai3wPw#yed9HxarR^HarR^HarT}%arR^HarR^HEf}8tarT}%3lQDlazbLjaAzyAazCZoA=leyiTM#LarR^HarR)K)3%:oNYbOaU]@tqFB4(?aNlnp(A!d\u0026MYJuQL^6FAYDDM[Ir]\u003eCaND1R)4xQJarR^HarR^Hv@Dg4A:JA)wO+)#uOJV^ar\u00264vwmPjY",
            "ln": 3018,
            "col": 24,
            "line": 82
          },
          {
            "b": "arV7Y3jm)#arUSiD2dzcwfs2TDM()uBywV)zdNQbB0rT/vruQ1v}YZ\u003czGG@F3lQDlaAz4mAbPSnwGTbUA+flkwPI%me]U-IBsmFsarR^HarR!JwNYs\u003ez!\u0026Z5A+)olarR^HarR^Hyiarhj-B?Py\u0026r-)ed9HxarR^HarUuevpS}\u0026B3j\u003c]lVl\u003c:wO#Pwrc-B]b03?\u003cvq{g4x\u003e7N[x(v(xyiarhb7h0HarR^HarR^HBzkP6z/{d+gCxdUarR^Q3jm)#arUxgaAz4mAbPSnwIe4CvruTkuT[1+wGScVatLS8iTM#LarR^HarUGsxj2j\u003cA=k$D3lQDlarR^HarR^Haz8/}wPq\u003c7B95KDzY?${vpK6}A+funA=bB",
            "ln": 4207,
            "col": 7,
            "line": 117
          },
          {
            "b": "arR^Q3jprPw/#eazE^9}y***?uT^?\u0026v@3c)BywS{wHIUmBzLItazts{wmY!5efF$KCxkh]3lQDlar\u00260Nq/2(LyAL@Wz!0N7awlA\u003c)45!L)1ht9NYkXtV([:\u0026Jo)ax(:Sf4)u\u003cg9I\u003efj8YZ8nYaNu1\u003e)2dz2R?19fYDDNlGZsC!e*qF-3lQDlazCBgzF%Rtz/WKzwPRH3B%[LkoHh3suSPV.nkA2OuSx#$a$kLWarR^HarR^Hy\u0026r@[wPz*fAWSbgy***?axJb-xM4*8axqrk)47Ha)1zh3PQ1\u00268NcZ-3aNCwJ)3i$8INz=dI0G${e*q.KarR^HarR^HA+funA=8i\u003earR^HvR/%)yJzJVoLFM\u0026tsn",
            "ln": 4593,
            "col": 6,
            "line": 131
          },
          {
            "b": "UZ^\u003e.GT6*GWD%Mq)3$-OP}0m(POhV^Q3E/c)3AK{INz=dI0G${e*q.KarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwJyevarR^HarR!yz!AA*A=M8sc$TV4y***?aNu1\u003e)2dz2R*]]RPOhV^P=\u0026Y$KS:1TR0B\u003eAaNun4)1p\u0026\u0026aBvWFa$i\u003cawmYu}B7Gl1uVQ3(v@2B*wPI{3xjSGdwPI{3xjSIM3lQDlar\u00260Nq/2(LyWvO7(.f*\u003e(AC%cI(u3dOfmiMJQhK#)twy@(-3cnI\u003e6diFA%5AaNC+O)1Rk3M8K",
            "ln": 6634,
            "col": 39,
            "line": 190
          },
          {
            "b": "A=8i\u003earR^HAaa3dz^^f0jS]7}By/Ysb03\u0026-wPI{3xjVF#arR^HBAhT/3lQDlarR^HaAz4mAbPSnwGTbUA+flkwPI%me]U-IBsquAvRxW#yHqj8y+cYtvrt{vyiarhe[x9wAc0BDvr(WcvpQ/razts{wmY!5j:OLzz/fVdzGEEfD2NsxiV]!UAbYScv{%E[z/djyB8L}zEjMH.x(dB1B-Y=5fEWtKarR^HarR!vw/#b9B8V5nB7D$BByxolB6\u0026A}wmV(bjS(HlfGGK-arR^HarR^HarR!yz!AA*A=M8sc$TV4y***?aNu1\u003e)2dz2R*]]RPOhV^P=\u0026YWR0TbtiV@=\u0026wPI*ezGxwwB97\u0026jB-Q]1z!9BcefGo",
            "ln": 7036,
            "col": 13,
            "line": 199
          },
          {
            "b": "aAIjmCvb2{vpS}\u0026jYDDAwH[%qwNPaXA:J)fD2d4Pb4tFbwftxcvqWnr3lQDlazbLjazts{wmY^7x(k5bwNPaXA=TnGarR^HarR^HBywS{wIdz4wm5?+y\u0026%Pjc$)g2wmY^g3jm)#arUomAV/yvCoyQqay[]5vla-rarR^HarR!GvpB4:e[5p3uVH7ec[nCxBAe^zBy/qrazbLjazC}ez6iLgaAzyAt}39/arR^HboVxcJo)ax(:ShCORecKTHNR*KNesv(.f*\u003e(:8ceNv1s7arR!Jx([2hv@Dmaz!@#qv{%s#B-I4wdiJ5uay!\u00260BAIRniTM#LarR^HarUfjzu",
            "ln": 7896,
            "col": 31,
            "line": 219
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Console"
            ],
            [
              "",
              "console.capture"
            ],
            [
              "",
              "console.print"
            ],
            [
              "",
              "capture.get"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "attachments.append"
            ],
            [
              "",
              "attachments.append"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "blocks.append"
            ],
            [
              "",
              "error.strip"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "blocks.append"
            ],
            [
              "",
              "blocks.append"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "json.dumps"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "Table"
            ],
            [
              "",
              "table.add_column"
            ],
            [
              "",
              "table.add_row"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "console.capture"
            ],
            [
              "",
              "console.print"
            ],
            [
              "",
              "capture.get"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "json.dumps"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "console.capture"
            ],
            [
              "",
              "console.print"
            ],
            [
              "",
              "capture.get"
            ],
            [
              "",
              ".log"
            ],
            [
              ".log",
              ".log.log_error"
            ],
            [
              ".log",
              ".log.log_info"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "rich.console",
              "Console"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "typing",
              "List"
            ],
            [
              "rich.table",
              "Table"
            ],
            [
              "",
              "json"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "re"
            ],
            [
              "",
              "requests"
            ],
            [
              "",
              "rich.console"
            ],
            [
              "",
              "rich.table"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "attachments.append",
            "blocks.append",
            "capture.get",
            "console.capture",
            "console.print",
            "error.strip",
            "json.dumps",
            "os.getenv",
            "re.sub",
            "requests.post",
            "response.status_code",
            "response.text",
            "table.add_column",
            "table.add_row"
          ],
          "tgt": [
            "Console",
            "Table",
            "attachments.append",
            "blocks.append",
            "capture.get",
            "console.capture",
            "console.print",
            "enumerate",
            "error.strip",
            "json.dumps",
            "len",
            "log_error",
            "log_info",
            "os.getenv",
            "re.sub",
            "requests.post",
            "str",
            "table.add_column",
            "table.add_row"
          ],
          "funcs": [
            [
              "table_to_clean_text",
              340
            ],
            [
              "send_slack_blocks_table_with_color",
              639
            ],
            [
              "send_slack_blocks_table",
              4599
            ],
            [
              "send_slack_message",
              6774
            ],
            [
              "send_slack_table",
              7540
            ],
            [
              "table_to_text",
              8829
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 2,
              "max_depth": 21,
              "call_count": 58,
              "node_count": 2343,
              "member_count": 14,
              "op_density.add": 0,
              "max_array_length": 3,
              "max_concat_chain": 2,
              "max_member_depth": 2
            },
            "file": {
              "size": 9013,
              "entropy": 5.1
            },
            "text": {
              "lines": 249,
              "top_char": 101,
              "digit_ratio": 0.02,
              "space_count": 2581,
              "char_entropy": 5.1,
              "unique_chars": 136,
              "top_char_null": 0,
              "escape_density": 0.01,
              "import_density": 6.02,
              "string_density": 0.64,
              "top_char_ratio": 0.05,
              "avg_line_length": 35.2,
              "invisible_chars": 1,
              "max_line_length": 129,
              "non_ascii_ratio": 0.16,
              "empty_line_ratio": 0.12,
              "hex_escape_count": 1,
              "last_line_length": 24,
              "whitespace_ratio": 0.31,
              "identifier_density": 1.17,
              "line_length_stddev": 29.03,
              "max_whitespace_run": 2,
              "normalized_import_count": 0.95,
              "normalized_string_count": 10.14,
              "repeated_char_sequences": 81,
              "suspicious_string_ratio": 0.01,
              "suspicious_comment_ratio": 0.33,
              "normalized_function_count": 0.38,
              "trailing_whitespace_lines": 1,
              "imports_to_functions_ratio": 2.5,
              "strings_to_functions_ratio": 26.67,
              "suspicious_identifier_ratio": 0.01,
              "normalized_unique_identifiers": 8.92,
              "identifiers_to_functions_ratio": 11.83
            },
            "binds": {
              "count": 28
            },
            "binary": {
              "peak_region_bytes": 3893,
              "peak_region_entropy": 5.62
            },
            "source": {
              "function_count": 6
            },
            "imports": {
              "count": 15,
              "relative": 3,
              "stdlib_count": 4,
              "stdlib_ratio": 0.27,
              "relative_ratio": 0.2,
              "third_party_count": 11,
              "third_party_ratio": 0.73
            },
            "strings": {
              "bytes": 2789,
              "count": 160,
              "shell": 1,
              "avg_length": 17.43,
              "max_length": 91,
              "avg_entropy": 2.78,
              "empty_count": 1,
              "entropy_stddev": 1.16,
              "high_entropy_count": 1
            },
            "comments": {
              "chars": 681,
              "count": 15,
              "lines": 15,
              "high_entropy": 5,
              "to_code_ratio": 0.06
            },
            "functions": {
              "count": 6,
              "density": 2.41,
              "avg_params": 2.17,
              "code_ratio": 0.92,
              "max_params": 4,
              "length_stddev": 36.38,
              "over_100_lines": 1,
              "avg_name_length": 20.5,
              "avg_length_lines": 38.17,
              "max_length_lines": 108,
              "min_length_lines": 5,
              "high_entropy_names": 1,
              "avg_param_name_length": 6.15
            },
            "identifiers": {
              "count": 292,
              "unique": 71,
              "avg_length": 8.13,
              "max_length": 34,
              "min_length": 1,
              "avg_entropy": 2.43,
              "reuse_ratio": 0.24,
              "length_stddev": 5.66,
              "has_digit_ratio": 0.06,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.01,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.03,
              "all_lowercase_ratio": 0.86,
              "numeric_suffix_count": 4
            }
          }
        },
        "id": 8,
        "mol": "H₃(Cm₆Db₂Os₂)Md₃(In₂Pt₂)",
        "path": "ic_code-1.5.3-py3-none-any.whl!!common/slack.py",
        "pid": 0,
        "risk": 8,
        "sha": "66175f354d5b2df0271432cc45721432b465cd59f85d60722a5af0481381eb1f",
        "size": 9013,
        "traits": [
          {
            "id": "metadata/file/catalog/service::service-name-slack",
            "conf": 0.82,
            "crit": 3,
            "desc": "Slack service name",
            "spans": [
              [
                813,
                5
              ],
              [
                4657,
                5
              ]
            ]
          },
          {
            "id": "metadata/import/python/os::os",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports os",
            "spans": [
              [
                7,
                2
              ]
            ]
          },
          {
            "id": "metadata/import/python/requests::requests",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports requests",
            "spans": [
              [
                74,
                8
              ]
            ]
          },
          {
            "id": "metadata/lang/encoding::non-ascii-script-text",
            "conf": 0.88,
            "crit": 3,
            "desc": "Script non-ASCII byte ratio \u003e=12%"
          },
          {
            "id": "metadata/lang/natural/script::lang-korean-source",
            "conf": 0.8,
            "crit": 3,
            "desc": "Contains Hangul script in interpreted content",
            "spans": [
              [
                211,
                12
              ],
              [
                224,
                9
              ],
              [
                309,
                9
              ],
              [
                384,
                12
              ],
              [
                416,
                12
              ],
              [
                834,
                12
              ],
              [
                847,
                15
              ],
              [
                906,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::python-response-body-member-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "Python response body member access",
            "spans": [
              [
                2491,
                8
              ],
              [
                2500,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::requests-response-body-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Reads a requests response body",
            "uses": [
              2,
              5,
              10
            ],
            "spans": [
              [
                74,
                8
              ],
              [
                2155,
                13
              ],
              [
                2491,
                8
              ],
              [
                2500,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::json-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "References HTTP Content-Type application/json",
            "spans": [
              [
                2243,
                32
              ],
              [
                7163,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::python-json-content-type",
            "conf": 0.94,
            "crit": 3,
            "desc": "JSON Content-Type mapping in Python source",
            "spans": [
              [
                2243,
                32
              ],
              [
                7163,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::http-post-client-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.85,
            "crit": 3,
            "desc": "HTTP POST client call",
            "spans": [
              [
                2155,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::requests-post",
            "conf": 0.85,
            "crit": 3,
            "desc": "Calls requests.post() in Python",
            "spans": [
              [
                2155,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/body::client-payload-argument",
            "conf": 0.86,
            "crit": 3,
            "desc": "HTTP client call supplies a payload argument",
            "spans": [
              [
                2155,
                57
              ],
              [
                4271,
                49
              ],
              [
                7100,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/body::http-post-with-body-argument",
            "conf": 0.82,
            "crit": 3,
            "desc": "HTTP POST supplies a body argument",
            "spans": [
              [
                2155,
                103
              ],
              [
                4271,
                103
              ],
              [
                7100,
                103
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/json::requests-post-json-payload",
            "conf": 0.85,
            "crit": 3,
            "desc": "Sends JSON with Python requests.post()",
            "spans": [
              [
                2155,
                103
              ],
              [
                2164,
                4
              ],
              [
                2207,
                4
              ],
              [
                4271,
                103
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/webhook::python-webhook-post",
            "mbc": "C0002",
            "conf": 0.88,
            "crit": 3,
            "desc": "Python posts data to a webhook",
            "uses": [
              9,
              38
            ],
            "spans": [
              [
                191,
                7
              ],
              [
                2155,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::python-column0-noarg-call-assignment",
            "conf": 0.84,
            "crit": 3,
            "desc": "Module assigns a no-arg call",
            "spans": [
              [
                319,
                20
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json::json-dumps-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Serializes data with Python json.dumps()",
            "spans": [
              [
                7132,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/check::python-env-presence-check",
            "conf": 0.88,
            "crit": 3,
            "desc": "Python tests whether env vars are set",
            "spans": [
              [
                4738,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/read::python-os-getenv-call",
            "conf": 0.92,
            "crit": 3,
            "desc": "Python reads an environment variable",
            "spans": [
              [
                739,
                9
              ]
            ]
          },
          {
            "id": "metadata/import/python/json::json",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports json",
            "spans": [
              [
                17,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/re::re",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports re",
            "spans": [
              [
                29,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/log/log_error::log_error",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .log.log_error from .log",
            "spans": [
              [
                162,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/log/log_info::log_info",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .log.log_info from .log",
            "spans": [
              [
                173,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/log::relative/1/log",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .log",
            "spans": [
              [
                150,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/rich/console/console::console",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Console from rich.console",
            "spans": [
              [
                108,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/rich/console::rich/console",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rich.console",
            "spans": [
              [
                88,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/rich/table/table::table",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Table from rich.table",
            "spans": [
              [
                139,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/rich/table::rich/table",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rich.table",
            "spans": [
              [
                121,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                63,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                57,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                51,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                37,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/catalog/service::messaging-mail-service-names",
            "conf": 0.82,
            "crit": 1,
            "desc": "Messaging and mail service names",
            "uses": [
              0
            ],
            "spans": [
              [
                813,
                0
              ],
              [
                4657,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-access-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-access verb token",
            "spans": [
              [
                495,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-transfer-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-transfer verb token",
            "spans": [
              [
                2164,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                2472,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                3067,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                444,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/keywords::webhook-service-word",
            "conf": 0.9,
            "crit": 1,
            "desc": "Mentions 'webhook' (HTTP callback)",
            "spans": [
              [
                191,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                6682,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%FirlsBwtCvtJ5ay/tbAa9\u003c5vRGT)BA]0Bvr(B8azbLjaw1{yAa9l(vp%d73jo:Cx(+zlz!a0bwGU@jz*2\u00269wPF#7z/6D4Bzkh#y?X0paAIjgzf3?iz/M$iCXIkvx(mMax(d*cA=-Byvrug7ayPd#azb+lv@#B6zEEu}BA[jnzY\u0026ReB9hImaAIyrz//Unze0T6vruj4zxJLiz/3RsxK@r8y?aVfBAhIlBAIRnaARJABzbkdzE[2mB8\u003e+zaz+Fiz/{dO3l*Vr3jpG:AbP=saA}mmzFs03A%=J1z/3RsD2NFnxcp]9AbP=savf)\u003cefEt{v@%mApJgz\u0026z/f013tBu@z/P}xz/Vm$A=k!qAa9\u003c4y?Wu3x(d*cA=-B2vrue\u00263l{V+ze:AlBrCEjCoy:vwozZ1A%=J1z/3QHe[n*qw[+)gzddr\u003cxjV9ax(d*cA=-A\u003ez/ff3xh8/Lvp%d(3tar%z6gC-v@Dl%x\u003eG5twN/\u003e6x([Ryx(d*cA=-B5wN/\u003e6x([R{vqYH^wPwb\u0026A=k!qe?QTLA+c\u003etz!AY%zF78aze:AlBrBdxoMaMRwPwb\u0026A=k!qe?QTLA+c\u003eAwPI{bz/cXize:AlBrA\u003eJq=vmGB7]Mgo\u003c}{FxjV8\u003c3l{V-y\u0026r=\u003ey-)kaze-{9x\u003c$^)x([Ryx(n0lvqYN^A%=n:z/ff3xj2H:zEEf?AYLssAcb/jzEEu=lVl\u003cOx\u003eHdGzEEf?A:o!JawM\u0026)wEq^Xz!AY]AYLssAcb/jzEEu=nKDf\u0026xj\u003e^@t{6",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "AW.trarR^HarR^KawuYZwftx2zF0P}B-H]jx(v(iCwhejatdkyB%7y9y\u00260M?v}#z]arR^HarR!lv@Dl%x\u003eH^\u0026vqYH^wPxztz^^f-v@Dl%x\u003eF?y3lQDlaAz4nB-IvxuT[1(w=",
            "ln": 946,
            "col": 73,
            "line": 30
          },
          {
            "b": "a{]CnarR^HarUxgaz#ataAIagw?EC4zGYx6z^^f/wi75uarR^HarR^HarR!rzGYx0x(4u6jS)NfBz96Ie[F{zcN/xBarR^HarR^HarR!vw/$V5C3!\u0026}y?kkgCXIkvB0@E#3lQDlarR^HarR^HarR^HaARTHiTM#LarR^HarR^HarR^HarR^HarUopz/3Rcz//MdB%7HoAbP=saz+$8wm5\u003e=By/uk3lQDlarR^HarR^HarR^HarR^Haz+$8wm5\u003e=By/ukc[bGCarR^HarR^HarR^HarR^HarR!FwO+%huUaa#uU\u003cT?wmYo]jS)ZAB.7[5arR^HarR^HarR^HarR^HarR^larR^HarR^HarR^HarR^HarR^HboPN0B9h4pwmY.2wN/d\u003cx(v(iCvtJfx(mL\u003carR^HarR^HarR^HarQ",
            "ln": 2529,
            "col": 69,
            "line": 80
          },
          {
            "b": "wN/d\u003cwN)g@arR^HarR^HarR^HarR^HarR^HarR^Ha$^CAB%7yhy?j-iB75Y)a$K6zarR^HarR^HarR^HarR^HarR^HarR^JsWt+Qay/tcw[+[2A::67z/cXfx(4v4ao",
            "ln": 2882,
            "col": 30,
            "line": 90
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR\u003c-e?![ia{]CnarR^HarR^HarR^HarR^HarS9uarR^HarR^HarR^HarR^HwQ4Y@Ac9i]ze:AlBvyj\u003cz/N(CarR^HarR^HarR^HarR^HarR^HAa9*e3lQDlapoklarUiaw/$.$Bsqiwy?tjvyH}=LaAITBefFFmw)]*#BugKgzH0u/awM\u0026)wHO-Nj%ideC@=oParR^HarR^Ja%EvparR^HarR^%wPP58z/ff3xlwl6BzkVhaA?e",
            "ln": 3005,
            "col": 7,
            "line": 93
          },
          {
            "b": "3lQDlarR^HapoklarR^HarR)KmQZaHvQS+ZaARJAwO#W9A=k\u0026jwO#PjC42A9vpB4:3lQDlarR^Haz2CluU:j#auZ\u0026.wQb[JAbYxec[c=?wPhD]v}v5oe*\u0026g)cTOkI3lQDlarR^Haz2CluV]\u003c]B.8WUaA8rNxjVf@zGWBtzGYx5wQbZiarR^HarR^Hx\u003ewG0zGYxgvqH6$azC)tzF%Rtph+2YiTM#LarR^HarR^HarUYoBAIRwaz2CluV]\u003c]B.7[5arR^HarR^larR^HarR^HboPV\u003exjkp}az2Clx(XcfzdNQbaA?glx\u003c\u003eE!wGU?#AbYJexla",
            "ln": 3605,
            "col": 25,
            "line": 112
          },
          {
            "b": "zddc{cPSv$lRHoQl}f\u003coqBK}Yo*IuAcObPEarR^HarR^HarR^Ov@c7awm/T^A+c\u003eiAa@W3z!\u0026{4cPSv$lRHoQl}f\u003coqBK}Up!t1[pFjbKcObPEarR^HarR^HarR^OB8kn{yC6*xvRxW#yHqj8y:Rm^cSrY8lRy=/mm6KvpFk4{qCnC?3lQDlarR^HaBKOtarR^HarR^larR^HarR^Hy?ml/v%IA)zGYx5wQbyYaz+R4vpKN\u0026zddy5x(mN8e[X:qc#iytdgdgu",
            "ln": 4191,
            "col": 26,
            "line": 127
          },
          {
            "b": "e)\u0026BkvpS.RzGYx3w)YB!wN]v.c[bGg3l{V-y\u0026r=\u003ey-)kaze-{9x\u003c$^)x([Ryv@Dl%x\u003eFM5zGx]dzEWk+v@Dj6vrt\u003c^z/ff3xcotWlVl*Xvrui)x(4H9C%=H/w[+)adgcy?wmYu}xjVf(wO#V#C42ifwHIt9C@^6?BAe]PwmYvYB.(dXavf)\u003cauZ\u0026xz/fbnat2=1l2H%e3lQDlar\u00260N3lQDlavoHDyJ\u003cicwftx2ze-{9x\u003c$^)x([Ryw{503BzkVhazbLjaz2Clx(XcfzdNQbaA?glx\u003c\u003eE!wGUy",
            "ln": 4912,
            "col": 13,
            "line": 148
          },
          {
            "b": "B8@@varR^H3lQDlavg3XB2\u003cTJarR^HarR!xwQcrVmq^o.A=k\u0026jwO#PjC42A9vpB4:azULl3lQDlarR^Hay]4}vrDydiV{?4w)]*#BrC:ny\u0026%qix\u003ewG9z/^alz/]@d3lQDlarR^HapoklarTM[",
            "ln": 5146,
            "col": 66,
            "line": 157
          },
          {
            "b": "uTWCOz/]@tB0@EWeJ$p[x(!wS3lQDlar\u00260Nm}D=+l03#cvpJ!=B-8qxazbUjz6itbzF0P}B-H]jx(v(wa%FirarR^HvpJ!=B-8qxauZ\u0026Sz/6D4ByeJ@zF0P}e[X.",
            "ln": 5900,
            "col": 12,
            "line": 191
          },
          {
            "b": "vqYN^c$cQ}z/]@tB1wCPBAe/\u003e3lQDlarR^HaAz4nB-Ivxtvz2Ke]#bPx(CEHazbLjayO+\u0026azCZovpJ!=B-8qxe]$#Fx(\u003e:Jegh\u003e?x\u003ewF@v}dcjBAh8mc[eBearR^HA+funA=91dv}fC1zGG}xz/M$8t)Z]CwmYu}xjVf(vrV^1A+e($z/fRAdiHiaaz++kBuf:K",
            "ln": 6034,
            "col": 14,
            "line": 194
          },
          {
            "b": "Byx5%wHIOgxk8p4B1wCPBAe/\u003e3lQDlarR^HaAz4nB-Ivxtxjp/e]#bPx(CEHazbLjaAz4aazCZoA+e($z/fRGB8U@fBsnH/cN*fLw/#b9xd!mEA+PFvdp0o6arR!EwPS6nzxJ$hxk8p4A%-lYwmYu}xjVf(xjC)/Ab](iwN/*?x\u003eeRvat2=1pJgz\u0026z/f01txs[b",
            "ln": 6314,
            "col": 13,
            "line": 202
          },
          {
            "b": "x\u003eeOu3jmbJwO95$wPRp2y***?uW36\u003cxM4*8uV*y9c[cn\u003cj%iTuBzkVhvqGd?BAgUF3lQDlar\u00260Nm}D=+q/2(LyAN?jvRxW#yAMRPoDW}/z/3Rbz/ff3xlwl6BzkVhe*qF-3lQDlaAz4nB-Ivxv@Dj6vrt\u003c^z/ff3xd^?dBsnITy***?e{y(oxM4*8uV*y9cN/xf3l{VZCYmOwBrC7ize-{9x\u003c$^)x([Ryw{503BzkVhA%=nYvqG:!uJ",
            "ln": 6564,
            "col": 43,
            "line": 209
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "SecurityManager"
            ],
            [
              "",
              "ConfigManager"
            ],
            [
              "",
              "_config_manager.load_config"
            ],
            [
              "",
              "get_config_manager"
            ],
            [
              "",
              "config_manager.get_config"
            ],
            [
              "",
              "ICLogger"
            ],
            [
              "",
              "get_config_manager"
            ],
            [
              "",
              "config_manager.get_config"
            ],
            [
              "",
              "AWSSessionManager"
            ],
            [
              "",
              "warnings.warn"
            ],
            [
              "",
              "get_config_manager"
            ],
            [
              "",
              "self._load_env_if_needed"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "env_file.exists"
            ],
            [
              "",
              "load_dotenv"
            ],
            [
              "",
              "warn_deprecated"
            ],
            [
              "",
              "self._config_manager.get_config_value"
            ],
            [
              "",
              "key.upper.replace"
            ],
            [
              "",
              "key.upper"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "legacy_mappings.get"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "self._config_manager.get_config"
            ],
            [
              "",
              "self._config_manager.load_config"
            ],
            [
              "",
              "self._load_env_if_needed"
            ],
            [
              "",
              "CompatibilityConfig"
            ],
            [
              "",
              "warn_deprecated"
            ],
            [
              "",
              "key.lower.replace"
            ],
            [
              "",
              "key.lower"
            ],
            [
              "",
              "os.getenv"
            ],
            [
              "",
              "warn_deprecated"
            ],
            [
              "",
              "load_dotenv"
            ],
            [
              "",
              "compat_config.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "acc.strip"
            ],
            [
              "",
              "accounts.split"
            ],
            [
              "",
              "acc.strip"
            ],
            [
              "",
              "compat_config.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "reg.strip"
            ],
            [
              "",
              "regions.split"
            ],
            [
              "",
              "reg.strip"
            ],
            [
              "",
              "compat_config.get"
            ],
            [
              "",
              "compat_config.get"
            ],
            [
              "",
              "..config.manager"
            ],
            [
              "..config.manager",
              "..config.manager.ConfigManager"
            ],
            [
              "",
              "..config.security"
            ],
            [
              "..config.security",
              "..config.security.SecurityManager"
            ],
            [
              "",
              "..core.logging"
            ],
            [
              "..core.logging",
              "..core.logging.ICLogger"
            ],
            [
              "",
              "..core.session"
            ],
            [
              "..core.session",
              "..core.session.AWSSessionManager"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "pathlib",
              "Path"
            ],
            [
              "",
              "dotenv"
            ],
            [
              "dotenv",
              "load_dotenv"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "typing"
            ],
            [
              "",
              "warnings"
            ]
          ],
          "mbr": [
            "_config_manager.load_config",
            "acc.strip",
            "accounts.split",
            "compat_config.get",
            "config_manager.get_config",
            "env_file.exists",
            "key.lower",
            "key.lower.replace",
            "key.upper",
            "key.upper.replace",
            "legacy_mappings.get",
            "os.getenv",
            "reg.strip",
            "regions.split",
            "self._config_manager",
            "self._config_manager.get_config",
            "self._config_manager.get_config_value",
            "self._config_manager.load_config",
            "self._env_loaded",
            "self._load_env_if_needed",
            "warnings.warn"
          ],
          "tgt": [
            "AWSSessionManager",
            "CompatibilityConfig",
            "ConfigManager",
            "ICLogger",
            "Path",
            "SecurityManager",
            "_config_manager.load_config",
            "acc.strip",
            "accounts.split",
            "compat_config.get",
            "config_manager.get_config",
            "env_file.exists",
            "get_config_manager",
            "isinstance",
            "key.lower",
            "key.lower.replace",
            "key.upper",
            "key.upper.replace",
            "legacy_mappings.get",
            "load_dotenv",
            "os.getenv",
            "reg.strip",
            "regions.split",
            "self._config_manager.get_config",
            "self._config_manager.get_config_value",
            "self._config_manager.load_config",
            "self._load_env_if_needed",
            "warn_deprecated",
            "warnings.warn"
          ],
          "funcs": [
            [
              "get_config_manager",
              672
            ],
            [
              "get_logger",
              1064
            ],
            [
              "get_aws_session_manager",
              1334
            ],
            [
              "warn_deprecated",
              1696
            ],
            [
              "__init__",
              2281
            ],
            [
              "_load_env_if_needed",
              2430
            ],
            [
              "get",
              3123
            ],
            [
              "get_all",
              4599
            ],
            [
              "reload",
              4745
            ],
            [
              "get_env_value",
              5016
            ],
            [
              "load_dotenv_compat",
              5503
            ],
            [
              "get_aws_accounts",
              5889
            ],
            [
              "get_aws_regions",
              6158
            ],
            [
              "get_gcp_project_id",
              6430
            ],
            [
              "get_slack_webhook_url",
              6571
            ]
          ],
          "metrics": {
            "ast": {
              "op.lor": 1,
              "max_depth": 15,
              "call_count": 44,
              "node_count": 1375,
              "member_count": 21,
              "op_density.lor": 0,
              "max_array_length": 11,
              "max_member_depth": 3
            },
            "file": {
              "size": 7036,
              "entropy": 4.62
            },
            "text": {
              "lines": 230,
              "top_char": 101,
              "digit_ratio": 0,
              "space_count": 1703,
              "char_entropy": 4.62,
              "unique_chars": 69,
              "top_char_null": 0,
              "import_density": 7.83,
              "string_density": 0.28,
              "top_char_ratio": 0.06,
              "avg_line_length": 29.6,
              "max_line_length": 84,
              "empty_line_ratio": 0.2,
              "last_line_length": 1,
              "whitespace_ratio": 0.27,
              "identifier_density": 0.99,
              "line_length_stddev": 21.01,
              "max_whitespace_run": 1,
              "normalized_import_count": 1.19,
              "normalized_string_count": 4.29,
              "repeated_char_sequences": 32,
              "suspicious_string_ratio": 0.14,
              "normalized_function_count": 0.99,
              "trailing_whitespace_lines": 16,
              "imports_to_functions_ratio": 1.2,
              "strings_to_functions_ratio": 4.33,
              "normalized_unique_identifiers": 9.94,
              "identifiers_to_functions_ratio": 5.2
            },
            "binds": {
              "count": 26
            },
            "binary": {
              "peak_region_bytes": 4988,
              "peak_region_entropy": 4.77
            },
            "source": {
              "class_count": 1,
              "function_count": 15
            },
            "imports": {
              "count": 18,
              "relative": 8,
              "stdlib_count": 4,
              "stdlib_ratio": 0.22,
              "relative_ratio": 0.44,
              "third_party_count": 14,
              "third_party_ratio": 0.78
            },
            "strings": {
              "sql": 4,
              "bytes": 2330,
              "count": 65,
              "avg_length": 35.85,
              "max_length": 261,
              "avg_entropy": 3.33,
              "entropy_stddev": 1.09,
              "embedded_code_candidates": 5
            },
            "comments": {
              "chars": 323,
              "count": 10,
              "lines": 10,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 16,
              "density": 6.52,
              "avg_params": 0.8,
              "code_ratio": 0.67,
              "max_params": 3,
              "length_stddev": 9.46,
              "avg_name_length": 14,
              "no_params_count": 8,
              "avg_length_lines": 10.2,
              "max_length_lines": 41,
              "min_length_lines": 3,
              "high_entropy_names": 1,
              "avg_param_name_length": 5.25
            },
            "identifiers": {
              "count": 227,
              "unique": 78,
              "avg_length": 9.58,
              "max_length": 23,
              "min_length": 2,
              "avg_entropy": 2.68,
              "reuse_ratio": 0.34,
              "length_stddev": 5.17,
              "high_entropy_count": 6,
              "high_entropy_ratio": 0.08,
              "all_lowercase_ratio": 0.86,
              "double_underscore_count": 2,
              "underscore_prefix_count": 7
            }
          }
        },
        "id": 15,
        "mol": "H₃(DbFOs₄)Md₂(In₅)",
        "path": "ic_code-1.5.3-py3-none-any.whl!!ic/compat/__init__.py",
        "pid": 0,
        "risk": 6,
        "sha": "41fba8299121ca8a7f383bf4455f641b6792bb264300bc8eed105e72d0b4f04c",
        "size": 7036,
        "traits": [
          {
            "id": "metadata/file/catalog/service::service-name-slack",
            "conf": 0.82,
            "crit": 3,
            "desc": "Slack service name",
            "spans": [
              [
                6628,
                5
              ]
            ]
          },
          {
            "id": "metadata/import/python/dotenv/load_dotenv::load_dotenv",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports load_dotenv from dotenv",
            "spans": [
              [
                2694,
                11
              ]
            ]
          },
          {
            "id": "metadata/import/python/dotenv::dotenv",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports dotenv",
            "spans": [
              [
                2680,
                6
              ]
            ]
          },
          {
            "id": "metadata/import/python/os::os",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports os",
            "spans": [
              [
                276,
                2
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib/path::path",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports Path from pathlib",
            "spans": [
              [
                299,
                4
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib::pathlib",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports pathlib",
            "spans": [
              [
                284,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::python-import-error-handler",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 3,
            "desc": "Handles a missing-module ImportError",
            "spans": [
              [
                3069,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::python-column0-noarg-call-assignment",
            "conf": 0.84,
            "crit": 3,
            "desc": "Module assigns a no-arg call",
            "spans": [
              [
                4976,
                39
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/secret-config::dotenv-filename-literal",
            "atk": "T1552.001",
            "conf": 0.85,
            "crit": 3,
            "desc": ".env filename literal",
            "spans": [
              [
                2593,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/config::python-dotenv-load",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python dotenv loading",
            "spans": [
              [
                2726,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/read::python-os-getenv-call",
            "conf": 0.92,
            "crit": 3,
            "desc": "Python reads an environment variable",
            "spans": [
              [
                3726,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/secret-name::cloudflare-database-credential-var-name",
            "conf": 0.9,
            "crit": 3,
            "desc": "Cloudflare or database credential variable name",
            "spans": [
              [
                4255,
                20
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/module/load::indented-import-followed-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Indented Python import followed by a call",
            "spans": [
              [
                2655,
                84
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/config/manager/configmanager::configmanager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..config.manager.ConfigManager from ..config.manager",
            "spans": [
              [
                355,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/config/manager::relative/2/config/manager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..config.manager",
            "spans": [
              [
                331,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/config/security/securitymanager::securitymanager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..config.security.SecurityManager from ..config.security",
            "spans": [
              [
                399,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/config/security::relative/2/config/security",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..config.security",
            "spans": [
              [
                374,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/core/logging/iclogger::iclogger",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..core.logging.ICLogger from ..core.logging",
            "spans": [
              [
                442,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/core/logging::relative/2/core/logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..core.logging",
            "spans": [
              [
                420,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/core/session/awssessionmanager::awssessionmanager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..core.session.AWSSessionManager from ..core.session",
            "spans": [
              [
                478,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/2/core/session::relative/2/core/session",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ..core.session",
            "spans": [
              [
                456,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                249,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                254,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                260,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                235,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/warnings::warnings",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports warnings",
            "spans": [
              [
                221,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/catalog/service::messaging-mail-service-names",
            "conf": 0.82,
            "crit": 1,
            "desc": "Messaging and mail service names",
            "uses": [
              0
            ],
            "spans": [
              [
                6628,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                3688,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::environment-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Environment or instruction terminology",
            "spans": [
              [
                3637,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::sensitive-target-term-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Secret, security, or environment terminology",
            "uses": [
              28
            ],
            "spans": [
              [
                3637,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                167,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                117,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                33,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                978,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                50,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "a%FirlVl\u003cOx\u003eINevruj4zxI+:Bz8^\u003evqYH^wO(0@BrBIcB97#g3jo:Cx(+zlz!a0bwGU@jz*2\u00269wPF#cx\u003eqr[A:@=%v{%f@v@Dl%x\u003eINevruj4zxJ[bBz8!lvqYH^wO(0@BrCglAV^}vavw*]edc9dAbo95wO#Q7zF78kByx5$vrb))DsZRfv@Dl%x\u003eINevruj4zxJ+lv{%E[z/fRsvqYP#ze0T6vruj4zxK7zx(4H9x\u003equr3l*Vr3jpG:AbP=saA8rdx(d*cA=-BBxMXAhyZK([AbP=saBdyjyZK={z/3RsD2NFnxcp]9AbP=savG{NBsXLdx(!wEawV@#x(v($y+cX{zH0=Qrcrd@wEr3\u0026z/3Rovrug0x\u003c@i0ze:AlBrBy*Bz81[A=k!qwmoN\u003eBzkP6azCXiz/P}xwmoN\u003eBzkP63tBu@z/P}xy\u0026r%0x(mL\u003c3t:S[xjV9ajS[MVxj\u003e{@xd^?dBwcQ=xjV9iuTEXVzdN6Ydgcy?v@bN{B09?*zF0P}p*[DVmriA!AWTw3v}xR3x(v(riTM#LarR\u003cLb13o^w[+[2A::67z/cXpvruf9A+f5}By!#9wPz*fA=SAGa{]CnarUSiB8}",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "aAg+hxDRbfz!\u003cGmayPd#az\u003e?9A::67z/dfmarR^H3lQDlaw3A?y?mD{zGG}xBzbkdw]zH4z*b]kxcp(4wPzj1v}ZcG3lQDlatCF\u003ep\u0026ZF?wN/*lB8UY2x\u003ez6?iV{4de[[/Gv@Dl%x\u003eG7aarR^Hga\u003cXHB7GwmxM4:0iV@(8e[[/Gv@Dl%x\u003eG7aarR^HgCf!Dy*?A$z/PXDB8UY2x\u003ez6?iV@(8e]CfrfdXk{fd}cLAa:9jfa5*AarSG[ax9MbBy/qiwmYvYB.(eviV{+ix(4(yx(k59vqG:?vpK7]3lQDlar\u00260N3lQDlapoklarUiaw/$C/x(mTbuTCj5wO+%ciTM#LarR^HarU-py?tqkz/65)wnc6bjS)NfBz9puz/65ldgdguarR^HarU-py?tqsA=kY7v@#6*x(UsVaw=G*xF9!swge(larR^HarR^HB7Gf1e)\u00266@v@3jauU0\u003e\u003eauZ\u0026*wO+%hxM4:0uU0\u003e\u003eatj\u0026Ye[[/tatj\u0026YvQS+ZB-qyC3lQDlarR^HapoklarUiaw/$.$ByeJ@zF0P}uUBd+A:-##xN81EwO+%cat2=1oLFM\u0026ttO:IxK9UaarR^Hao",
            "ln": 556,
            "col": 39,
            "line": 26
          },
          {
            "b": "avZ6=B95KoCXIkvx(mMaAa9\u003c4aA8oyph+2Y3lQDlarR^Har\u00260N3lQDlarR^HazbLjaAg+hxDR2baAg+hxMDiwarR^HarR^HarR^Hx\u003ewGbvrufnwQ4{gBAn\u0026VayPd#aAg+hxFa1uuUj1*wHF#*3lQDlarR^HarR^HarR^Haz+$exjV9owmYj)xddvomSiA!wftx2zu",
            "ln": 4055,
            "col": 12,
            "line": 131
          },
          {
            "b": "z!AY]AXp)lvS=riw*f#*ay/tcw[+)2w]z*fwftP7aAg+hxMDiSDS$MkAWU(QazbLjaAeDqzxJ[bBzb-3EiH9EarR^HarR^HA+funA=90{z/fa[arR^H3lQDlay]4}ay/C6vru6/B-RbmuT[1(w[+)+wnc6}v@#Tfx\u003equlB7Gf1diHiaavG{NBx-*dAX5tfvruf*iTM#LarR^HarR\u003cLa{]CnarR^HarT3(wNPW(aA.:pAV!\u003egzF0P}B-H]jx(v(iwnc6}v@#Tfx\u003equdCwhejaAhvtAaK5jAaK6bx(!ufz/fRG3lQDlarR^HapoklarR^HarTM[BAIRwB2\u003cTJarR^HarR^HarR^{x\u003e8m0z/f07C{43qay/C6vru6\u003eay]hbwN/?2A^n^Dvrug7",
            "ln": 4275,
            "col": 10,
            "line": 138
          },
          {
            "b": "zdN6+x(UsHar\u0026BQv@M70B%nEAarR^HarR^HarR^Hb4s$\u003cyJTOuiV@GPy?tqbvQS+ZB-pX#x(TL6arR^HarR!P3lQDlarR^HapoklarR^HarUfmwNPW(wm5\u003eYA=Su^aBwIzao",
            "ln": 4773,
            "col": 37,
            "line": 151
          },
          {
            "b": "vru6\u003eay/tcw[+)2wnc6}v@#TfC@^6{wnc6\u003eAa9\u003c4EiH9EarR^HarR^HarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwJyevarR^HarR^HarR^HarR!yz!AY]AXp{zA=k$Dw*fYMx(4u\u003eaARJAv@=c?By=O9x(W={Bz(hBaBvTkA:J=]Bzc7-aBvWFa$i\u003cwarR^HarR^HarR^H",
            "ln": 5171,
            "col": 35,
            "line": 162
          },
          {
            "b": "pd4\u0026FpGwUDarR^HarR^HarR^HEf}8tarR^HarT}%arR^HarR^H3lQDlarR^HazbLjaz\u003e?9A::67z/cXizxJ!gxl4B5x(v)giTM#LarR^HarR^HarU-zB-H#6auZ\u0026:x\u003eID{BzkVhtoXcbB-H#6b3+J#arR^HarR^HarR!Gvrc0(BrAZ?ze0T6vruj4zD!rbvrc0(BrT#$arQ",
            "ln": 6222,
            "col": 26,
            "line": 191
          },
          {
            "b": "wQ4{gBAn\u0026ViTM#LarR^HarR^HarR^HarR^HarR)Ko\u003ewuTwGUG3zF0P}B-H]jx(v)gazCBgByxi5wPP5aCXIkvA%:3jarR^HarR^HarR^HarR^HarU-py?tqbzdN:2wD",
            "ln": 7425,
            "col": 27,
            "line": 222
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^HboPZ0C4z!czGGPkwGUI$A+e:5z/QagarR^HarR^HarR^HarR^HarR^HB7/Yrx(2zsz*2XuB98BJB8Mhwv}v8uaAITBd0e)rxjVfldgdguarR^HarR^HarR^HarR1larR^HarR^HarR^HarR^Kax8\u0026[aAhvtAaK5jAaK6bx(!ufz/fR6arR^HarR^HarR^HarR^HB7Gf1e)\u0026WhByf92v%8*6uVoN%ze16jx(v)gd0e)rxjVfl3lQDlarR^HarR^HarR^",
            "ln": 7584,
            "col": 1,
            "line": 226
          },
          {
            "b": "ayX+?yJTOszEEx[aA}KwxDRzhzdN^gvqP@\u003carR^HarR^HBzkP6B97\u0026cA3dp^wmoN\u003eBzkP6e]CPKc[c=\u0026BAg#nx(dAfa%*wrz6-.1b$GsRb#V0p3lQDlarR^HayX+?yJTP6zEEx[auZ\u0026Vb70*rzF0P}uV6p?wId!qCv+!ydsCMux\u003eID{BzkVhuWD)ezdN^gvqP$i",
            "ln": 8732,
            "col": 19,
            "line": 256
          },
          {
            "b": "ayX+?yJTP6zEEx[3lQDlarR^HapoklarR^HarR)KlVl{?ay/tcw[+[2A::67z/cXtzY\u0026H$v@3ja3lQDlarR^HaAIjsBzkLzv@DsiBAg@7d06rHA:@V/Aa9\u003c4efFzgv@3jauVoB}xEKoharR^HarR^larR^HarR^Hy\u0026r%0wPxzqzF0/nw*fP.wNPW(wft-6xl4B5x(v(ivQS+ZB-ow:DTZz[yJTP6Aa9\u003c4EiH9EarR^HarR^HA+funA=91evpK7}A9)M)Bz817arR^larR^HwmYu}uU%v{xjUA",
            "ln": 8930,
            "col": 41,
            "line": 259
          },
          {
            "b": "arR^HarR!Gvrc0(BugKzvrc0(BrCadA+e:5z/QagarR^HarR^Ha%FirarR^HarR^Hw]zYjx(){6azCZoB8Mhwv}vokxkzG}c)yb+dlm!UarR^HarR^HarR!vw/$/fwO\u003c5lB6\u0026J[y?k1ziTM#LarR^HarR^HarR^HarUYoy*?B1C4C31vruf9jS[DXwO\u003c5uwO+^%x)a5{Bz\u0026NGz/{8gwHN%earR^HarR^HarR^HarR!Gvrc0(ByeS]y?j.LaAR4j",
            "ln": 9360,
            "col": 6,
            "line": 273
          },
          {
            "b": "CwhejuVQv4w[=Grw*hOzvrc0(ByeS]y?kkuB.kl1CZRhNvpK7}A3u.rarR^HarR^HarR^HarR^HarR^HB7/Yrx(2ziz/x$Sd0e)rxjVf(w[=6)efFzgv@3jauUj1*wHN%earR^HarR^HarR^HarR^HarR!yz!AY]AXq6zw]x8fb0]ZFyH}30B-nEmCXIkvx(mMaw[=6)iV@=\u003evrc0(ByeS]y?n2qeJ$q7vQS+ZB-pY1x(4vea$i\u003cwarR^HarR^H",
            "ln": 9882,
            "col": 47,
            "line": 285
          },
          {
            "b": "A+w%9uUj1*wQL:K3lQDlarR^HapoklarR^HarR)KqE%Y-C4z!qz/{8gwGUI$A+e:5z/QaCvp\u003cQ)AV/BCv}f7\u003eB7PMhaz\u003eXgxjRz)arR^HarR!FxMXAhy+x:BBAg@7d06rHA:@Vf3lQDlapoklarUiaw/$D4wPRp2wN/\u003e6wNxy/A=2JiB7]MgB0#9vy?tjvAa9\u003c4iV}mcBz99:3lQDlarR^Har\u00260N3lQDlarR^Hax8\u0026[aAIa7B-I4oAaK6bx(!ufz/fRsz/cXcz/ff3xlwl6BzkVhazbt7",
            "ln": 10244,
            "col": 58,
            "line": 291
          },
          {
            "b": "arR^HarR^HboPx*A+e:5z/Qa:au7#dasIeLzE)\u0026hA+eV\u0026fl.CJBy^apCX7xcBy=OkzFTOE3lQDlarR^HarR^HarR^HaAg+hxF9!dzeS@kfMe)7fEWtKarR^HarR^HarR^HarR^larR^HarR^HarR^HarR^HboP(}v%8*kx)a67C{4ftBrCKlA=2JiB7]MgB0bysay/tcBy/uiA%:3jarR^HarR^HarR^HarUomAV/7rwO\u0026M7zxJ[bBz9pExkzG}c)yb+dlm!UarR^HarR^HarR^HarR^HarR!vw/$/fwO\u003c5lB6\u0026D(AWSv$3lQDlarR^HarR^HarR^HarR^HarR^HazC}ez7YsizeS@kfMe)7fEWtKarR^HarR^HarR^HarR^HarR!ry\u0026:eG3lQDlarR^HarR^HarR^HarR^HarR^HazC}ez7YsizeS@kfMe\u003c6fEWtKarR^HarR^HarR!ry\u0026:eG3lQDlarR^HarR^HarR^Har@0#x(4uwat$]casIeLzE)\u0026hA+eV\u0026f8",
            "ln": 10611,
            "col": 9,
            "line": 305
          },
          {
            "b": "e[/fuwNw$ZAV^1Ta$^+yAa:9ja{]CnarR^HarT}%arR^HarR^H3lQDlarR^HazbLjay/tcw[+)+wnc6bx(k56z/ff3xj2g-A=TnGarR^HarR^HarR^Hx\u003ewF$z/ff3xj2g-AXp{Fx(!xqc[dg:arR^HarR^HarR^HarR^Hx\u003ewGewO+%huT)+Xv@2BZx(W={Bz(hBuVoN%ze14",
            "ln": 11805,
            "col": 17,
            "line": 341
          },
          {
            "b": "uV6v)xk.%2v@Dl%x\u003eH^(vrufhdgdguarR^HarT}%arR^HarR^H3lQDlarR^HazbLjay/tcw[+)+w[=6)azCZov@Dl%x\u003eH^+x(4v4iTM#LarR^HarR^HarUxgay/tcw[+)+w[=6)ayPd#ay/tcw[+)+w[=6)e[GowB98EKdlm!UarR^HarR^HarR^HarR!vw/#eay?tqbv}YB-",
            "ln": 12361,
            "col": 21,
            "line": 356
          },
          {
            "b": "xlaz5arR^HarR!Cy*?A$z/PYoauZ\u0026Kb5Q[fa$K\u0026XzEWS#z*0sg3lQDlarR^HazbLjaAhd9By]Diz6iLgaAhd9By]Dizf4-BarR^HarR^HarR^Hv@Dl%x\u003eH^(vruf9jS[/Sy?tqjwPRo#y*?A$z/PY4v@Dl%x\u003eH^(vrufhAbn%8w]zZbdgdguarR^HarR^HarUxow]y($z#",
            "ln": 14457,
            "col": 31,
            "line": 424
          },
          {
            "b": "z!-\u0026[ByeM)AV^1Ta$^+yAa:9ja{]CnarR^HarT}%arR^HarR^H3lQDlarR^HazbLjaAIEzA:@V6x(k5gx\u003eID{BzkVhuVQddA:@W4iTM#LarR^HarR^HarUxgaAIEzA:@VkwQ4{gBAn\u0026ViTM#LarR^HarR^HarR^HarUxow]y($ze0T6vruj4zEmo)wN]v.b3=*fAbYv",
            "ln": 14937,
            "col": 20,
            "line": 436
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^KaxJO$By=O8z/ff3xcp/2y?i}@arR^HarR^HarR^HarR^HarR!Jx([2hz/xo9c$vgkw[+)+Aa9\u003c4efDr:cOcxKzEWP}x(mMDcV%JyeJtabayPslw\u0026ZnwarR^HarR^HarR^HarR^HarR^HarR!se{ztIBy=\u003egz/fVdzGErmarR^HarR^HarR^HarR^HarR^H3lQDlarR^HarR^HarR^HarR^Har@1cwPP5owN/\u003e6wGU@6A=2JiB7]MgA%:3jarR^HarR^HarR^HarR^HarUfjzF0P}uVoB}xF9!dzeS@kfMe\u003c6fEWtKarR^HarR^HarR^HarR^HarR^larR^HarR^HarR^HarR^HarR^Hv@=c?By!#\u0026w[=6)B6AJ\u003czdM#}jS[lMzF0P}uVoB}xBk\u003e8arR^HarR^HarR^HarR^HarUGsxj\u003e^@e[]inzZYiwlVM:DBy!#9wmYu",
            "ln": 16313,
            "col": 2,
            "line": 475
          },
          {
            "b": "w]zZbB2\u003cTJaz$XdiTM#LarUfjzF0P}uVoB}xGvmWELir\u003ev@K8hz/ff3xd!Erzepy6arR^HA+e($z/fRSax{3.qx/xNarR^HzddV@Cw?IqwPz\u0026MatCLSarUMiAa:9jiTM#",
            "ln": 17120,
            "col": 5,
            "line": 496
          },
          {
            "b": "Cw?IqwPz\u0026MatCLSarR^HB7F\u003c7A+PSviTM#LarR^HwO#0#D2N\u003etz/e][zEE0\u003cwN)?ABAhIn3lQDlarR!nB.2iduU\u003cT[xk8l@uUaa-vR/Q^iV@J+B.7[5arR^HayO+\u0026wPI{1v@DmbA=k=3wO}",
            "ln": 17291,
            "col": 9,
            "line": 504
          },
          {
            "b": "ar\u003clLqCQgm3lQE6x(4u/y?m^3y=SW.nLR-Ja{]Cnw[=6)uVoB}xGvmWELir/v\u003eRUpxlb.uv{:N[vru7ee]kDsa{]CnzddV@w[=6)B2\u003eB1fBwdiax8\u0026YB-IhrC{4ftBAzkmxla",
            "ln": 17467,
            "col": 17,
            "line": 512
          },
          {
            "b": "wNxj:D2(1NarR^HeG=lRvrlHlz/Pwj3lQDlat1YWB7F\u003c4wPPa6arR^HeG=lMwQbEbarR^HeG=lVz!\u0026{4a{]CnzddH3uVoB}By/GgiV]Q@dK[dUq+GLEdK([(3lQE7x()Y}z/oAjuUaa-vR/Q^iV@J+B.7[7a%Evp",
            "ln": 17594,
            "col": 11,
            "line": 519
          },
          {
            "b": "A+funA=90za%FlOpd4\u00262lVl\u003cOx\u003eINevruj4zvdQhlVl{?aARphB0b7ey?j.$zE:(jAaAy0wGVhhBz8!xz/{7yvpKz4vqE5@A+e=)zGGP3y\u0026Y{\u003cwmYvYB.(dX3lQE1v}f7\u003eB6\u0026Y]C@^5(D2E?CePb6qeN-d0wPI]AyH}=n3lQEjwN/:(Bye/{C@^5(D2E?CePb6qePUGkA+ftAyH}=n3lQEiwOkZ}zAn):ohV@varUStvrua1A=0\u0026Wb34Jca{[V4avQJ-ze:r5aAhvtw[=6)A%=(bz!a02BzkVhiTM#LvpJ!UA@",
            "ln": 17833,
            "col": 9,
            "line": 530
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "Path.home"
            ],
            [
              "",
              "Path.cwd"
            ],
            [
              "",
              "paths.extend"
            ],
            [
              "",
              "paths.extend"
            ],
            [
              "",
              "self._find_first_existing"
            ],
            [
              "",
              "self._find_first_existing"
            ],
            [
              "",
              "platform.lower"
            ],
            [
              "",
              "self.get_ncp_config_path"
            ],
            [
              "",
              "self.get_ncpgov_config_path"
            ],
            [
              "",
              "self._find_first_existing"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "path.is_file"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "directories.items"
            ],
            [
              "",
              "dir_path.mkdir"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "ConfigPathError"
            ],
            [
              "",
              "source.exists"
            ],
            [
              "",
              "confirm_callback"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "self._create_migration_backup"
            ],
            [
              "",
              "target.parent.mkdir"
            ],
            [
              "",
              "target.exists"
            ],
            [
              "",
              "self._merge_config_directories"
            ],
            [
              "",
              "shutil.move"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "self._set_secure_permissions"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "self._backup_dir.mkdir"
            ],
            [
              "",
              "datetime.now.strftime"
            ],
            [
              "",
              "datetime.now"
            ],
            [
              "",
              "config_name.lower"
            ],
            [
              "",
              "shutil.copytree"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "source.rglob"
            ],
            [
              "",
              "item.is_file"
            ],
            [
              "",
              "item.relative_to"
            ],
            [
              "",
              "target_file.parent.mkdir"
            ],
            [
              "",
              "target_file.exists"
            ],
            [
              "",
              "target_file.with_suffix"
            ],
            [
              "",
              "shutil.copy2"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "shutil.copy2"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "shutil.rmtree"
            ],
            [
              "",
              "path.is_dir"
            ],
            [
              "",
              "path.chmod"
            ],
            [
              "",
              "path.rglob"
            ],
            [
              "",
              "item.is_dir"
            ],
            [
              "",
              "item.chmod"
            ],
            [
              "",
              "item.chmod"
            ],
            [
              "",
              "path.chmod"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "config_dir.exists"
            ],
            [
              "",
              "self._check_directory_permissions"
            ],
            [
              "",
              "results.valid_paths.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "results.permission_issues.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "results.missing_directories.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "self.get_ncp_config_path"
            ],
            [
              "",
              "self.get_ncpgov_config_path"
            ],
            [
              "",
              "config_file.exists"
            ],
            [
              "",
              "self._check_file_permissions"
            ],
            [
              "",
              "results.valid_paths.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "results.permission_issues.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "path.is_dir"
            ],
            [
              "",
              "path.stat"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "path.is_file"
            ],
            [
              "",
              "path.stat"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "self.get_config_hierarchy"
            ],
            [
              "",
              "info.hierarchy.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "os.access"
            ],
            [
              "",
              "self.get_platform_config_path"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "config_path.exists"
            ],
            [
              "",
              "source.exists"
            ],
            [
              "",
              "info.migration_needed.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "self.create_user_config_directories"
            ],
            [
              "",
              "default_configs.items"
            ],
            [
              "",
              "config_path.exists"
            ],
            [
              "",
              "self._get_default_ic_config"
            ],
            [
              "",
              "self._get_default_ncp_config"
            ],
            [
              "",
              "self._get_default_ncpgov_config"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "f.write"
            ],
            [
              "",
              "config_path.chmod"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "typing",
              "List"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "pathlib",
              "Path"
            ],
            [
              "typing",
              "Tuple"
            ],
            [
              "",
              "datetime"
            ],
            [
              "datetime",
              "datetime"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "shutil"
            ],
            [
              "",
              "typing"
            ],
            [
              "",
              "yaml"
            ]
          ],
          "mbr": [
            "Path.cwd",
            "Path.home",
            "config_dir.exists",
            "config_file.exists",
            "config_name.lower",
            "config_path.chmod",
            "config_path.exists",
            "datetime.now",
            "datetime.now.strftime",
            "default_configs.items",
            "dir_path.mkdir",
            "directories.items",
            "f.write",
            "info.hierarchy",
            "info.hierarchy.append",
            "info.migration_needed",
            "info.migration_needed.append",
            "info.platform_configs",
            "item.chmod",
            "item.is_dir",
            "item.is_file",
            "item.relative_to",
            "logger.debug",
            "logger.error",
            "logger.info",
            "logger.warning",
            "logging.getLogger",
            "migration.name",
            "migration.source",
            "migration.target",
            "os.R_OK",
            "os.access",
            "path.chmod",
            "path.exists",
            "path.is_dir",
            "path.is_file",
            "path.rglob",
            "path.stat",
            "path.stat.st_mode",
            "paths.extend",
            "platform.lower",
            "results.missing_directories",
            "results.missing_directories.append",
            "results.permission_issues",
            "results.permission_issues.append",
            "results.valid_paths",
            "results.valid_paths.append",
            "self._backup_dir",
            "self._backup_dir.mkdir",
            "self._check_directory_permissions",
            "self._check_file_permissions",
            "self._create_migration_backup",
            "self._find_first_existing",
            "self._get_default_ic_config",
            "self._get_default_ncp_config",
            "self._get_default_ncpgov_config",
            "self._merge_config_directories",
            "self._set_secure_permissions",
            "self.create_user_config_directories",
            "self.get_config_hierarchy",
            "self.get_ncp_config_path",
            "self.get_ncpgov_config_path",
            "self.get_platform_config_path",
            "self.home_dir",
            "self.project_dir",
            "shutil.copy2",
            "shutil.copytree",
            "shutil.move",
            "shutil.rmtree",
            "source.exists",
            "source.rglob",
            "target.exists",
            "target.parent",
            "target.parent.mkdir",
            "target_file.exists",
            "target_file.parent",
            "target_file.parent.mkdir",
            "target_file.suffix",
            "target_file.with_suffix"
          ],
          "tgt": [
            "ConfigPathError",
            "Path.cwd",
            "Path.home",
            "config_dir.exists",
            "config_file.exists",
            "config_name.lower",
            "config_path.chmod",
            "config_path.exists",
            "confirm_callback",
            "datetime.now",
            "datetime.now.strftime",
            "default_configs.items",
            "dir_path.mkdir",
            "directories.items",
            "f.write",
            "info.hierarchy.append",
            "info.migration_needed.append",
            "item.chmod",
            "item.is_dir",
            "item.is_file",
            "item.relative_to",
            "logger.debug",
            "logger.error",
            "logger.info",
            "logger.warning",
            "logging.getLogger",
            "open",
            "os.access",
            "path.chmod",
            "path.exists",
            "path.is_dir",
            "path.is_file",
            "path.rglob",
            "path.stat",
            "paths.extend",
            "platform.lower",
            "results.missing_directories.append",
            "results.permission_issues.append",
            "results.valid_paths.append",
            "self._backup_dir.mkdir",
            "self._check_directory_permissions",
            "self._check_file_permissions",
            "self._create_migration_backup",
            "self._find_first_existing",
            "self._get_default_ic_config",
            "self._get_default_ncp_config",
            "self._get_default_ncpgov_config",
            "self._merge_config_directories",
            "self._set_secure_permissions",
            "self.create_user_config_directories",
            "self.get_config_hierarchy",
            "self.get_ncp_config_path",
            "self.get_ncpgov_config_path",
            "self.get_platform_config_path",
            "shutil.copy2",
            "shutil.copytree",
            "shutil.move",
            "shutil.rmtree",
            "source.exists",
            "source.rglob",
            "str",
            "target.exists",
            "target.parent.mkdir",
            "target_file.exists",
            "target_file.parent.mkdir",
            "target_file.with_suffix"
          ],
          "funcs": [
            [
              "__init__",
              806
            ],
            [
              "get_config_hierarchy",
              974
            ],
            [
              "get_ncp_config_path",
              1762
            ],
            [
              "get_ncpgov_config_path",
              2313
            ],
            [
              "get_platform_config_path",
              2882
            ],
            [
              "_find_first_existing",
              3818
            ],
            [
              "create_user_config_directories",
              4372
            ],
            [
              "migrate_config_folders",
              5456
            ],
            [
              "_create_migration_backup",
              8241
            ],
            [
              "_merge_config_directories",
              9150
            ],
            [
              "_set_secure_permissions",
              10362
            ],
            [
              "validate_config_paths",
              11279
            ],
            [
              "_check_directory_permissions",
              12763
            ],
            [
              "_check_file_permissions",
              13252
            ],
            [
              "get_config_sources_info",
              13727
            ],
            [
              "create_default_config_structure",
              15150
            ],
            [
              "_get_default_ic_config",
              16940
            ],
            [
              "_get_default_ncp_config",
              17730
            ],
            [
              "_get_default_ncpgov_config",
              18306
            ]
          ],
          "metrics": {
            "ast": {
              "op.div": 60,
              "op.lor": 2,
              "op.band": 2,
              "op.land": 3,
              "max_depth": 19,
              "call_count": 107,
              "node_count": 3311,
              "member_count": 79,
              "op_density.div": 0.02,
              "op_density.lor": 0,
              "op_density.band": 0,
              "op_density.land": 0,
              "max_array_length": 3,
              "max_member_depth": 3
            },
            "file": {
              "size": 19116,
              "entropy": 4.23
            },
            "text": {
              "lines": 580,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 6380,
              "char_entropy": 4.23,
              "unique_chars": 80,
              "top_char_null": 0,
              "import_density": 2.41,
              "string_density": 0.26,
              "top_char_ratio": 0.06,
              "avg_line_length": 31.96,
              "max_line_length": 93,
              "empty_line_ratio": 0.19,
              "last_line_length": 3,
              "whitespace_ratio": 0.36,
              "identifier_density": 0.99,
              "line_length_stddev": 21.98,
              "max_whitespace_run": 2,
              "normalized_import_count": 0.58,
              "normalized_string_count": 6.31,
              "repeated_char_sequences": 216,
              "suspicious_string_ratio": 0.03,
              "normalized_function_count": 0.79,
              "trailing_whitespace_lines": 94,
              "imports_to_functions_ratio": 0.74,
              "strings_to_functions_ratio": 8,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 13.07,
              "identifiers_to_functions_ratio": 6.32
            },
            "binds": {
              "count": 41
            },
            "binary": {
              "peak_region_bytes": 4780,
              "peak_region_entropy": 4.76
            },
            "source": {
              "class_count": 2,
              "function_count": 19
            },
            "imports": {
              "count": 14,
              "stdlib_count": 7,
              "stdlib_ratio": 0.5,
              "third_party_count": 7,
              "third_party_ratio": 0.5
            },
            "strings": {
              "sql": 3,
              "bytes": 6849,
              "count": 152,
              "avg_length": 45.06,
              "max_length": 692,
              "avg_entropy": 2.93,
              "entropy_stddev": 0.95,
              "embedded_code_candidates": 1
            },
            "comments": {
              "chars": 1167,
              "count": 37,
              "lines": 37,
              "to_code_ratio": 0.07
            },
            "functions": {
              "count": 21,
              "density": 3.28,
              "avg_params": 1.53,
              "code_ratio": 0.91,
              "max_params": 3,
              "length_stddev": 14.71,
              "avg_name_length": 22.84,
              "avg_length_lines": 27.79,
              "max_length_lines": 72,
              "min_length_lines": 4,
              "high_entropy_names": 15,
              "avg_param_name_length": 5.21
            },
            "identifiers": {
              "count": 575,
              "unique": 120,
              "avg_length": 10.04,
              "max_length": 31,
              "min_length": 1,
              "avg_entropy": 2.69,
              "reuse_ratio": 0.21,
              "length_stddev": 6.81,
              "has_digit_ratio": 0.01,
              "sequential_names": 3,
              "single_char_count": 3,
              "single_char_ratio": 0.03,
              "high_entropy_count": 21,
              "high_entropy_ratio": 0.18,
              "all_lowercase_ratio": 0.9,
              "all_uppercase_ratio": 0.01,
              "numeric_suffix_count": 1,
              "double_underscore_count": 2,
              "underscore_prefix_count": 12
            }
          }
        },
        "id": 26,
        "mol": "H₂(CmF₉)Md(In₄)",
        "path": "ic_code-1.5.3-py3-none-any.whl!!ic/config/path_manager.py",
        "pid": 0,
        "risk": 7,
        "sha": "730da504c322cad03f67839ec214a14311c3b57e7609112f8a195c4099b3f7e0",
        "size": 19116,
        "traits": [
          {
            "id": "metadata/import/python/os::os",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports os",
            "spans": [
              [
                205,
                2
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib/path::path",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports Path from pathlib",
            "spans": [
              [
                306,
                4
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib::pathlib",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports pathlib",
            "spans": [
              [
                291,
                7
              ]
            ]
          },
          {
            "id": "metadata/import/python/shutil::shutil",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports shutil",
            "spans": [
              [
                215,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/ipc/agent-hook::proposed-agent-skill-directory-move",
            "conf": 0.9,
            "crit": 3,
            "desc": "Moves proposed agent skill directory",
            "spans": [
              [
                7648,
                35
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::python-executable",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python sets executable file permissions",
            "spans": [
              [
                10884,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/modify::python-path-chmod",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python calls chmod to change permissions",
            "spans": [
              [
                10684,
                10
              ],
              [
                10884,
                10
              ],
              [
                16551,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/delete/directory::shutil-rmtree",
            "atk": "T1070.004",
            "mbc": "C0047",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls rmtree() to delete a directory tree",
            "spans": [
              [
                10331,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/cwd::python-path-cwd",
            "conf": 0.9,
            "crit": 3,
            "desc": "Gets the current directory with Path.cwd",
            "spans": [
              [
                889,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/traverse::traverse-rglob-call",
            "conf": 0.84,
            "crit": 3,
            "desc": "Calls pathlib rglob for recursive enumeration",
            "spans": [
              [
                9424,
                12
              ],
              [
                10805,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/copy::shutil-copy",
            "conf": 0.8,
            "crit": 3,
            "desc": "Python shutil copies a file",
            "spans": [
              [
                9946,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/copy::shutil-copytree",
            "conf": 0.95,
            "crit": 3,
            "desc": "Python recursively copies a directory tree",
            "spans": [
              [
                8999,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append",
            "spans": [
              [
                16377,
                40
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/rename::file-rename-api",
            "conf": 0.95,
            "crit": 3,
            "desc": "Python or Node.js file rename API",
            "uses": [
              26
            ],
            "spans": [
              [
                7648,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/location::home-hidden-dotdir-ref",
            "conf": 0.6,
            "crit": 3,
            "desc": "Home-relative hidden directory path literal",
            "spans": [
              [
                686,
                6
              ],
              [
                726,
                7
              ],
              [
                735,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/location::python-path-home-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python resolves home via Path.home()",
            "spans": [
              [
                850,
                11
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime from datetime",
            "spans": [
              [
                332,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime",
            "spans": [
              [
                316,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/logging::logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports logging",
            "spans": [
              [
                348,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                275,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                253,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                259,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                265,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/tuple::tuple",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Tuple from typing",
            "spans": [
              [
                280,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                239,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/yaml::yaml",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports yaml",
            "spans": [
              [
                229,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/rename::shutil-move",
            "conf": 0.9,
            "crit": 2,
            "desc": "shutil.move file movement",
            "spans": [
              [
                7648,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-access-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-access verb token",
            "spans": [
              [
                8962,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                10276,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::secret-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Secret-data term token",
            "spans": [
              [
                17908,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::sensitive-target-term-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Secret, security, or environment terminology",
            "uses": [
              29
            ],
            "spans": [
              [
                17908,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                604,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                168,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                106,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                4491,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                42,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                5219,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-call-unavailable",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "a%Firq!oDYA+PSvaz\u003eL8vp%d*wO#PjzeS%cy?j-3z/M%(lOnYMra]#!az(4cB.\u003eRiAb](ux\u003eg^@aAIa7B-IhrC{4lKx(4H9x\u003equdx(mA%B.2i7xcqnbzGxJlx)a5gwmoN*ay]59wN/*@z/d9kzddH3x(mMmayPd#av*c/aAIa7B-IhrC{4osy?WA*BzkVhe^-^Da{[V\u003eze:AlBrCQn3tBu@z/P}xz/Vn1ze:AlBrCstz/b[@ze:AlBrCTEvSlvav}x.53tBu@z/P}xy\u0026r%0x(mL\u003cw].*baAR)Fx(mMax(d*cA=-A(x\u003e8loawuG\u003cBsXL2zH0=QpJgz\u0026z/f01efE@gx(v\u003e@w].*baAg+hxL.x(azCXiz/P}xp*[DV3jpP/xj\u003e^@auZ\u0026-z!AY%zF7OmwPQQ:xj\u003e^@c%{t0vqPN.uNVr?3s^)XB8@E5wN/\u003e6x([R{vqYH^wPx*sarR^Ha%FirarR^Ho\u003c}{FxjVcbB7F\u003c7A+PSvazbg[BAIRnB0bgmv@co#x(mMaB7Glgx([6jwGUI(Byuq5",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "3lQDlarR^Har\u00260N3lQDlarR^Haw3D+Bzkf1x)Ktkq!oDYA+PSvo\u003c}{FxjV9aCwhejay/tcw[+[2A::67z/dfmarR^HarR^H3lQDlarR^Havg3XB2\u003cTJarR^HarR^HarR!pz/ff3xf4elwN/\u003e6x([Ryv@Dl%x\u003eINevruj4zxJF7v@#B6zEENh3lQDl",
            "ln": 527,
            "col": 65,
            "line": 24
          },
          {
            "b": "BAe^tz/ff3xdLeMB7Glgx([6jwNxj:D2\u003etZiTM#LarR^HarR^HarU-py?tqvwO#N6Bzk]fuU:j#B09Q*xjVf[BAzKKv@Dl%x\u003eF$tcV-\u003cpB7]-gC4C2@wQetAdgdguarR^HarUlix\u003ewG4B7]JkByx5%wHI5bzF0P}efFFqv@%dX3lQDlarR^HarR^HaAIagw?FdozGxJlx)a5{yH}^jauZ\u0026Sz/ff3xd^?dBsnITwO#N6Bzk]fuU:j#B0\u0026HYtm8F}arR^HarR^HarR^HarR\u003eEvrlHlz/PwjefDcQvrlHlwfJMEb5?:pa$K6zarR^HarR^HarR^HarR^JBz\u003e@azxZROb4j$\u003ewPI{1Bz\u003e@azxZROb64mbA+fr9uVZj4wO@Xyar\u003elpBzb36z!\u0026{4a$K6zarR^HarR^HarR^HarR^JyH}=nefDcBAa@V{wQbEJar\u003el7v}x.5uU:j#a$K\u0026XB7F\u003c4wPRo{wQbEJar\u003e=Bx)9{bwNxj:C{j^DarR^HarR^HarR^HarR^Hb6ds9A+ftpefDcDy?WD#Byf92v@=d5a$K\u0026XCv+k%z/oz#B7F\u003c4wPPaE3lQDlarR^HarR^HarR^Har(2vvRxW#yHqj8y:7zMb6NQcxM4*8a$K6zarR^HarR^HarR^HarR^Jv@=c\u003ewO#Q7vqEbsar\u003erowN]v\u0026Bzkf1B0rdxarR^HarR^HarR^HarR^Hb4Ch8BrSmUb4Ch8Bzku3v{%E\u003ca$K6zarR^HarR^HarR^HarR^JB7GAlx(v(kefDcTwPI{bz/e{7z!\u0026{4a$K6zarR^HarR^HarR!jdgdguarR^HarUliB7ExtarR^HarR^HarR^HB7Gf1e]$PwB7]-gC4C2@wQettjS)@oarR^HarR^HarR^HarR^Hb5*$iB9zLywfJMEb5*$iB9zdsefDcQCvR)G3lQDlarR^HarR^HarR^H",
            "ln": 700,
            "col": 17,
            "line": 31
          },
          {
            "b": "iTM#LarR^HarR^HarU-py?tqpvrli\u003eAa9\u003cgwPzVhjS(a4dK[dUq+GLEdK([}3jm)#arR^HarUxgazth8vruQic$vgkw[+)easzwwA=bl5zEmD@zGxJlx)a5{x(mo/z/ff3xd2b?3lQDl",
            "ln": 2066,
            "col": 13,
            "line": 60
          },
          {
            "b": "arR^HarR^HarUYoBAIRwax@[#y?tqpvrli\u003eB7Glgx([6jwNw$RByuOiBy/qrazbLjazC}ez6iLgay[]5vo\u003ci.arR^HarR!ry?WG7x(!0aB97\u0026dv}v60vrt{eaAITBdlm!UarR^HarR^HarR!vw/#eay?tqby\u0026slcB6\u0026-$yH{\u003c]wN/:(BspWdByuQV3lQDlarR^Hao",
            "ln": 3117,
            "col": 3,
            "line": 89
          },
          {
            "b": "uU\u003cU8wPw]czxHtPzF%MjvqGp^wQbTOasz5BA=2l3eO!{ycOcw/y?W%juW3jaxKt*(v@=d5B0\u0026y$3lQDlarR^HarR^HaAz4nB-IvxmQZaOwEoL5arR^HarUxgazULl",
            "ln": 3717,
            "col": 15,
            "line": 109
          },
          {
            "b": "uNExEcT?4ovr(icdjEp+arR^HarR^HarR^HA+funA=90?vqH0@3lQDlarR^HazbLjaAIaiB7]-gC4z!gzxK1iy?tqvwO#N6Bzk]fuU:j#B2\u003cTJarR^HarR^HarR!vw/#eazGxJlx)a5gjV%]nyH}=siTM#LarR^HarR^HarR^HarUxgazULluU\u003cU8wPw[RjS(a/wQbTCz/M$ezH0TCwQdT0z*b=ke[F{hB9ztuxEE{JazbLjaAFVtzxHtPuU:j#cOcw/yH}=sdjEp+arR^HarR^HarR^HarR^HarR^Hx\u003ewG9z/^aqwQdT0z*b=ke]#byA==wDx([2pcVi\u003cyzddlddlm!UarR^HarR^HarR^HarR^HarQ",
            "ln": 3841,
            "col": 39,
            "line": 111
          },
          {
            "b": "wGU@2BAz8mzGu}jx(XopasItBwPIA9vrb{4pes?iB7F\u003c4wPR#x3lQDlarR^HaAH$6wNxy+BAz8mzGu{-ax]f}arR^HarR^HarR!EcTH1yeM#NmDr\u003c-veM#NmDn3{ht}e-\u003cy?j\u003etefD5Wavf7caAzypwGU(0zdN=hy?WV@awW2\u003cvqY!9vruj4zB4=xz/]@tl1szoB8$k$y?i}@arR^HarR^HarR!EcTH1y",
            "ln": 4629,
            "col": 24,
            "line": 135
          },
          {
            "b": "vixS5v@=d53lQDlarR^HazCBgvqZusA+c\u003euvru0)c#-QpBy/GgefGaAy\u0026%qrazbLjaAg+hBy/GgazCZoB75V(uVoB}By/GgB16cSarR^HarR^HarR^HA+funA=90?vqH0@3lQDlarR^HapoklarR^HarR)KlUH4vyANkcAV!\u003egzeBieaAIa7A+ftnAa9\u003cgwPzWf3lQDlarR^HaAIa7A+fu1Aa9\u003cgwPzWfauZ\u0026K3lQDlarR^HarR^HaAw\u0026otr%\u0026Avj=^VeJCsmu3!yZepxWdfF1#cbQUb=ar@0}vrl0rg+AJTyH)?}arR^HarR^HarR!EcTH1yeK\u003ce2w?U!%u3!v.epw=\u003eefD5TarR^HarR^Kav{6*aAITBx(mN83lQDlarR^HarQ",
            "ln": 5168,
            "col": 50,
            "line": 145
          },
          {
            "b": "urYYEt461efFbp(eNrYUfF4R$cOcw.arR^HarR)Kk#pb}yH}^j3lQDlarR^HarR^HaAw\u0026oB89vik}MnGeQx95iBc$/gaW\u00260cOcw.arR^Har@18AaJ]MnIb19D2d4myH}^j3lQDlarR^HarR^HaAw\u0026oCYd?oeN7H)t461efFbppu3!B.epw=\u003eefD5Tar@1cy***?ayYnhaARKqwO#L@arR^HarR^HarR^HAWLgaxMdr.k}MnGeQx95iBc$/hHM?#efD5TarR^HboPG\u003cBvZK-aAg[jB8L@8y-)d@v}x.5aARKqwO#L@arR^HarR^HarR^HAWLgaxM4lZk}MnGeQx95iBc$/hHM?#efD5TarR^HboPG\u003cBvZK-awUpCBz8!sz!\u0026{4A%:3jarR^HarT}%arR^HarR^H3lQDlarR^HaAz4nB-IvxvqZusA+c\u003euvru0)c#-QpBy/GgefGaAy\u0026%qrazbLjaAg+hBy/GgazCZoB7F\u003c4",
            "ln": 5483,
            "col": 15,
            "line": 153
          },
          {
            "b": "jS)%m3lQDlarR^HapoklarR^HarR)Kq^\u003coHay/tcw[+[2A::67z/cXkwQettBzb98aAIjmB.\u003eOhzF%RtBAh8dxjV9aCvtJfx(mN83lQDlarR^HaAH$6wNxj:D2\u003e8\u003eaBsCrarR^HarR^HarR^Ov@=HeB6\u0026u=v@DHcByf6by?j$BaszhFy?j$BaszhF",
            "ln": 6215,
            "col": 18,
            "line": 172
          },
          {
            "b": "v}fC1zGGl3wQdT4vrufgefDrVA=kY7v@#6(wg5]narR^HarR^HarR^HcV:AtB7ol8Acb/jzEm9*cOcw/By/t#zGGl1wg5]JcU3$bwO#P%x\u003eeOxasyVqze-{7BzUPbBAn/X3lQDlarR^HarR^HasyVqzF0P}uVoB}xEttNcU4gdwmYU2x\u003c\u003e?0uVoB}xEttNcUv7ewNxy+Bz93Masy#zxj2Q^Bz93M3lQDlarR^HarR^Hasy-rwn(E3zGElSasyPuBzb2#wPRQ7wg5]JcV-\u003cuB7]MguU1q1vruj4zyl$TcV\u003c6twP8ZkcObPEarR^HarR^HarR^OzddV@Cw?IqwPz\u0026tefDr:z/PS8A=SPVaszbDA=+Vgx(dB1B-X#ZaszbDA=-VWasv",
            "ln": 6443,
            "col": 49,
            "line": 177
          },
          {
            "b": "arR^HarS4yzEE0\u003cwN)etaszbGwObH]uU%p(cOcw/vrDWguTW[)A=lbjcKH$sarR^HarV7tarR^HarR^H3lQDlarR^Hay]4}ay/7@v@2B?z!9AcwmoN*iV{.aC}p7SvrufzaAITB",
            "ln": 6920,
            "col": 7,
            "line": 184
          },
          {
            "b": "arR^HarR^HarR^HarR!sb13o^B7]e@AV/HCx(mMawO#W9A=k\u0026jwO#PjC42A9vpB4:B0bgmB97#4wg/5karR^HarR^HarR^HarR^HarR^HarR^HarR^HdgdguarR^HarR^HarR^HarR^HarUfcwD",
            "ln": 7727,
            "col": 18,
            "line": 201
          },
          {
            "b": "AWLf\u003emnMVzlQ+umdKlw)3lQDlarR^HarR^HaAw\u0026or8k[TiXz)ccObPEarR^HarR^HarR!EcTGehk#6{suOi/NcObPEarR^HarR^HarR!EcTHwevqP$1wIbCTcObPE",
            "ln": 8860,
            "col": 13,
            "line": 231
          },
          {
            "b": "arR^HarR^Har\u003erlzF0P}e{Q(xy:7zqarR^HarR^HarR^Hb4CLew[+)gD2mvwefCoxarR^HarR^HarR^Je[F{za$K6zarR^HarR^HarR^Je[F{ze?e4@3lQDlarR^HarR^Har\u0026o/yH}=ned9HxarR^HarR^HarR\u003cTe]Uxsa$K6zarR^HarR^HarR^JdK)8YA+e=)zGGP3y\u0026.jzB8L}ued9HxarR^HarR^HarR\u003cTdLC\u003cOA=#ebwI4t2v@DHcBsF[TB8L}ued9HxarR^HarR^HarR\u003eAz!BbAa$K6zarR^HarR^HarR^Je[[/Ga$K6zarR^HarR^HarR^Ja$K6zarR^HarR^HarR^JboPoNqY]N\u003cwN]v\u0026Bzkf1B0rdxarR^HarR^HarR^Ha$^qFB1.3zwN]v\u0026Bzkf1B0rdxarR^HarR^HarR^Hb4kXpeO!{yfcR}OarR^HarR^HarR^Ha%FMBarR^HarR^HarR^Ha%Oj2lR[[nA+e=)zGGP3y\u0026Z^KapoklarR^HarR^HarR\u003evv@K2nwQb{Med9HxarR^HarR^HarR\u003cTdLCBAA4JK(yiarha]",
            "ln": 9410,
            "col": 4,
            "line": 250
          },
          {
            "b": "DuBmtay/C6wmYU2x\u003c\u003e?0a$K6zarR^HarR^HarR^Je[66GA+c)Fed9HxarR^HarR^HarR\u003cTe]UAEa$K6zarR^HarR^HarR^JdLtV{g9OmRarR^HarR^HarR^Ha%FMBarR^HarR^HarR^Ha%OjalRezgA+e=)zGGP3y\u0026Z^K3lQDlarR^HarR^Har\u0026BRv}^Paz/ff3xcF(larR^HarR^HarR^Ha$^!zx!KKsB8#5lzGvDPed9HxarR^HarR^HarR\u003cLed9HxarR^HarR^HarR\u003cMax8ifazULlB0rdxarR^HarR^HarR^Hb57N{A=UUsa$K6zarR^HarR^HarR^JdLtWVyA+qparR^HarR^HarR^Ha%FMBarR^HarR^HarR^Ha%Oi$y\u0026sDbmR(HNwGUG6wN]v\u0026Bzkf1B0rdxarR^HarR^HarR^Ha$^wwz/]P5y*?u}fcR}OarR^HarR^HarR^Ha%FMBarR^HarR^HarR^Ha%OjfwO(y8A::0lazbt7wPG4D3lQDlarR^HarR^Hao",
            "ln": 9964,
            "col": 17,
            "line": 271
          },
          {
            "b": "3lQDlay]4}az\u003eLdyHp)@xj2H!B8$=5wHIRhy?tjvzdN^fvp%djaAITBdiHiaaAITBiTM#LarR^HarR\u003cLa{]CnarR^HarTx!B88[twO#N6Bzk]fay[]5vixo4az+$eaz\u003eXhB75Y)B1N!xarR^HarR^larR^HarR^Hl2{QViTM#LarR^HarR^HarUJjB8$=5wJy@cz!yhfwPI{3xjSiczY\u0026[9A@",
            "ln": 10476,
            "col": 5,
            "line": 293
          },
          {
            "b": "A+ftwtu(kji:Bmuur?LSd\u003c(\u003e\u003cAWL9DjTRv5aAIagw?E}eB8bc4vruQ5A=9rS3lQDlarR^HarR^HasImTls\u003cOCwPz3%d{Cp\u003et461efFbp\u0026eIpyVd\u003e+fUjT}*gaz8#/wNPQ\u003cAV/ZIwO+%hzddH3uVoB}By/GgEj3D{3lQDlarR^HarR^HasImTlsB}Hv{B79tr%\u0026Avj=^VeJCsmt}n5/cOcxLcQIl.x\u003e5ojB7Gf1e]t3ryHq3?BAz8mzHA(Yed9HxarR^HarT}",
            "ln": 10974,
            "col": 20,
            "line": 308
          },
          {
            "b": "wO(0@BrCpnaAg+hBy/GgB2\u003cTJarR^HarR^HarR!zvrli}wm6g+B8$=5wGTbUA+c\u003eABZ=+rvruQ5A=9AJA+fiavpJ\u003e=wO#Pvaz\u003eLdyH}3-zdN^fvp%d5azbB#xlcjRwIcLApes+RlQsTtdgdguarR^HarR1larR^HarR!EwPS6nzxJ!8B8bt$uU%v}B75Y)3lQDlapoklarQ",
            "ln": 11255,
            "col": 28,
            "line": 314
          },
          {
            "b": "m})5/B7F\u003c7A+PSvaA?gfx\u003egT]x(v(ivqYP#Ab]Iwv@Dj3x(\u003eFhz/oAje^-ZzarR\u003cLa{]CnarR1larR!qwO95(uUKy(Byex6B7Gf1efG1Bv%8*aBA}kgvqYH^wPx*Oq!k",
            "ln": 11785,
            "col": 5,
            "line": 334
          },
          {
            "b": "arR^HarR!GA^oXMarR^HarR^HarR^HboPG/BrCTDvp%dZazbt7wPFh3arR^HarR^HarR!EwPJ0gBrAZ?B9g@hA=kD0B8@%OB-5PmarR^HarR^HarR^HarR^Htpj5$BseQZcUc}6w*YbLcOl]WvpJ$Zwg5]JcOl]/vqPNcz/fxpcTwnC3lQDlarR^HarR^HarR^Hay!\u00260BAIRnuVg7eAclm=rc0a)efG4CCYV8FA=\u003e}Aay/7@v@1kbA=\u003e}2arR^HarR^HarR^HdgdguarR^HarR^HarU-Evp%dZuUj1*wPF$Sax@C2w]zYjw/$/9aAz4mB.(dLB97@hB-YlSBAh8mc[c=\u0026Abolgc)@nqcN*fLw/$X\u003e3lQDlarR^HarR^HapoklarR^HarR^HarU(pA=bPexlbgUax@aUarR^HarR^HarR^Hw]zYjw[=6)uVoB}xDR2baAITkxjUQXw[=6)B2\u003cTJarR^HarR^HarR^HarR!vw/$Y1y?l%)vruf9vqYP#B7Gf1e)\u0026Wkz/](buT)+Xv@2B-x(4uew[=6)uVoB}xEL$HarR^HarR^HarR^Hao",
            "ln": 12287,
            "col": 2,
            "line": 353
          },
          {
            "b": "xk8DgA+fidB7]-mA^o8TdgdguarR^HarR^HarUYoBAIRwax@aUarR^HarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwJyevarR^HarR^HarR!yz!AY]AXqMAA=bPexddvolVm9-wft=dBrC7bwN/G#B97\u00266wN(]}x(4v4iV@=XEiH9EarR^HarR^HarR^HA+funA=917t).X%",
            "ln": 13004,
            "col": 64,
            "line": 369
          },
          {
            "b": "arR!qwO95(B7/Gmy?c).xK$W?uUj1*wHIRhy?tjvw[=6)uVoB}xGvnSBAe/MeJ$p^z/oCM3lQDlarR^Har\u00260N3lQDlarR^HavG^.wPzT4zE\u003c@8w/$Y1y?j-gxM53fwftt)ay+",
            "ln": 13168,
            "col": 2,
            "line": 375
          },
          {
            "b": "ar\u00260N3lQDlarR^Har@1cyIv-gvRGZ*A^n^tx(4v4ayPd#ay!#6Byw)3az2!twO#N6z/fR6arR^HarR^HB8bGeuUaF7wO#N6z/fRsjS]80e]V8CcOcw/e]V8OcOcw/e]$}UefDq)wo\u002609vKAYHcOw}Cy:Q+RcOw$PwHx2KcOxdMxd2kMcOxvQxd2kMcOx4Cw*YbLcOxvGw*-0larR^HarR^HB8bGeuU0\u003e\u003eB09Q*DNAfcAcU@4v}YBXuNExEcOx4CBseQZcVi\u003ckwNxp)wozZ1B0\u0026HYcOxv-By/JnuT)IOxK@Lxasy#zxlbCG3lQDlarR^HaAIsjA9)i\u003ey?mVgjS]80A+flkx(W^4wO#Qhe{8tWcOcw/Aa9l(vp%d7yiarhcOcw/B7GDoA4V9PcOcw/AcVzyz!-\u0026[Bs}VNzepOF3lQDlarR^HapoklarR^HarR)Km}D=+yisPtaARpdazbt7wO${[wGUP6AV!\u003e9wN/H\u0026zF6q0arR^HarR!sx(4u#vqPM#jS[V:e]UlvxF9+5B7Gk$zdLbcx(4u/Aa9\u003c4dgdguarR^HarR1larR^HarR!vw/$Y1y?mG)zdK\u00267zxK1ox(EA\u003ex(4v4iTM#LarR^HarR^HarUYoBAIRwavY^QB7CX3arR^HarR!vw/$J1C{)osy?l%)vrufnwO#41Cwhejc$NTBdiJkvAV!}rBrCpnaAIsjA9)g3By/uhx(v)gdlm!UarR^HarR^HarR!EwPS6nzxIzSy\u0026:d{arR^HarR^Hx\u003ewF@zH0TKyIv-{wnc6bx(k59x(4u/Aa9\u003c4azbLjaAIsjA9)c\u0026AV/7laAIsjA9)c\u0026A=SV\u003c3lQDlarR^HarR^HaAz4nB-IvxmQZaOwEoL5arR^HarR1larR^HarR!EwPS6nzxI]0B.7[5arR^larR^HwmYu}uT)+Xv@2B-x(4u/v@DmbwD",
            "ln": 13440,
            "col": 8,
            "line": 384
          },
          {
            "b": "3lQDlarR^HaA}mmzFs03B09Q*tu}NUarR^HarR!GA^oXMarR^HarR^HarR^HCwhejaA8jgzyxahy?l%)vruflaszgSefFIwv@C)(zF89WB-.jEi43m1wPz*fA=Tw\u003ex\u003eIs4A+cQEayPslw\u0026ZnwarR^HarR^HarR^HarR!pz/fVdzGE0:az9lDwNP9$dgdguarR^HarR^HarR^HarR1larR^HarR^HarR^Kavx*Nv@0i0z/M$gz/6ufzxK1iv@=d5aAg+hBy/GgA%:3jarR^HarR^HarUxgaAIagw?EC2z/fV9x(n00B7F\u003c4wPR#wv@DmbwO#PsiTM#LarR^H",
            "ln": 14439,
            "col": 12,
            "line": 411
          },
          {
            "b": "3lQDlarR^HarR^HaAw?TkwqL{vq]{+uObLFyH}^svq]{@wQb.fB1gxSi:D0idQa94cTw@vulSS4tYTg$gb7nccObPEarR^HarR^HarR!EcN.h[djxmGv@=d5D#%pxwO}",
            "ln": 15309,
            "col": 70,
            "line": 437
          },
          {
            "b": "arR^HarR^HarUXLxj#l\u003etr%\u0026Avj=^VeJE9-gD6UeefD5Wav*c/noFw:Bz\u003e@azGudcarR^HarR^HarR!EcQyx%l0D2{iybl2u3!p:Ej3M*ar@0{s5QkIv}f7\u003eB0bmfD2\u003crnarR^HarR!j3lQDlarR^HapoklarR^HarUYoBAIRwayPekc#@(KB7F^2v}WofvruQ5A=9AJv@DmbwO#PsazbLjaAg+hBy/GgazCZoB7F\u003c4wPRo#vruQ5A=b}E3lQDlapoklao",
            "ln": 15688,
            "col": 3,
            "line": 444
          },
          {
            "b": "aAIagw?EC6wO#71vru6/Ab]I%v@Dj3x()Y}z/oztdgdguarR^HarR^HarR1larR^HarR^HarR!Jx([2hz/xo9c#:iruT[1\u003eze190xM4*8efDr:cN*fDB0b6Q3lQDlarR^HarR^HarR^Haz9lIA+PSbc$)KqyHpN\u0026zGGDcBsvLtarR^HarR^HarR^larR^HarR^HarR^HboPY?yH[S4z/ozlwQ4=@B-.53y?j.qz*c8gAV/pry\u003cvdnz/M$wwN/\u003e6x([RH3lQDlarR^HarR^HaA8rNv}YZ$wghzqwNw}=zeB0euUBv@yB*OZz-ov7diG-TawD={wGV28B98Cpv@#BdwGU@6A=2JiB7]MgA%:3jarR^HarR^HarR1larR^HarR^HarR!yz!AY]AXq6zw]x7wp\u0026Zb0v@Dj3x(\u003eFswN/\u003e6x([RyxM4*8azC.mByx04wN({8BZ[])B8$@oy\u00261wvdgdguarR^Hao",
            "ln": 16468,
            "col": 27,
            "line": 467
          },
          {
            "b": "y?taseJ$p#BAfzHarR^HarR^Ha%FirarR^HarR^Hm}DNHA::63aAhvjeN@Zoze18mxM4*8aAI4kx(Fepv@DmbwO#Px3lQDlarR^HapoklarR^HarTM[BAIRwB2\u003cTJarR^HarR^HarR!6A+c?jz/6u9BrCmnz!*Fpv@=p5BrC7izGGDcBp6ckarR^HarR\u003cLa{]CnarR^HarUYoBAIRwaswJ:boXZHx(kOkvrl8?boPMBax8\u0026YB-IhrC{2}7wI4zgzeB0eav{A?yyhpera]#!aztXiyANb2wN/H%azbLjaAIaiB7]-gC4z!bvrt{2vR6d\u0026A+cw6z/6u9BAm=@wN/y(ar\u003cZazF\u003cfaxco=kaAIa7B-IhrC{3QgwN/H%e?O+23jn12lUH4vyANkcAV/BmzGxJlx)a5gw[=6)A%=R[azkzgay]g#w/@VSv{@\u003eXwN(]nePb0lwI4?ry\u003cvdJazk.aA3c-3ar\u003e5}e*$HDD3\u003cNxzg3pSgjj4MCQT[=v@=c\u003ewO#Q7vqH1jB7Gxnx\u003e7Y",
            "ln": 17044,
            "col": 37,
            "line": 482
          },
          {
            "b": "B7]-gC4z!dx(4v4aTdmoarR!rv}Y^6b2A8!vrl05A+f9aC4z!rxK#l@azbt7wPF#aA=k!qBzbkdv@Dj3x((xW3lQDlazkzgay]g#w/@VSv{@\u003eXwN(]nePb0lwI4?ry\u003cu",
            "ln": 17520,
            "col": 42,
            "line": 497
          },
          {
            "b": "jS)%m3lQDlarR^HapoklarR^HarU=DC@=oParR^HarR^HarR!sz/M$vz/o.Gay]hbB1wCCx(4v4azCZoz/WKPvqGZcwnc6}v@#TfC{$=YarR^HarR^HarR^HarR^HboP{2x(Ch8wPz)3x(k57x(W={Bz(hlwPFh3arR^HarR^HarR^HarR!qx(Xo0i:A\u003c\u003eax@w0w]zYjwftP7ay]hbB0bgeay(Qjz/^aozxKoNe[X)ucOcw/uTE+$v{@\u003c",
            "ln": 19052,
            "col": 20,
            "line": 545
          },
          {
            "b": "w[=6)c$WgfwHPUEarR^HarR^HarR^HarR^HarR^HarR^Hw[=6)uVoB}xDPCXz/WKIvrufnyhW*7c#%lABsXLDx(4uf3lQDlarR^HarR^HarR^HarR^HarR^Hazbt7wNxQ{z!@\u003c7x(v)gauZ\u0026*wO+%huVPZ=zEm0\u0026y?l%=z/Ph{A+e=)zGGP3y\u0026.1px(4u/Aa9\u003c4",
            "ln": 19385,
            "col": 42,
            "line": 553
          },
          {
            "b": "e{8dZefDq)D0$MacOcw/e{RqIcOcw/e]2DCzyl$TcOw$FB%!*-cOxENcOcw/e[emgxEwinarR^HarR^HB8bGeuUj1*wPF$SaBtFRwPq\u003cbA+f90zGG}LBA?)PefDrVve",
            "ln": 20075,
            "col": 43,
            "line": 573
          },
          {
            "b": "k}MnGeQx95iv=:*DO^AcEjnwAtQJ/wcOcw/pd4\u00262q!oDVwPP4/wQbTLed9HxarR^HarR^HarR^HarS7McT*H{wPI]%uObLFyH}=@B1gxSi:D0idQa94cTw}+tr%\u0026Avj.",
            "ln": 21051,
            "col": 60,
            "line": 600
          },
          {
            "b": "arR^HarR^)A+xCO3lQDlarR^HarR^HaA?gfB.9PRlVM:GwO#Q7vqE6fvqH6$aARJAv}YB-yyhgbarR^HarR^HarR1larR^HarR!8wPS6nzGv\u0026CarR^HarR^HarR^Hrc0a)azy",
            "ln": 22086,
            "col": 2,
            "line": 623
          },
          {
            "b": "vrug7aARJAv}YB-yyhgbarR^HarR^HarR1larR^HarR!8wPS6nzGv\u0026CarR^HarR^HarR^HoLFM\u0026aA7\u003cmAaK6bx(!ufz/cXvx(v/@BzkVhA%:3jarR^HarR\u003cLa{]CnarR^HarU\u0026wz!@\u003c7x(v)gauZ\u0026Kt).X%arR^HarR1larR^HarR!sz/M$gz/ff3xj2Q^Bz8!hzxJCczF0P}uVoB}xMDiwarR^HarR^HarR^HAa9\u003c4auZ\u0026zvrufhv@Dl%x\u003eH^(vrufie[GoDvqYQ#B7GwudgdguarR^HarR^HarR1larR^HarR^HarR!vw/$#fBrCKhBz9prCXIkvB0@E#3lQDlarR^HarR^HarR^Hay/tcBzkSnwEoL5arR^HarR^HarR1larR^HarR^",
            "ln": 23225,
            "col": 55,
            "line": 662
          },
          {
            "b": "B-IhrD0+S7BAzkmxlbgUaBsCrarR^HarR^HarR^OwO#0#D2N\u003etz/e][zEE0\u003cwN)eHasxM=Byuq6zEWZjAcb/jzxJ!sB95KlwGUM4vpB4:wg5]narR^HarR^HarR^HcT?ddx()Y#z!AY%zF9r/zEE0\u003cwN)eHasxD$wnccdyY",
            "ln": 25135,
            "col": 21,
            "line": 716
          },
          {
            "b": "3lQDlarR^HaBKOtarR^HarR^larR^HarR^Hw]zYjA+flkx(W^4wO#Pvay]58v@=p5BzkVhazCZoxk.%2A+flkx(W^4wO#Qhe[]Aszf49OiTM#LarR^HarR^HarUxgaAz4kB.L(czdNQbaz#atazCZov@Dl%x\u003eH^-vrt{s3lQDlarR^HarR^HarR^Hay/tbAbok%zEWl+A+frmy\u0026\u003c-5b6NEozFs03B0s)xvq{f%zE+ecb71uwADL#owO(0@BBug)DT{Yev@=p5BzkVhEiH9EarR^HarR^H3lQDlarR^Har@0{wmPy@x(v($y-)+fv@Dj3wO#3!",
            "ln": 26097,
            "col": 75,
            "line": 733
          },
          {
            "b": "zGG}Et}3)CatCM73lQDlarR^HapoklarR^HarR)Kl1BHGA+e:0zeA\u003c4wmoN]z/fRsvQTs?wft/dazb4@y?mc1A+flkx(W^4wO#Qh3lQDlarR^HazbLjazb4@y?mb",
            "ln": 30427,
            "col": 86,
            "line": 847
          },
          {
            "b": "avg3XB2\u003cTJarR^HarR^HarR!EwPq\u003cbA+f90zGE]ZqE%\u0026\u003cx(W^4wO#PjBz\u0026pixK$W?3lQDlarR^HarR^Hay/tcw[+)+wmoN*iV{!dzF0P}B-H]jx(v(iwmoN*3lQDlarR^HarR^",
            "ln": 30944,
            "col": 8,
            "line": 861
          },
          {
            "b": "x\u003c\u003e)?wNx1^vpB4:wfK5SmQZaOwH[fharR^HarR^Jv@=c\u003ewO#Q7vqGp(v{%m)x(mM\u003cwO${=y?mc3iV}yxB.99harR^HarR^Hb4+L9wNxy/A=2JiB7]MguV]\u003c]x\u003egT]x(v(@wO${=y?mc3iV}yxB.99harR^",
            "ln": 34177,
            "col": 26,
            "line": 935
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "config.get"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "config.get"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "config.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "data.items"
            ],
            [
              "",
              "self._is_sensitive_key"
            ],
            [
              "",
              "self.mask_sensitive_data"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self.mask_sensitive_data"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._looks_like_secret"
            ],
            [
              "",
              "key.lower"
            ],
            [
              "",
              "key_lower.startswith"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "key_lower.endswith"
            ],
            [
              "",
              "key_lower.startswith"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "re.match"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "re.match"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "data.items"
            ],
            [
              "",
              "check_node"
            ],
            [
              "",
              "self._is_sensitive_key"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._is_placeholder_value"
            ],
            [
              "",
              "warnings.append"
            ],
            [
              "",
              "check_node"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "check_node"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._looks_like_secret"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "warnings.append"
            ],
            [
              "",
              "check_node"
            ],
            [
              "",
              "value.lower"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "re.match"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "self.mask_log_message"
            ],
            [
              "",
              "subprocess.run"
            ],
            [
              "",
              "result.stdout.strip.split"
            ],
            [
              "",
              "result.stdout.strip"
            ],
            [
              "",
              "self._should_check_file"
            ],
            [
              "",
              "self._check_file_content"
            ],
            [
              "",
              "warnings.extend"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "os.path.basename"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "file_path.endswith"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "f.read"
            ],
            [
              "",
              "self._contains_secrets"
            ],
            [
              "",
              "warnings.append"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "re.search"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "git_dir.exists"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "hooks_dir.mkdir"
            ],
            [
              "",
              "self._generate_pre_commit_hook"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "f.write"
            ],
            [
              "",
              "os.chmod"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "os.walk"
            ],
            [
              "",
              "self._should_scan_file"
            ],
            [
              "",
              "os.path.join"
            ],
            [
              "",
              "self._scan_file_for_credentials"
            ],
            [
              "",
              "violations.extend"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "filename.endswith"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "f.read"
            ],
            [
              "",
              "re.finditer"
            ],
            [
              "",
              "match.group"
            ],
            [
              "",
              "self._is_placeholder_credential"
            ],
            [
              "",
              "violations.append"
            ],
            [
              "",
              "self._get_line_number"
            ],
            [
              "",
              "match.start"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "value.lower"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "re.match"
            ],
            [
              "",
              "Path.expanduser"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "oct"
            ],
            [
              "",
              "path.stat"
            ],
            [
              "",
              "violations.append"
            ],
            [
              "",
              "parent_dir.exists"
            ],
            [
              "",
              "oct"
            ],
            [
              "",
              "parent_dir.stat"
            ],
            [
              "",
              "violations.append"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "required_security_settings.items"
            ],
            [
              "",
              "config_data.get"
            ],
            [
              "",
              "compliance_results.violations.append"
            ],
            [
              "",
              "gov_requirements.items"
            ],
            [
              "",
              "compliance_results.warnings.append"
            ],
            [
              "",
              "config_data.get"
            ],
            [
              "",
              "compliance_results.recommendations.append"
            ],
            [
              "",
              "config_data.get"
            ],
            [
              "",
              "compliance_results.recommendations.append"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "self.security.mask_log_message"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._check_requirement"
            ],
            [
              "",
              "results.failed_requirements.append"
            ],
            [
              "",
              "self._get_requirement_recommendation"
            ],
            [
              "",
              "results.recommendations.append"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "c.get"
            ],
            [
              "",
              "requirement_checks.get"
            ],
            [
              "",
              "check_func"
            ],
            [
              "",
              "recommendations.get"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "typing",
              "List"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "pathlib",
              "Path"
            ],
            [
              "typing",
              "Union"
            ],
            [
              "",
              "json"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "re"
            ],
            [
              "",
              "subprocess"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "Path.expanduser",
            "c.get",
            "compliance_results.compliant",
            "compliance_results.recommendations",
            "compliance_results.recommendations.append",
            "compliance_results.violations",
            "compliance_results.violations.append",
            "compliance_results.warnings",
            "compliance_results.warnings.append",
            "config.get",
            "config_data.get",
            "data.items",
            "f.read",
            "f.write",
            "file_path.endswith",
            "filename.endswith",
            "framework_info.name",
            "framework_info.requirements",
            "git_dir.exists",
            "gov_requirements.items",
            "hooks_dir.mkdir",
            "key.lower",
            "key_lower.endswith",
            "key_lower.startswith",
            "logger.debug",
            "logger.error",
            "logger.info",
            "logger.warning",
            "logging.getLogger",
            "match.group",
            "match.start",
            "os.chmod",
            "os.name",
            "os.path",
            "os.path.basename",
            "os.path.join",
            "os.walk",
            "parent_dir.exists",
            "parent_dir.stat",
            "parent_dir.stat.st_mode",
            "path.exists",
            "path.parent",
            "path.stat",
            "path.stat.st_mode",
            "re.IGNORECASE",
            "re.finditer",
            "re.match",
            "re.search",
            "re.sub",
            "recommendations.get",
            "required_security_settings.items",
            "requirement_checks.get",
            "result.stdout",
            "result.stdout.strip",
            "result.stdout.strip.split",
            "results.compliant",
            "results.failed_requirements",
            "results.failed_requirements.append",
            "results.passed_requirements",
            "results.recommendations",
            "results.recommendations.append",
            "results.score",
            "results.total_requirements",
            "self._check_file_content",
            "self._check_requirement",
            "self._contains_secrets",
            "self._generate_pre_commit_hook",
            "self._get_line_number",
            "self._get_requirement_recommendation",
            "self._is_placeholder_credential",
            "self._is_placeholder_value",
            "self._is_sensitive_key",
            "self._looks_like_secret",
            "self._scan_file_for_credentials",
            "self._should_check_file",
            "self._should_scan_file",
            "self.compliance_frameworks",
            "self.mask_log_message",
            "self.mask_pattern",
            "self.mask_sensitive_data",
            "self.ncp_sensitive_keys",
            "self.security",
            "self.security.mask_log_message",
            "self.sensitive_keys",
            "self.warn_on_sensitive",
            "subprocess.CalledProcessError",
            "subprocess.run",
            "value.lower",
            "violations.append",
            "violations.extend",
            "warnings.append",
            "warnings.extend"
          ],
          "tgt": [
            "Path",
            "Path.expanduser",
            "ValueError",
            "any",
            "c.get",
            "check_func",
            "check_node",
            "compliance_results.recommendations.append",
            "compliance_results.violations.append",
            "compliance_results.warnings.append",
            "config.get",
            "config_data.get",
            "data.items",
            "enumerate",
            "f.read",
            "f.write",
            "file_path.endswith",
            "filename.endswith",
            "getattr",
            "git_dir.exists",
            "gov_requirements.items",
            "hasattr",
            "hooks_dir.mkdir",
            "isinstance",
            "key.lower",
            "key_lower.endswith",
            "key_lower.startswith",
            "len",
            "logger.debug",
            "logger.error",
            "logger.info",
            "logger.warning",
            "logging.getLogger",
            "match.group",
            "match.start",
            "oct",
            "open",
            "os.chmod",
            "os.path.basename",
            "os.path.join",
            "os.walk",
            "parent_dir.exists",
            "parent_dir.stat",
            "path.exists",
            "path.stat",
            "re.finditer",
            "re.match",
            "re.search",
            "re.sub",
            "recommendations.get",
            "required_security_settings.items",
            "requirement_checks.get",
            "result.stdout.strip",
            "result.stdout.strip.split",
            "results.failed_requirements.append",
            "results.recommendations.append",
            "self._check_file_content",
            "self._check_requirement",
            "self._contains_secrets",
            "self._generate_pre_commit_hook",
            "self._get_line_number",
            "self._get_requirement_recommendation",
            "self._is_placeholder_credential",
            "self._is_placeholder_value",
            "self._is_sensitive_key",
            "self._looks_like_secret",
            "self._scan_file_for_credentials",
            "self._should_check_file",
            "self._should_scan_file",
            "self.mask_log_message",
            "self.mask_sensitive_data",
            "self.security.mask_log_message",
            "subprocess.run",
            "value.lower",
            "violations.append",
            "violations.extend",
            "warnings.append",
            "warnings.extend"
          ],
          "funcs": [
            [
              "__init__",
              467
            ],
            [
              "mask_sensitive_data",
              2448
            ],
            [
              "_is_sensitive_key",
              3400
            ],
            [
              "_looks_like_secret",
              4251
            ],
            [
              "validate_config_security",
              5897
            ],
            [
              "check_node",
              6993
            ],
            [
              "_is_placeholder_value",
              8451
            ],
            [
              "create_gitignore_entries",
              9157
            ],
            [
              "mask_log_message",
              10481
            ],
            [
              "mask_sensitive_in_text",
              11417
            ],
            [
              "__init__",
              11848
            ],
            [
              "check_staged_files",
              12094
            ],
            [
              "_should_check_file",
              13171
            ],
            [
              "_check_file_content",
              14168
            ],
            [
              "_contains_secrets",
              14933
            ],
            [
              "install_pre_commit_hook",
              15898
            ],
            [
              "_generate_pre_commit_hook",
              17012
            ],
            [
              "__init__",
              18298
            ],
            [
              "scan_for_hardcoded_credentials",
              18733
            ],
            [
              "_should_scan_file",
              19761
            ],
            [
              "_scan_file_for_credentials",
              20358
            ],
            [
              "_is_placeholder_credential",
              21954
            ],
            [
              "_get_line_number",
              22651
            ],
            [
              "validate_config_file_permissions",
              23001
            ],
            [
              "validate_government_compliance",
              24557
            ],
            [
              "mask_sensitive_data_in_logs",
              26751
            ],
            [
              "__init__",
              28172
            ],
            [
              "check_compliance",
              29027
            ],
            [
              "_check_requirement",
              30782
            ],
            [
              "_get_requirement_recommendation",
              32003
            ],
            [
              "create_security_config",
              33191
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 5,
              "op.div": 3,
              "op.lor": 2,
              "op.mul": 1,
              "op.sub": 2,
              "op.land": 6,
              "max_depth": 22,
              "call_count": 142,
              "node_count": 6112,
              "member_count": 92,
              "op_density.add": 0,
              "op_density.div": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "max_array_length": 43,
              "max_concat_chain": 2,
              "max_member_depth": 4
            },
            "file": {
              "size": 34302,
              "entropy": 4.36
            },
            "text": {
              "lines": 938,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 11292,
              "char_entropy": 4.36,
              "unique_chars": 88,
              "top_char_null": 0,
              "escape_density": 0.02,
              "import_density": 1.39,
              "string_density": 0.51,
              "top_char_ratio": 0.06,
              "avg_line_length": 35.57,
              "max_line_length": 127,
              "empty_line_ratio": 0.17,
              "last_line_length": 5,
              "whitespace_ratio": 0.36,
              "identifier_density": 0.88,
              "line_length_stddev": 25.86,
              "max_whitespace_run": 10,
              "octal_escape_count": 8,
              "normalized_import_count": 0.42,
              "normalized_string_count": 15.67,
              "repeated_char_sequences": 449,
              "suspicious_string_ratio": 0.01,
              "suspicious_comment_ratio": 0.02,
              "normalized_function_count": 1.01,
              "trailing_whitespace_lines": 145,
              "imports_to_functions_ratio": 0.42,
              "strings_to_functions_ratio": 15.48,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 19.34,
              "identifiers_to_functions_ratio": 6.16
            },
            "binds": {
              "count": 75
            },
            "binary": {
              "peak_region_bytes": 6144,
              "peak_region_entropy": 4.87
            },
            "source": {
              "class_count": 4,
              "function_count": 28
            },
            "imports": {
              "count": 13,
              "stdlib_count": 7,
              "stdlib_ratio": 0.54,
              "third_party_count": 6,
              "third_party_ratio": 0.46
            },
            "strings": {
              "sql": 2,
              "bytes": 14046,
              "count": 480,
              "shell": 1,
              "avg_length": 29.26,
              "max_length": 962,
              "path_count": 1,
              "avg_entropy": 3.09,
              "empty_count": 8,
              "entropy_stddev": 0.82
            },
            "comments": {
              "chars": 1396,
              "count": 48,
              "lines": 48,
              "base64": 1,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 32,
              "nested": 1,
              "density": 3.3,
              "avg_params": 1.87,
              "code_ratio": 0.95,
              "max_params": 3,
              "length_stddev": 11.58,
              "avg_name_length": 19.81,
              "no_params_count": 1,
              "avg_length_lines": 28.81,
              "max_length_lines": 54,
              "min_length_lines": 8,
              "avg_nesting_depth": 0.03,
              "max_nesting_depth": 1,
              "high_entropy_names": 14,
              "avg_param_name_length": 6.19
            },
            "identifiers": {
              "count": 827,
              "unique": 191,
              "avg_length": 10.11,
              "max_length": 32,
              "min_length": 1,
              "avg_entropy": 2.62,
              "reuse_ratio": 0.23,
              "length_stddev": 6.73,
              "sequential_names": 6,
              "single_char_count": 6,
              "single_char_ratio": 0.03,
              "high_entropy_count": 25,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 0.92,
              "all_uppercase_ratio": 0.01,
              "double_underscore_count": 2,
              "underscore_prefix_count": 15
            }
          }
        },
        "id": 29,
        "mol": "K(Te)H₆(Cm₂Db₄F₁₄OsPo₂)Md₂(In₅Pa)",
        "path": "ic_code-1.5.3-py3-none-any.whl!!ic/config/security.py",
        "pid": 0,
        "risk": 17,
        "sha": "3be770e54622afb3a417067b28c908791d4fe10230964741e4ea46b79fd6790d",
        "size": 34302,
        "supp": [
          {
            "by": [
              {
                "id": "micro-behaviors/fs/chmod/executable/mode::python-executable",
                "spans": [
                  [
                    16689,
                    32
                  ]
                ]
              },
              {
                "id": "micro-behaviors/fs/chmod/executable/mode::python-inline-chmod-executable",
                "spans": [
                  [
                    16689,
                    32
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/chmod/modify::python-os-chmod",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "metadata/package/testing/terminology::test-code-declaration-text",
                "spans": [
                  [
                    13666,
                    6
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/directory/traverse::directory-enumeration-or-traversal",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "text",
                "spans": [
                  [
                    9723,
                    16
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/path/credential::credentials-path-tail",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "metadata/package/config::sensitive-file-exclusion-list",
                "spans": [
                  [
                    9516,
                    5
                  ],
                  [
                    13504,
                    15
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/path/credential::key-and-connection-file-references",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "metadata/package/config::sensitive-file-exclusion-list",
                "spans": [
                  [
                    9516,
                    5
                  ],
                  [
                    13504,
                    15
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/fs/path/private-key::putty-key-extension-reference",
            "crit": "notable",
            "kind": "unless"
          },
          {
            "by": [
              {
                "id": "micro-behaviors/process/create/subprocess::run-ast",
                "spans": [
                  [
                    12351,
                    14
                  ]
                ]
              }
            ],
            "id": "micro-behaviors/process/create/subprocess::run-content",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/file/catalog/service::cloud-saas-service-name-references",
            "conf": 0.6,
            "crit": 3,
            "desc": "References a Cloud SaaS service name",
            "uses": [
              1
            ],
            "spans": [
              [
                5697,
                6
              ]
            ]
          },
          {
            "id": "metadata/file/catalog/service::github-service-name-reference",
            "conf": 0.6,
            "crit": 3,
            "desc": "References the GitHub service name",
            "spans": [
              [
                5697,
                6
              ]
            ]
          },
          {
            "id": "metadata/import/builtin::python-subprocess-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Subprocess import outside excluded contexts",
            "uses": [
              6
            ],
            "spans": [
              [
                198,
                10
              ]
            ]
          },
          {
            "id": "metadata/import/python/os::os",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports os",
            "spans": [
              [
                176,
                2
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib/path::path",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports Path from pathlib",
            "spans": [
              [
                296,
                4
              ]
            ]
          },
          {
            "id": "metadata/import/python/pathlib::pathlib",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports pathlib",
            "spans": [
              [
                281,
                7
              ]
            ]
          },
          {
            "id": "metadata/import/python/subprocess::subprocess",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports subprocess",
            "spans": [
              [
                198,
                10
              ]
            ]
          },
          {
            "id": "metadata/package/config::skip-extensions-identifier",
            "conf": 0.9,
            "crit": 3,
            "desc": "Skip extensions identifier",
            "spans": [
              [
                13504,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-client-secret-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "OAuth client_secret field",
            "spans": [
              [
                1123,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::authentication-token-name-literal",
            "conf": 0.9,
            "crit": 3,
            "desc": "Authentication token name literal",
            "spans": [
              [
                973,
                12
              ],
              [
                1006,
                10
              ],
              [
                1311,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::not-in-membership-check",
            "conf": 0.3,
            "crit": 3,
            "desc": "Python not-in membership check",
            "spans": [
              [
                26195,
                34
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/credentials::aws-access-key-length-pattern",
            "conf": 0.9,
            "crit": 3,
            "desc": "AWS access key regex length quantifier",
            "spans": [
              [
                15753,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/credentials::aws-access-key-pattern-prefix",
            "conf": 0.9,
            "crit": 3,
            "desc": "AWS access key regex prefix reference",
            "spans": [
              [
                15752,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/credentials::github-token-format-pattern",
            "conf": 0.9,
            "crit": 3,
            "desc": "GitHub token-format scan pattern",
            "spans": [
              [
                5666,
                5
              ],
              [
                5742,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/credentials::slack-token-format-pattern",
            "conf": 0.9,
            "crit": 3,
            "desc": "Slack token-format scan pattern",
            "spans": [
              [
                5603,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::client-id-field-name",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a client_id field name",
            "spans": [
              [
                6520,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/format/json::tenant-id-token",
            "conf": 0.65,
            "crit": 3,
            "desc": "References a tenant_id record token",
            "spans": [
              [
                6507,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/syntax/credential::credential-pattern-variable-name",
            "conf": 0.9,
            "crit": 3,
            "desc": "Variable names secret or token regex patterns",
            "spans": [
              [
                5332,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/string/search::bearer-token-capture-regex",
            "conf": 0.9,
            "crit": 3,
            "desc": "Search pattern for Authorization Bearer values",
            "spans": [
              [
                11038,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/string/search::secret-pattern-catalog-definition",
            "conf": 0.94,
            "crit": 3,
            "desc": "Named secret-pattern catalog definition",
            "spans": [
              [
                5333,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/build-artifacts::python-cache-artifact-names",
            "conf": 1.0,
            "crit": 3,
            "desc": "Names Python cache/build artifacts",
            "spans": [
              [
                13626,
                11
              ],
              [
                13665,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::python-executable",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python sets executable file permissions",
            "spans": [
              [
                16689,
                31
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::python-inline-chmod-executable",
            "conf": 0.99,
            "crit": 3,
            "desc": "Python chmod expression requests executable mode",
            "spans": [
              [
                16689,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/modify::python-path-chmod",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python calls chmod to change permissions",
            "spans": [
              [
                16689,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/traverse::traverse-walk-call",
            "conf": 0.84,
            "crit": 3,
            "desc": "Calls os.walk for filesystem enumeration",
            "spans": [
              [
                19116,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append",
            "spans": [
              [
                16532,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/application/executable::unix-shell-executable-path",
            "conf": 0.8,
            "crit": 3,
            "desc": "References a Unix shell executable path",
            "spans": [
              [
                17217,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/certificate::pem-file-extension-reference",
            "conf": 0.75,
            "crit": 3,
            "desc": "References a PEM certificate or key file",
            "spans": [
              [
                9538,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/credential::credential-path-segment",
            "conf": 0.92,
            "crit": 3,
            "desc": "Password or credential path segment",
            "spans": [
              [
                9560,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/extension::python-path-endswith-variable",
            "conf": 0.82,
            "crit": 3,
            "desc": "Checks a path suffix against a variable",
            "spans": [
              [
                13962,
                23
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/filename-credential::credential-filename-extension",
            "conf": 0.92,
            "crit": 3,
            "desc": "Credential-like filename extension",
            "spans": [
              [
                9561,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/filename-credential::credentials-json-file",
            "conf": 0.85,
            "crit": 3,
            "desc": "References a credentials.json file",
            "spans": [
              [
                9560,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/library::dylib-name-literal",
            "conf": 1.0,
            "crit": 3,
            "desc": "Literal references a .dylib name",
            "spans": [
              [
                13547,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/private-key::ssh-private-key-filename-rsa",
            "atk": "T1552.001",
            "conf": 0.95,
            "crit": 3,
            "desc": "id_rsa filename constant",
            "spans": [
              [
                10208,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/secret-config::dotenv-filename-literal",
            "atk": "T1552.001",
            "conf": 0.85,
            "crit": 3,
            "desc": ".env filename literal",
            "spans": [
              [
                9474,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/token::aws-credentials-text-reference",
            "atk": "T1552.005",
            "conf": 0.92,
            "crit": 3,
            "desc": "References an AWS credentials file path",
            "spans": [
              [
                9723,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/metaprogramming/reflection::python-getattr-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Python getattr dynamic attribute lookup",
            "spans": [
              [
                764,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/security/auth/session::session-token-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "Session token field name",
            "spans": [
              [
                1311,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::git-diff-argv-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Python subprocess launches git diff",
            "spans": [
              [
                12351,
                103
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::run-ast",
            "atk": "T1059.006",
            "mbc": "C0017",
            "conf": 0.85,
            "crit": 3,
            "desc": "Calls subprocess.run to launch a process",
            "spans": [
              [
                12351,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/fd/stdio::python-stdout-stream-name",
            "conf": 0.84,
            "crit": 3,
            "desc": "Python references the stdout stream",
            "spans": [
              [
                12547,
                6
              ]
            ]
          },
          {
            "id": "well-known/tool/detection/security-scanner::defensive-security-risk-target-phrase",
            "conf": 0.94,
            "crit": 3,
            "desc": "Defensive security-risk target phrase",
            "spans": [
              [
                23289,
                21
              ]
            ]
          },
          {
            "id": "metadata/import/python/json::json",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports json",
            "spans": [
              [
                186,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/logging::logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports logging",
            "spans": [
              [
                216,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/re::re",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports re",
            "spans": [
              [
                166,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                255,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                243,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                249,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                260,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/union::union",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Union from typing",
            "spans": [
              [
                270,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                229,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-access-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-access verb token",
            "spans": [
              [
                14582,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                11817,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::environment-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Environment or instruction terminology",
            "spans": [
              [
                7759,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::secret-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Secret-data term token",
            "spans": [
              [
                4661,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::sensitive-target-term-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Secret, security, or environment terminology",
            "uses": [
              53,
              54
            ],
            "spans": [
              [
                22118,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                13805,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                125,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                6263,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                31,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                575,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                40,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/config::exclusion-context",
            "conf": 0.8,
            "crit": 1,
            "desc": "Exclusion identifier or --exclude option syntax",
            "uses": [
              63
            ],
            "spans": [
              [
                13504,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/config::exclusion-list-identifier",
            "conf": 0.8,
            "crit": 1,
            "desc": "Uses an exclusion-list identifier",
            "uses": [
              7
            ],
            "spans": [
              [
                13504,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/config::sensitive-key-exclude-pattern",
            "conf": 0.8,
            "crit": 1,
            "desc": "Excludes sensitive credential extensions",
            "spans": [
              [
                9516,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                13052,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-field-unavailable",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOnzGWdwD30.rzzIRza%EvYy\u0026sDbmR(HNwGTonnGZxpx\u003eqg73jodizGG]cy?XibwfslQz/]OWy*?u}ave*}ay/k4wO#PjCwhejayPzmxK#76x\u003e7N[x(v(uaz2Olz/M$lvqYQ(x(mMmayPd#aAy[jwGU/6ze19azF7Nep\u0026ZF$x\u003eg^@aAz4oB75J]wGU\u00263BzbP6B0b7kAV!\u003egzeBieave*}aA8jgA::67z/fRsCwhejay/tbAb]J6wO#N6C4z!jz!AY%zF7Nea%Fir3tBu@z/P}xBzkP63tBu@z/P}xA+flkwPI%m3tar%z6i}CAa%i5azCXiz/P}xl${dMefEk@C}p7lAcb/jzEEujawuG\u003cBp8S2z/3Rcvrt{/y*?yawPF#dze:AlBrCa5BywV}vrlF%w].*bay[]5wPRT6wGUY7AbP=say[]5wPRT6wEn=^A^oXMarR^Hw].*bazCsrv@Dl%x\u003eG5nvqYH^wPw]cze:AlBrA}?zF0P}o\u003c}{FxjV8\u003cwQ4Y@Ac9i]ze:AlBvyj\u003cz/N(CarR^HBAhT/3lQDlarR^HazbUjz6iL5e[n*qw[+)gzddr\u003cxjV9ax(d*cA=-A\u003ez/ff3xh8/Lvp%d(3lQDlaz2!cwPh-lnO@A+A=:-\u003cA=k$V3lQDlarR^HazCXiz/P}xB9R*larR^HarR^Hx(d*cA=-BxA%:3jarR^HarU-JB1RAuBz9pvzGxxfBsn*]aA8rNAa9\u003c4e]2rszyxBAe]UlvxF9?fA=br5wHH[)w[=6)uTClkasw=]cOcw/e?OI5asw=]cN*FKarR^HarR^Hw].*bazCsrv@Dl%x\u003eG5nvqYH^wPw]cze:AlBrA}?zF0P}o\u003c}{FxjV8\u003c3uQrliTM#LarUopz/3RrA:{.iz/6ufzz2:zxcp]9AbP=saz+$euUKy\u0026z^Ny2zEl)(zGx-jwGUA5az+$euUKy\u0026z.92Ez!AA*A=M8sefF+Exj2j{v}xR3x(v\u003e@wQ4Y@Ac9i]ze:AlBvyj\u003cz/N(CarR^Hw].*bay/tbzeTqAy\u0026r@ex(d*cA=-Buz!AA\u003ezF0/]zF%A1v@Dmaz!@#cvriMcz!AA\u003ezF0/raz+$euUam#z/NxKy\u0026r@[wQ4Y@Acb/jzvcZTboPu@B98tqavQJ+wPh:9z/cW+y*?yawPFh*y*?yaavx%-B.0%Tvrb{Bp!s8@A=k$Dmr\u0026rNAcb/jzyEQNarR^Ha%Fi$vrl05wQ4Y@Acb/jzxJLfAV^.=z/]OWy*?u}ave*}az2Olz/P[Ka%Fir",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "wN]v.e*qF-3lQDlay]4}aywF\u0026zFsi1uNP#by?tjvzdN^fvp%djaAITBefF$ABAhUlvp\u003cQ)AYLsSzGE0:at$]5iTM#LarR^HarU-FAaK5rdk1$mx(mTbuTCi#wPI{3xjSH",
            "ln": 1212,
            "col": 42,
            "line": 44
          },
          {
            "b": "uT[1(w[+)eaAITBdlm!UarR^HarR^HarR!nv}fC1zGG}xjS)%qe]#bPx(CEHazbLjayMybzxJv$v@DHcBAp/0z/ff3xd!mAy?W#tcOcR]azCBgvj(RyA+PFvdp0o6arR^HarR!ry?WG7x(!0aB97\u0026dv}v5%v}fC1zGG@bv@Dl%x\u003eF$ty?W%jdlm!UarR^HarQ",
            "ln": 2246,
            "col": 31,
            "line": 79
          },
          {
            "b": "zE)(@v@Dl%x\u003eF$tB98BKiTM#LarR^HarR^HarU#GzE)(ijS)%Pe]#bPx(CEHazbLjaBkeAzxKmzzE)(@v@Dl%x\u003eG5tAbolgc){L[diJtpaBkUYBAh8mc[eBearR^HarR^HwO=6)azC[hzGx]dzEWlaDt^XjB6\u0026A}zF0P}efF+yB95\u0026(3lQDlarR^HarR^HaBj",
            "ln": 2635,
            "col": 25,
            "line": 88
          },
          {
            "b": "arR^Hvq]{/Bz\u003e@azARGwuT[1(w[+)gxjVfkcT*$duVZj4wO@\u003eDaswJ=ed9HxarR^HarR^HarU95v@DHcBAoPNv}fC1zGG}J3lQDlarR^HarR^HaBm%zwPH1Xz/fcc3lP",
            "ln": 2969,
            "col": 9,
            "line": 97
          },
          {
            "b": "p*[0JzEET3z/cXsB-qqrA=.TharR^Uavy6:Ab]J6wO#N6C4z!jz!AY%zF6q0arR^Ja%EvparR^larR^Hk#pcWmnulEpF1qXauZ?\u003exMOunB2\u003e%cvq]{kv@c7awm/T^A+c\u003ekz/4dqy?WD#Bt4!]a{]CnarT6vmNp3Fr9@P@o*}\u0026Tr3jsDgCxdUarR^{mmGNyoJkv}mn^F?k$su^jS(Qo3lQDlapoklarUiaw/$C/x(mTbuTCj5wO+%fay/tcw[+)savx%-B.0%Tvrb{Dz/ff3xdk\u003eGarR^HarR^Ha%FirarR^HarR^H",
            "ln": 3313,
            "col": 7,
            "line": 111
          },
          {
            "b": "avx%-B.0%Tvrb{Dz/ff3xcp]aB97\u0026dv}u^bx([2hv@=c\u003ewO#Q7vqH0cvqYP#w[=76wPz\u00260arR^HarR^Ha%FirarR^HarR^HB7Gf1e[n*qw[+)2jS[lMzF0P}3lQDlarR^HaAI8",
            "ln": 3629,
            "col": 20,
            "line": 124
          },
          {
            "b": "vpS}\u0026B09Q*DKp(rarR^HarR^HarR\u003egeKsJ3xE#U\u0026vqfK4iV}{JzF0P}e[F)dx(2scarR^HarR^HarR^Hb0*u[xM4{9Dsp]fz/c:Waz8/:wNPQ\u003cAV/Zsz/ff3xd^Rix\u003cU$2yH}yia$K6zarR^HarR^HarR^JlVl\u003c:wO#Pwrc-B]b03?\u003cvq{g4x\u003e7N[x(v(xyiarha$K6zarR^HarR!P3lQDlarR^HapoklarR^HarR)Kr://UwmoN\u003eay/C6wmYU2x\u003c\u003e?03lQDlarR^HazCBgzF%Rtv@Dl%x\u003eG5fzddc{aA8oyzF%Rtv@Dl%x\u003eG5bAa@W3z!\u0026{4iTM#LarR^HarR^HarUYkx(^\u0026dl3mo.",
            "ln": 3741,
            "col": 16,
            "line": 127
          },
          {
            "b": "A+e=lar?dnarR^HarR^HarR^HarR^Jp\u00266YKB7DF7z/ff3xlwlaaz2y#x(1]2zE:\u003e#Aa@W3z!\u0026{4azCZoELir/v\u003eRtgzF0P}flpYmA+fule{Q(xy:6iearR^HarR^HarR^Q3lQDlarR^HapoklarR^HarUGsxj2v\u003cw]x7wlU{W-wjyxzA+cw6y?WD#BrCpnx([5$y?XibwfJDfarR^H3lQDlay]4}ayw$]yH{\u003c[wPq\u003c7B95/qarR^HarQ",
            "ln": 4093,
            "col": 52,
            "line": 136
          },
          {
            "b": "arR^HarUJjBzbP6iV{%)r8sYOwPRQ7wfro\u003cmn$/Xp!$1?efE+?r4GdWmnccHmjwM^arR^HarR^HarR!rzE^Z8x(n2Nave*}az2C3AbPDdBrCKhBz8^BCwhejz/{dAvQTs?axqrkdgdguao",
            "ln": 4527,
            "col": 7,
            "line": 153
          },
          {
            "b": "zGHqNAa9=}zf669BAh^NdgdguarR^HarR1larR^HarR!FByxiiuVZ10wGTbUBzkP6e{7/AwHF#marR^HarR^H3lQDlarR^HaARTHiTM#LarR^HarR^HarUYoB8V5nB7DESaAz4kB.bSoB1RGAADL\u0026lBsmFsarR^HarR^HarR^HarR!zwPRQ7wiB^vBzbP6ed9HxarR^HarR^HarR^HarU/Ey=#]Yy+b]oarR^HarR^HarR^HarR!uwNPaXA=Tx+wO+%hxK$Q.wPz\u0026y3lQDlarR^HarR^HarR^HaARsmwP8Zkj-\u003eyPwP8Zkec",
            "ln": 5415,
            "col": 60,
            "line": 174
          },
          {
            "b": "arR^H3lQDlarR^HarR^Har@11vqYQ(wGV24By=Ohx(dNax(mL\u003carR^HarR^HarR^Hx\u003ewGdwPI*ezGxwwB97\u0026jB-Q]1z!9A4jV%]Agc4x5arR^HarR^HarR^HarR^HA+fukD0:#(By/FnjS[DRBsqfvB8V5nB7D$qwNPaXA=S\u003cCwPPsFqE%@\u003cC}zr]By/FuefD\u00268djCPDarR^HarR^HarR^HarR!yz!AA*A=M8sc$TU\u003cy\u0026sDbmR(HNwGTonnG-4ZBy=Ohx(dNaaz2!cwO2y-wg/05wPR%rayO(7wPw]uA+fukD0:#(By/GvB0r4uarR^HarR^HarR^HarR^HA:-W6wGT(VBy!cW",
            "ln": 5913,
            "col": 9,
            "line": 189
          },
          {
            "b": "arR^HarR^Har@11vqYQ(wGUA7Bzbl6Bzkk[BzkVhaz2Olz/P[aarR^HarR^HarR^Hx\u003ewGdwPI*ezGxwwB97\u0026jB-Q]1z!9A4x(k4wg+ZTnat+=ddlm!UarR^HarR^HarR^HarR!yz!AA*A=M8sc$TU\u003cy\u0026sDbmR(HNwGUA7Bzbl6Bzkk[BzkVhazb4@y?mcraBwcuB8V5nB7D$BByxolB6\u0026A}wmZfkdgdguarR^HarR^HarR^HarUYkx(^\u0026dl3mo.wO#Q7v{%E[z/e0:",
            "ln": 6365,
            "col": 4,
            "line": 199
          },
          {
            "b": "A=RNgarR^HarR^HarR!vw/$#fBrCQnB8V5nB7D$xyDq!BarR^HarR^HarR^HarR!rA=M8suU0O!vivYQA+frhz/fSce]2DCzyu}Rx\u003ewGdwPI*ezGxwwv@DmbwO#PjwO=B0aBwIzarR^HarR^HarR^HarR^HwPz*fA:JV{B8$=5wPF$Saz2Olz/Ph}vrt{gxjVfkcUmssz/P[DefFe5dgdguarR^HarR^HarR^HarUloA=k#9By/YsauZ?{efDq)yhW*7c%HmnxjVfkcV9BoB75Y)cOcw/cN*fIz/M$iazCZowPz*fA:JV{B8$=5wPIcaazCBgwPz*fA:JV{B8$=5wPF#9y\u0026:egA+frhz/fSce{7VHBp6ckarR^HarR^HarR^HarUGsxj2j\u003cA=k$Dw*fPUz/]OWy*?u}ave*}az2Olz/M$EA+frhz/fSce]#byBAIUiv@C)?El5G$wPz*fA:J{1CYXuTdgdguarR^HarR^HarR^HarUYkx(^\u0026dlU{W-wjyxzA+dKknKWVuzV",
            "ln": 6786,
            "col": 32,
            "line": 207
          },
          {
            "b": "ar\u003cS#wNPT\u003eay/7@v@0ijz/{7yx(n37A=bDgay/tczE)s1x(v(wa{]CnarR^HarR^HarS9uarR^HarR^HwQ4Y@Ac9jywPq\u003c7B98EQwQ4Y@Acb/jzGvA$z/fD7v@#B6zBFO^z/M$eB0b3P3lQDlarR^HarR^Haz+$euUam#z/Nmrb13f+B.0%Tvrb{4k#pb}v@Dm5wN/*@z/cXeA=M8siV@=XEiH9EarR^HarR^HarR^HA:-W6wGT-VBA.UzyEJn:z/NlkarR^HarR^HarR^HarR^Hb1u0Py?mc1Bz?",
            "ln": 8109,
            "col": 16,
            "line": 233
          },
          {
            "b": "vpJ!=B-8qx3lQDlarR^HayO+\u0026z/]@tB09Q*tu}NUarR^HarR!Cvp%c]jS(D^arR^HarR^H3lQDlarR^HaA}Hky?j.*A=\u003e}O3lQDlarR^HarR^Haz2C3AbPDdBrAZ?w*e)pv}fC1zGG}:Aa9x\u003cj:RcRxjVGrAaK5%Aa9x\u003cj:RlYy?tp/mmGNyoJkv}mn^F?k$sv(a{]CnarR^HarR^HarUYoB8V5nB7DESaAIagw?ECcvqxBYA+flkwPI@wb1C73a$K\u003cFzE^Z8x(n2w3lQDlarR^HarR^HapoklarR^HarR^HarUYoB9hqvauZ\u0026/wPI*ezGxwwxjVfkb64moB.(dzefFe5dgdguarR^HarR^HarU95v@DHcBAo6CCYWImwghFfB9hqvdgc",
            "ln": 9069,
            "col": 37,
            "line": 257
          },
          {
            "b": "y*Rc\u0026xjVdjaA7\u003cmvpJ!=B-8qxasIOMwO@]pwPJ0gBszRXvpJ!=B-8qxaA8cuBzbxfaAg+4wHO/L3lQDlarR^HarR^HapoklarR^HarR^HarUxgaAg+4wGTf1aARKzvqGp\u0026vp%d)iTM#LarR^HarR^HarR^HarUclwNPuYarR^HarR^HarR^H3lQDl",
            "ln": 9615,
            "col": 49,
            "line": 272
          },
          {
            "b": "aBw0mzdN6^x(4)5A^YbX3lQDlarR^HarR^Hazbt7By/G7wm5+Pv@DHcBAnM/ax@aUarR^HarR^HarR^Hw]zYjvpJ!=B-8pzx(k54v}fC1zGG}X3lQDlarR^HarR^HarR^HayO+\u0026z/]@tuV6p?wGTbUvpJ!=B-8pNxjVfkb5Q?awG\u0026VFa%FD*y\u0026sJeAWSvzarR^HarR^HarR^HarR^Hx\u003ewF@zH0Txx(4)5A:J{1A=0BBz*b=kc[coMzxJv$v@DHcBye]]zdK\u00264z/M$jx(4)5A:J{1A+#}kzxJ?9zdN6^x(4)5AW:3RarR^HarR^HarR^HarR^HarR^Hw[=76wPzu)uTWCOz/]@tB1Q)uAaJ]$c$cQ}z/]@tdgdguarR^HarR^HarR1larR^HarR^HarR!yz!x",
            "ln": 9996,
            "col": 48,
            "line": 283
          },
          {
            "b": "jS(D^arR^HarR^H3lQDlarR^HaA}Hky?j.*A=\u003e}O3lQDlarR^HarR^Haz2C3AbPDdBrAZ?w*e)Oz/fcckvF5iz/]@te[[\u0026VDTQz]z/]@tuUK50cu9yawJ+xVvp%e1cu9KpuVoB^wJ+xYwO+%hl}6Nhrzlw0p^[n?p^EPuEiG1varR^HarR^HarR!EwPI*ezGxwijS[/Sy?tqbzddi\u003euVGZ$B.bSoc)zeIr3A\u003eowO#3$z!T9hdgdguarR^HarR^HarR1larR^HarR^HarR!EwPJ0gBrAZ?",
            "ln": 11171,
            "col": 14,
            "line": 315
          },
          {
            "b": "A^YbX3lQDlarR^HarR^Hazbt7By/G7wm6U3zE)(ijS)%m3lQDlarR^HarR^HazbLjaBm%zwGUY8aBm%zwPG)tarR^HarR^HarR^HarR^HDt^XjuV6p?wGTbUDt^Xje[X:qc)ALqzdK[xar\u00260Ue]kDIwPxgF3lQDlarR^HarR^HarR^HazCBgvqZusw[=76wPzd1wD",
            "ln": 12108,
            "col": 57,
            "line": 339
          },
          {
            "b": "arR1larR^HarR!JxLzo]axix7wJyevarR^HarR^HarR!rzE^Z8x(n2njS[tXfm4LOwPGIKDt^XjuUK50fjX%wuVGZ/z/Pxfkx74zwJ+xVvp%e1cu9KpuVoB^wJ+xYwO+%hl}6Nhrzlw0p^[n?p^EPuEiG1varR^HarR^HarR!EwPI*ezGxwijS[/Sy?tqbzddi\u003euVGZ$B.bSoc)zeIr3A\u003eowO#3$z!T9hdgdguarR^HarR^HarR1larR^HarR^H",
            "ln": 13062,
            "col": 7,
            "line": 367
          },
          {
            "b": "B-.Lsvrui[vqG+9ay]59wN/?6aBm%zwGU/6v}xL0wGV8uAaHe2zE:(jB7GznBzbkdvq{gaz/x-hvru66k#pcl3lQDlarR^Hat1Z8zGGDgAb]VlwGVqqzE)(Iav*DXAa\u00269xavf)Ny\u003cybpv@\u0026+Up!q=Tw{4{aaz\u003eXiA+P38dgdguarR^HarSlUmSJ5",
            "ln": 16642,
            "col": 10,
            "line": 472
          },
          {
            "b": "arV1rarR^HarR^HarR^HarR^Hb6[fBwNxdZb03?\u003cvpA.3gbyKne*q?NarR^HarR^HarR^HarR^Hb5y$6wO#N2uVZNjwG\u003ceTb1lx\u003ewPz:gx(^\u0026faA8oyb1uP:wG\u0026VjarQ",
            "ln": 17228,
            "col": 11,
            "line": 486
          },
          {
            "b": "ze:JbxK#75x)a5gvqYH\u0026D30+gA%:3jarR^HarR)Kph+k=iV{!az/]OWy*?u}av*DXAa\u00269xaA.:pB0b14By!/(wPowlvru6/y?mPqaz#atay[]5wPRT6wNx7YAw7\u003ch",
            "ln": 19541,
            "col": 31,
            "line": 546
          },
          {
            "b": "arR^HarR^Har@16vqxA%m@\u00263SxI?CCA+flkwPI@2arR^HarR^HarR^Hxl4B1xMm\u0026}wO#3$z!T9hauZ?\u003exMOunB2\u003e%cvq]{kv@c7awm/T^A+c\u003ekz/4dqy?WD#Bt4!]fk2rlAa\u003clca{]CnarR^HarR^HarUYoB8V5nB7DESaAz4kB.bSoB1RAIB95/qarR^HarR^HarR^HarR^Hxl4B1xMm\u0026}wO#3$z!T9hed9HxarR^HarR^HarR^HarUuevpS}\u0026B3jOQy?tqkwNPaXA=S=sarR^HarR^HarR^HarR^Hyiarhj:Ow)B.bPsb03\u0026VA:-{2ACP04B.bPsEjLZFarR^HarR^HarR^HarR!Gx(dB1B-Y=/wO+%hl}6Nhrzlw0r7P!MpGpv3arR^HarR^HarR^HdgdguarR^HarR^HarR1larR^HarR^HarR!vw/$#fBrCQnB8V5nB7D$xyx",
            "ln": 20516,
            "col": 4,
            "line": 580
          },
          {
            "b": "arR^HB-7]kB.a{6x(!0gz/P[wjS(A=arR^HarR^HarR^H3lQDlarR^HarR^HazbLjazk.kB-nEqzxJOjz/{2uiTM#LarR^HarR^HarR^HarU-Fzc{*ZByupPazk.kB-n%CwPPsAB9hszefGp/dgdguarR^HarR^HarR^HarU/Ax(NG\u003cvrt{2jS[xTz/{1KxjVfkb6r",
            "ln": 22941,
            "col": 9,
            "line": 635
          },
          {
            "b": "B98FgAaK5%xM53l3lQDlarR^HarR^HaBKOtarR^HarR^HarR^larR^HarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwJyevarR^HarR^HarR!yz!AA*CW\u003er7BzkVhc$K?marR^HarR^HarR^Hy\u0026r@[wPz*fAWUJzm@\u00263SxI?CCvqYH\u0026D30+gB0b76x(4u\u003eefFLky\u00260*6xcpU(",
            "ln": 24851,
            "col": 53,
            "line": 674
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "sys.path.insert"
            ],
            [
              "",
              "os.path.join"
            ],
            [
              "",
              "os.path.dirname"
            ],
            [
              "",
              "super.__init__"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "config_manager.load_all_configs"
            ],
            [
              "",
              "config.get"
            ],
            [
              "",
              "cf_config.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "a.strip"
            ],
            [
              "",
              "accounts_config.split"
            ],
            [
              "",
              "a.strip"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "a.strip"
            ],
            [
              "",
              "a.strip"
            ],
            [
              "",
              "cf_config.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "z.strip"
            ],
            [
              "",
              "zones_config.split"
            ],
            [
              "",
              "z.strip"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "z.strip"
            ],
            [
              "",
              "z.strip"
            ],
            [
              "",
              "cls"
            ],
            [
              "",
              "cf_config.get"
            ],
            [
              "",
              "cf_config.get"
            ],
            [
              "",
              "AuthenticationError"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "time.time"
            ],
            [
              "",
              "requests.request"
            ],
            [
              "",
              "time.time"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "response.headers.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "RateLimitError"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "AuthenticationError"
            ],
            [
              "",
              "response.json"
            ],
            [
              "",
              "error_data.get"
            ],
            [
              "",
              "e.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "CloudFlareAPIError"
            ],
            [
              "",
              "response.json"
            ],
            [
              "",
              "response_data.get"
            ],
            [
              "",
              "response_data.get"
            ],
            [
              "",
              "e.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "CloudFlareAPIError"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "NetworkError"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "NetworkError"
            ],
            [
              "",
              "log_exception"
            ],
            [
              "",
              "NetworkError"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "accounts.extend"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result_info.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "account.get.lower"
            ],
            [
              "",
              "account.get"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "filter_term.lower"
            ],
            [
              "",
              "filtered_accounts.append"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "zones.extend"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result_info.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "zone.get.lower"
            ],
            [
              "",
              "zone.get"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "filter_term.lower"
            ],
            [
              "",
              "filtered_zones.append"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "records.extend"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result_info.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "rules.extend"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result_info.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "rules.extend"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result_info.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "since.isoformat"
            ],
            [
              "",
              "until.isoformat"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "zone_response.get"
            ],
            [
              "",
              "zone_data.get"
            ],
            [
              "",
              "plan.get.lower"
            ],
            [
              "",
              "plan.get"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "since.isoformat"
            ],
            [
              "",
              "until.isoformat"
            ],
            [
              "",
              "self._get_analytics_graphql"
            ],
            [
              "",
              "self._get_analytics_rest"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "since.split"
            ],
            [
              "",
              "until.split"
            ],
            [
              "",
              "requests.post"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._get_analytics_rest"
            ],
            [
              "",
              "response.json"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "e.get"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "data.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "data_obj.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "viewer.get"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "",
              "group.get"
            ],
            [
              "",
              "group.get"
            ],
            [
              "",
              "sum_data.get"
            ],
            [
              "",
              "sum_data.get"
            ],
            [
              "",
              "sum_data.get"
            ],
            [
              "",
              "sum_data.get"
            ],
            [
              "",
              "sum_data.get"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "uniq_data.get"
            ],
            [
              "",
              "datetime.fromisoformat"
            ],
            [
              "",
              "until.rstrip"
            ],
            [
              "",
              "datetime.fromisoformat"
            ],
            [
              "",
              "since.rstrip"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_exception"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._get_analytics_rest"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "self._make_request"
            ],
            [
              "",
              "response.get"
            ],
            [
              "",
              "result.get"
            ],
            [
              "",
              "totals.get.get"
            ],
            [
              "",
              "totals.get"
            ],
            [
              "",
              "totals.get.get"
            ],
            [
              "",
              "totals.get"
            ],
            [
              "",
              "totals.get.get"
            ],
            [
              "",
              "totals.get"
            ],
            [
              "",
              "totals.get.get"
            ],
            [
              "",
              "totals.get"
            ],
            [
              "",
              "totals.get.get"
            ],
            [
              "",
              "totals.get"
            ],
            [
              "",
              "datetime.fromisoformat"
            ],
            [
              "",
              "until.rstrip"
            ],
            [
              "",
              "datetime.fromisoformat"
            ],
            [
              "",
              "since.rstrip"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "log_info"
            ],
            [
              "",
              "log_exception"
            ],
            [
              "",
              "log_error"
            ],
            [
              "",
              "self._create_empty_analytics"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "ic.config.manager",
              "ConfigManager"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "typing",
              "List"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "",
              "common.log"
            ],
            [
              "dataclasses",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "datetime"
            ],
            [
              "datetime",
              "datetime"
            ],
            [
              "",
              "ic.config.manager"
            ],
            [
              "common.log",
              "log_error"
            ],
            [
              "src.common.log",
              "log_error"
            ],
            [
              "common.log",
              "log_exception"
            ],
            [
              "src.common.log",
              "log_exception"
            ],
            [
              "common.log",
              "log_info_non_console"
            ],
            [
              "src.common.log",
              "log_info_non_console"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "requests"
            ],
            [
              "",
              "src.common.log"
            ],
            [
              "",
              "sys"
            ],
            [
              "",
              "time"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "a.strip",
            "account.get",
            "account.get.lower",
            "accounts.extend",
            "accounts_config.split",
            "cf_config.get",
            "config.api_token",
            "config.email",
            "config.get",
            "config_manager.load_all_configs",
            "data.errors",
            "data.get",
            "data_obj.get",
            "datetime.fromisoformat",
            "e.get",
            "error_data.get",
            "filter_term.lower",
            "filtered_accounts.append",
            "filtered_zones.append",
            "group.get",
            "kwargs.params",
            "os.path",
            "os.path.dirname",
            "os.path.join",
            "plan.get",
            "plan.get.lower",
            "records.extend",
            "requests.exceptions",
            "requests.exceptions.ConnectionError",
            "requests.exceptions.RequestException",
            "requests.exceptions.Timeout",
            "requests.post",
            "requests.request",
            "response.content",
            "response.get",
            "response.headers",
            "response.headers.get",
            "response.json",
            "response.ok",
            "response.status_code",
            "response.text",
            "response_data.get",
            "result.get",
            "result_info.get",
            "rules.extend",
            "self.API_ENDPOINT",
            "self.DEFAULT_PER_PAGE",
            "self.DEFAULT_TIMEOUT",
            "self._create_empty_analytics",
            "self._get_analytics_graphql",
            "self._get_analytics_rest",
            "self._make_request",
            "self.config",
            "self.headers",
            "self.retry_after",
            "since.isoformat",
            "since.rstrip",
            "since.split",
            "sum_data.get",
            "super.__init__",
            "sys.path",
            "sys.path.insert",
            "time.time",
            "totals.get",
            "totals.get.get",
            "uniq_data.get",
            "until.isoformat",
            "until.rstrip",
            "until.split",
            "viewer.get",
            "z.strip",
            "zone.get",
            "zone.get.lower",
            "zone_data.get",
            "zone_response.get",
            "zones.extend",
            "zones_config.split"
          ],
          "tgt": [
            "AuthenticationError",
            "CloudFlareAPIError",
            "NetworkError",
            "RateLimitError",
            "a.strip",
            "account.get",
            "account.get.lower",
            "accounts.extend",
            "accounts_config.split",
            "any",
            "cf_config.get",
            "cls",
            "config.get",
            "config_manager.load_all_configs",
            "data.get",
            "data_obj.get",
            "datetime.fromisoformat",
            "e.get",
            "error_data.get",
            "filter_term.lower",
            "filtered_accounts.append",
            "filtered_zones.append",
            "group.get",
            "int",
            "isinstance",
            "len",
            "log_error",
            "log_exception",
            "log_info",
            "max",
            "os.path.dirname",
            "os.path.join",
            "plan.get",
            "plan.get.lower",
            "records.extend",
            "requests.post",
            "requests.request",
            "response.get",
            "response.headers.get",
            "response.json",
            "response_data.get",
            "result.get",
            "result_info.get",
            "rules.extend",
            "self._create_empty_analytics",
            "self._get_analytics_graphql",
            "self._get_analytics_rest",
            "self._make_request",
            "since.isoformat",
            "since.rstrip",
            "since.split",
            "str",
            "sum_data.get",
            "super",
            "super.__init__",
            "sys.path.insert",
            "time.time",
            "totals.get",
            "totals.get.get",
            "uniq_data.get",
            "until.isoformat",
            "until.rstrip",
            "until.split",
            "viewer.get",
            "z.strip",
            "zone.get",
            "zone.get.lower",
            "zone_data.get",
            "zone_response.get",
            "zones.extend",
            "zones_config.split"
          ],
          "funcs": [
            [
              "__init__",
              1225
            ],
            [
              "from_config_manager",
              1711
            ],
            [
              "__init__",
              3491
            ],
            [
              "_make_request",
              4266
            ],
            [
              "get_accounts",
              8599
            ],
            [
              "get_zones",
              10566
            ],
            [
              "get_dns_records",
              12624
            ],
            [
              "get_firewall_rules",
              13896
            ],
            [
              "get_page_rules",
              15186
            ],
            [
              "get_analytics",
              16439
            ],
            [
              "_get_analytics_graphql",
              18908
            ],
            [
              "_get_analytics_rest",
              25159
            ],
            [
              "_create_empty_analytics",
              28504
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 12,
              "op.div": 6,
              "op.lor": 1,
              "op.mod": 1,
              "op.sub": 3,
              "op.land": 5,
              "max_depth": 19,
              "call_count": 212,
              "node_count": 5406,
              "member_count": 77,
              "op_density.add": 0,
              "op_density.div": 0,
              "op_density.lor": 0,
              "op_density.mod": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "max_array_length": 3,
              "max_concat_chain": 2,
              "max_member_depth": 3,
              "max_numeric_array": 2,
              "infinite_loop_count": 5
            },
            "file": {
              "size": 29184,
              "entropy": 4.27
            },
            "text": {
              "lines": 786,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 9859,
              "char_entropy": 4.27,
              "unique_chars": 87,
              "top_char_null": 0,
              "import_density": 2.93,
              "string_density": 0.28,
              "top_char_ratio": 0.07,
              "avg_line_length": 36.13,
              "max_line_length": 135,
              "empty_line_ratio": 0.2,
              "last_line_length": 9,
              "whitespace_ratio": 0.36,
              "identifier_density": 1.25,
              "line_length_stddev": 26.04,
              "max_whitespace_run": 5,
              "encoded_string_ratio": 0.01,
              "normalized_import_count": 0.82,
              "normalized_string_count": 7.95,
              "repeated_char_sequences": 436,
              "suspicious_string_ratio": 0,
              "normalized_function_count": 0.46,
              "trailing_whitespace_lines": 141,
              "imports_to_functions_ratio": 1.77,
              "strings_to_functions_ratio": 17.15,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 17.15,
              "identifiers_to_functions_ratio": 12.69
            },
            "binds": {
              "count": 128
            },
            "binary": {
              "peak_region_bytes": 9216,
              "peak_region_entropy": 4.67
            },
            "source": {
              "class_count": 6,
              "function_count": 12
            },
            "imports": {
              "count": 23,
              "aliased": 2,
              "stdlib_count": 7,
              "stdlib_ratio": 0.3,
              "third_party_count": 16,
              "third_party_ratio": 0.7
            },
            "strings": {
              "sql": 1,
              "bytes": 10372,
              "count": 223,
              "url_count": 2,
              "very_long": 1,
              "avg_length": 46.51,
              "max_length": 1066,
              "path_count": 7,
              "avg_entropy": 3.06,
              "empty_count": 8,
              "entropy_stddev": 1.26,
              "base64_candidates": 2
            },
            "comments": {
              "chars": 1728,
              "count": 52,
              "lines": 52,
              "to_code_ratio": 0.07
            },
            "functions": {
              "count": 18,
              "density": 1.65,
              "avg_params": 3.08,
              "code_ratio": 0.89,
              "max_params": 5,
              "length_stddev": 38.96,
              "over_100_lines": 2,
              "avg_name_length": 14.85,
              "avg_length_lines": 53.69,
              "max_length_lines": 157,
              "min_length_lines": 3,
              "high_entropy_names": 2,
              "avg_param_name_length": 6.58
            },
            "identifiers": {
              "count": 980,
              "unique": 165,
              "avg_length": 9.18,
              "max_length": 23,
              "min_length": 1,
              "avg_entropy": 2.61,
              "reuse_ratio": 0.17,
              "length_stddev": 4.76,
              "sequential_names": 3,
              "single_char_count": 3,
              "single_char_ratio": 0.02,
              "high_entropy_count": 8,
              "high_entropy_ratio": 0.05,
              "all_lowercase_ratio": 0.88,
              "all_uppercase_ratio": 0.02,
              "double_underscore_count": 2,
              "underscore_prefix_count": 6
            }
          }
        },
        "id": 103,
        "mol": "H₃(Cm₁₅Db₄Os)Md₂(In₂)",
        "path": "ic_code-1.5.3-py3-none-any.whl!!ic/platforms/cloudflare/client.py",
        "pid": 0,
        "risk": 9,
        "sha": "53282001b962ba21711b94c8488d42830e04d1fe6afbd799c6cb208f17ea5def",
        "size": 29184,
        "traits": [
          {
            "id": "metadata/file/profile/markup::reference-guide-target-placeholder",
            "conf": 0.97,
            "crit": 3,
            "desc": "Example uses a placeholder target or callback",
            "spans": [
              [
                3377,
                12
              ]
            ]
          },
          {
            "id": "metadata/import/python/os::os",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports os",
            "spans": [
              [
                555,
                2
              ]
            ]
          },
          {
            "id": "metadata/import/python/requests::requests",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports requests",
            "spans": [
              [
                244,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/dns/zone-edit::dns-records-api-path",
            "conf": 0.93,
            "crit": 3,
            "desc": "DNS records API path",
            "spans": [
              [
                13126,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::auth-header",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.5,
            "crit": 3,
            "desc": "Authorization header-name literal",
            "spans": [
              [
                3806,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::authorization-header-map-entry",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.88,
            "crit": 3,
            "desc": "Defines an HTTP Authorization header mapping",
            "spans": [
              [
                3805,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/authorization-header::bearer-prefix",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "HTTP Bearer authorization header prefix",
            "spans": [
              [
                3806,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::python-response-body-member-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "Python response body member access",
            "spans": [
              [
                6869,
                8
              ],
              [
                6878,
                7
              ],
              [
                7075,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::requests-response-body-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Reads a requests response body",
            "uses": [
              2,
              7,
              12,
              14
            ],
            "spans": [
              [
                244,
                8
              ],
              [
                5520,
                16
              ],
              [
                6869,
                8
              ],
              [
                6878,
                7
              ],
              [
                7075,
                4
              ],
              [
                20649,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::json-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "References HTTP Content-Type application/json",
            "spans": [
              [
                3865,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::python-json-content-type",
            "conf": 0.94,
            "crit": 3,
            "desc": "JSON Content-Type mapping in Python source",
            "spans": [
              [
                3865,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/retry-after::retry-after-header-name-reference",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "References the Retry-After header name",
            "spans": [
              [
                6052,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/requests::requests-request",
            "conf": 0.85,
            "crit": 3,
            "desc": "Calls requests.request in Python",
            "spans": [
              [
                5520,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::http-post-client-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.85,
            "crit": 3,
            "desc": "HTTP POST client call",
            "spans": [
              [
                20649,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::requests-post",
            "conf": 0.85,
            "crit": 3,
            "desc": "Calls requests.post() in Python",
            "spans": [
              [
                20649,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/body::client-payload-argument",
            "conf": 0.86,
            "crit": 3,
            "desc": "HTTP client call supplies a payload argument",
            "spans": [
              [
                20649,
                108
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/json::requests-post-json-payload",
            "conf": 0.85,
            "crit": 3,
            "desc": "Sends JSON with Python requests.post()",
            "spans": [
              [
                20649,
                103
              ],
              [
                20658,
                4
              ],
              [
                20752,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::http-status-unauthorized-check",
            "conf": 0.85,
            "crit": 3,
            "desc": "Checks HTTP 401 or 403 response status",
            "spans": [
              [
                6429,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::rate-limit-header-handling",
            "mbc": "C0002",
            "conf": 0.93,
            "crit": 3,
            "desc": "Recognizes HTTP 429 and Retry-After",
            "uses": [
              11,
              19
            ],
            "spans": [
              [
                5977,
                18
              ],
              [
                6052,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::source-http-429-status",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Source checks for HTTP 429 rate-limit response",
            "spans": [
              [
                5977,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/services/cloudflare::cloudflare-api-host",
            "conf": 0.86,
            "crit": 3,
            "desc": "Cloudflare API host reference",
            "spans": [
              [
                3401,
                18
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/token-auth::bearer-header-from-variable",
            "conf": 0.94,
            "crit": 3,
            "desc": "Builds Bearer authorization header from variable",
            "spans": [
              [
                3806,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/endpoint::accounts-endpoint-path",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.75,
            "crit": 3,
            "desc": "Accounts endpoint path",
            "spans": [
              [
                9171,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/query::interpolated-identifier-query-value",
            "conf": 0.9,
            "crit": 3,
            "desc": "URL query interpolates an identifier value",
            "spans": [
              [
                9180,
                12
              ],
              [
                11235,
                36
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/scheme::http-url-literal",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                3393,
                36
              ],
              [
                20580,
                44
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/collection/map::mapping-get-message-key",
            "conf": 0.9,
            "crit": 3,
            "desc": "Python message-key lookup",
            "spans": [
              [
                6997,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::network-error-handler",
            "mbc": "C0027",
            "conf": 0.94,
            "crit": 3,
            "desc": "Handles HTTP, URL or connection errors",
            "spans": [
              [
                8173,
                42
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::python-import-error-handler",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 3,
            "desc": "Handles a missing-module ImportError",
            "spans": [
              [
                416,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::script-account-collection-loop",
            "conf": 0.9,
            "crit": 3,
            "desc": "Script loops over account collection",
            "spans": [
              [
                10060,
                103
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/parse/json::python-json-body-method-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Calls a JSON body reader method",
            "spans": [
              [
                6850,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/location::home-hidden-dotdir-ref",
            "conf": 0.6,
            "crit": 3,
            "desc": "Home-relative hidden directory path literal",
            "spans": [
              [
                4157,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/module/search-path::sys-path-mutate",
            "conf": 0.86,
            "crit": 3,
            "desc": "Modifies module search path (sys.path)",
            "spans": [
              [
                566,
                15
              ]
            ]
          },
          {
            "id": "metadata/import/python/common/log/log_error::log_error",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_error from common.log",
            "spans": [
              [
                873,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/common/log/log_exception::log_exception",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_exception from common.log",
            "spans": [
              [
                884,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/common/log/log_info_non_console::log_info",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_info_non_console from common.log as log_info",
            "spans": [
              [
                839,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/common/log::common/log",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports common.log",
            "spans": [
              [
                821,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/dataclasses/dataclass::dataclass",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports dataclass from dataclasses",
            "spans": [
              [
                322,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/dataclasses::dataclasses",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports dataclasses",
            "spans": [
              [
                303,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime from datetime",
            "spans": [
              [
                353,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime",
            "spans": [
              [
                337,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/ic/config/manager/configmanager::configmanager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ConfigManager from ic.config.manager",
            "spans": [
              [
                402,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/ic/config/manager::ic/config/manager",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ic.config.manager",
            "spans": [
              [
                377,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/src/common/log/log_error::log_error",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_error from src.common.log",
            "spans": [
              [
                767,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/src/common/log/log_exception::log_exception",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_exception from src.common.log",
            "spans": [
              [
                778,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/src/common/log/log_info_non_console::log_info",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports log_info_non_console from src.common.log as log_info",
            "spans": [
              [
                733,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/src/common/log::src/common/log",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports src.common.log",
            "spans": [
              [
                711,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/sys::sys",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports sys",
            "spans": [
              [
                536,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/time::time",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports time",
            "spans": [
              [
                232,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                278,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                272,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                293,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                283,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                258,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/analysis::while-loop",
            "conf": 0.3,
            "crit": 2,
            "desc": "While-loop control flow",
            "spans": [
              [
                9117,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-transfer-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-transfer verb token",
            "spans": [
              [
                20658,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                575,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::secret-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Secret-data term token",
            "spans": [
              [
                3661,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::sensitive-target-term-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Secret, security, or environment terminology",
            "uses": [
              56
            ],
            "spans": [
              [
                3661,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                16690,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                121,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                166,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                84,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                9663,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                24899,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 232,
        "sha": "0de891feccf24d9640fae5c20dd5cc086d006d7236613fa705287b87b0bc5740",
        "path": "ic-code@1.5.3.registry.json",
        "size": 858,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 1,
    "v": "8"
  }
}