Returning 10 result(s) out of 1,076,627 in 0.280 second(s)

  • 38.181.163.206:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:33 UTC

    • IP
      38.181.163.206
      Network
      38.181.128.0/17
      Device

      <enterprise field>: device.class

      Operating System
      Microsoft Windows
      URL

      http://38.181.163.206:8090/ 301

      ASN
      AS135357
      Organization
      HONG KONG KOWLOON TELECOMMUNICATIONS CO.,LIMITED
      Protocol
      http
      Source
      datascan
    • Operating System
      Microsoft Windows
      Product
      LiteSpeed Technologies LiteSpeed
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      dfb64e23eb5adf0238e130a67e3208c4
      HTTP Header MD5
      b85dc86746cabee8244b96bd7002f09f
      HTTP Body MD5
      d41d8cd98f00b204e9800998ecf8427e
    • HTTP/1.0 301 Moved Permanently
      Location: https://<ip>:8090/
      Cache-Control: private, no-cache, max-age=0
      Pragma: no-cache
      Server:LiteSpeed
      Content-Length: 0
      Connection: Close
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:33.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "d41d8cd98f00b204e9800998ecf8427e",
               "bodymmh3" : -1,
               "headermd5" : "b85dc86746cabee8244b96bd7002f09f",
               "headermmh3" : 472305725
            },
            "length" : 183
         },
         "asn" : "AS135357",
         "country" : "US",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.0 301 Moved Permanently\r\nLocation: https://<ip>:8090/\r\nCache-Control: private, no-cache, max-age=0\r\nPragma: no-cache\r\nServer:LiteSpeed\r\nContent-Length: 0\r\nConnection: Close\r\n\r\n",
         "datamd5" : "dfb64e23eb5adf0238e130a67e3208c4",
         "datammh3" : 2013120001,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS135357",
            "continent" : "NA",
            "continentname" : "North America",
            "country" : "US",
            "countryname" : "United States",
            "domain" : [
               "cogentco.com"
            ],
            "isineu" : "false",
            "latitude" : "37.09024",
            "location" : "37.09024,-95.712891",
            "longitude" : "-95.712891",
            "netname" : "ZHAOHENG-TECH-CGNT-NET-1",
            "organization" : "PSINet, Inc.",
            "subnet" : "38.181.128.0/17"
         },
         "ip" : "38.181.163.206",
         "ipv6" : "false",
         "latitude" : "37.7510",
         "location" : "37.7510,-97.8220",
         "longitude" : "-97.8220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "HONG KONG KOWLOON TELECOMMUNICATIONS CO.,LIMITED",
         "os" : "Windows",
         "osvendor" : "Microsoft",
         "port" : 8090,
         "product" : "LiteSpeed",
         "productvendor" : "LiteSpeed Technologies",
         "protocol" : "http",
         "protocolversion" : "1.0",
         "reason" : "Moved Permanently",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 301,
         "subnet" : "38.181.128.0/17",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 107.154.247.124:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:27 UTC

    • IP
      107.154.247.124
      Network
      107.154.240.0/21
      Domain(s)
      incapdns.net
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://107.154.247.124:8090/ 503

      Reverse DNS
      107.154.247.124.ip.incapdns.net
      ASN
      AS19551
      Organization
      INCAPSULA
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      a2fa3d0ce6e39e24463e027e5db61886
      HTTP Header MD5
      14e2c45e29072b216d5e633ed1d87bbd
      HTTP Body MD5
      5ee35baf5266c910a78285e416d0c267
    • HTTP/1.1 503 Service Unavailable
      Content-Type: text/html
      Cache-Control: no-cache, no-store
      Connection: close
      Content-Length: 685
      X-Iinfo: 25-6541992-0 0NNN RT(1732184487191 7) q(0 -1 -1 -1) r(0 -1)
      
      <html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></head><body style="margin:0px;height:100%"><iframe id="main-iframe" src="/_Incapsula_Resource?CWUDNSAI=5&xinfo=25-6541992-0%200NNN%20RT%281732184487191%207%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29&incident_id=0-39175247231059673&edet=22&cinfo=ffffffff&rpinfo=0&mth=GET" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 0-39175247231059673</iframe></body></html>
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:27.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "5ee35baf5266c910a78285e416d0c267",
               "bodymmh3" : -1061839086,
               "headermd5" : "14e2c45e29072b216d5e633ed1d87bbd",
               "headermmh3" : -1233906070
            },
            "length" : 891
         },
         "asn" : "AS19551",
         "country" : "US",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 503 Service Unavailable\r\nContent-Type: text/html\r\nCache-Control: no-cache, no-store\r\nConnection: close\r\nContent-Length: 685\r\nX-Iinfo: 25-6541992-0 0NNN RT(1732184487191 7) q(0 -1 -1 -1) r(0 -1)\r\n\r\n<html style=\"height:100%\"><head><META NAME=\"ROBOTS\" CONTENT=\"NOINDEX, NOFOLLOW\"><meta name=\"format-detection\" content=\"telephone=no\"><meta name=\"viewport\" content=\"initial-scale=1.0\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\"></head><body style=\"margin:0px;height:100%\"><iframe id=\"main-iframe\" src=\"/_Incapsula_Resource?CWUDNSAI=5&xinfo=25-6541992-0%200NNN%20RT%281732184487191%207%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29&incident_id=0-39175247231059673&edet=22&cinfo=ffffffff&rpinfo=0&mth=GET\" frameborder=0 width=\"100%\" height=\"100%\" marginheight=\"0px\" marginwidth=\"0px\">Request unsuccessful. Incapsula incident ID: 0-39175247231059673</iframe></body></html>",
         "datamd5" : "a2fa3d0ce6e39e24463e027e5db61886",
         "datammh3" : -1273780739,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "domain" : [
            "incapdns.net"
         ],
         "geolocus" : {
            "asn" : "AS19551",
            "continent" : "NA",
            "continentname" : "North America",
            "country" : "US",
            "countryname" : "United States",
            "domain" : [
               "imperva.com",
               "incapdns.net",
               "incapsula.com",
               "thalesgroup.com"
            ],
            "isineu" : "false",
            "latitude" : "37.09024",
            "location" : "37.09024,-95.712891",
            "longitude" : "-95.712891",
            "netname" : "INCAPSULA-NETWORK",
            "organization" : "Incapsula Inc",
            "subnet" : "107.154.247.0/24"
         },
         "host" : [
            107
         ],
         "hostname" : [
            "107.154.247.124.ip.incapdns.net"
         ],
         "ip" : "107.154.247.124",
         "ipv6" : "false",
         "latitude" : "37.7510",
         "location" : "37.7510,-97.8220",
         "longitude" : "-97.8220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "INCAPSULA",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Service Unavailable",
         "reverse" : [
            "107.154.247.124.ip.incapdns.net"
         ],
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 503,
         "subdomains" : [
            "124.ip.incapdns.net",
            "154.247.124.ip.incapdns.net",
            "247.124.ip.incapdns.net",
            "ip.incapdns.net"
         ],
         "subnet" : "107.154.240.0/21",
         "tag" : "<enterprise field>: tag",
         "tld" : [
            "net"
         ],
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 203.59.225.195:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:26 UTC

    • IP
      203.59.225.195
      Network
      203.59.224.0/20
      Domain(s)
      iinet.net.au
      Device

      <enterprise field>: device.class

      URL

      http://203.59.225.195:8090/ 401

      Reverse DNS
      203-59-225-195.perm.iinet.net.au
      ASN
      AS4739
      Organization
      Internode Pty Ltd
      Protocol
      http
      Source
      datascan
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      38eed32ad10fed1254e1bd3e26c1a504
      HTTP Header MD5
      6069b3b26e40e6c4b3fd262e63fe64fc
      HTTP Body MD5
      d283558feba8498f3529d9ba0a2bc01e
    • HTTP/1.1 401 Unauthorized
      WWW-Authenticate: Basic realm="Protected"
      Connection: close
      
      401 Unauthorized: Password required
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:26.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "d283558feba8498f3529d9ba0a2bc01e",
               "bodymmh3" : -1289786505,
               "headermd5" : "6069b3b26e40e6c4b3fd262e63fe64fc",
               "headermmh3" : 410061851,
               "realm" : "Protected"
            },
            "length" : 128
         },
         "asn" : "AS4739",
         "city" : "Perth",
         "country" : "AU",
         "data" : "HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: Basic realm=\"Protected\"\r\nConnection: close\r\n\r\n401 Unauthorized: Password required\r\n",
         "datamd5" : "38eed32ad10fed1254e1bd3e26c1a504",
         "datammh3" : -2082261978,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "domain" : [
            "iinet.net.au"
         ],
         "geolocus" : {
            "asn" : "AS4739",
            "continent" : "OC",
            "continentname" : "Oceania",
            "country" : "AU",
            "countryname" : "Australia",
            "domain" : [
               "iinet.net.au"
            ],
            "isineu" : "false",
            "latitude" : "-25.274398",
            "location" : "-25.274398,133.775136",
            "longitude" : "133.775136",
            "netname" : "IINET-AU",
            "organization" : "iiNet Limited",
            "subnet" : "203.59.224.0/20"
         },
         "host" : [
            "203-59-225-195"
         ],
         "hostname" : [
            "203-59-225-195.perm.iinet.net.au"
         ],
         "ip" : "203.59.225.195",
         "ipv6" : "false",
         "latitude" : "-31.9643",
         "location" : "-31.9643,115.8595",
         "longitude" : "115.8595",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Internode Pty Ltd",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Unauthorized",
         "reverse" : [
            "203-59-225-195.perm.iinet.net.au"
         ],
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 401,
         "subdomains" : [
            "perm.iinet.net.au"
         ],
         "subnet" : "203.59.224.0/20",
         "tag" : "<enterprise field>: tag",
         "tld" : [
            "net.au"
         ],
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 58.34.42.242:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:25 UTC

    • IP
      58.34.42.242
      Network
      58.32.0.0/13
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://58.34.42.242:8090/ 200

      ASN
      AS4812
      Organization
      China Telecom Group
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      F5 Nginx 1.25.1
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      01ea733323f197f3fe056141298b9e4b
      HTTP Header MD5
      f66187b5f1e7c528d6f8a485acbb4b60
      HTTP Body MD5
      c391d9678e487427bf1ffbd6956824fe
    • HTTP/1.1 200 OK
      Server: nginx/1.25.1
      Date: Thu, 21 Nov 2024 10:21:25 GMT
      Content-Type: text/html; charset=utf-8
      Content-Length: 953
      Last-Modified: Sat, 12 Oct 2024 07:38:16 GMT
      Connection: close
      ETag: "670a2768-3b9"
      Accept-Ranges: bytes
      
      <!doctype html><html><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><script src="http://api.map.baidu.com/api?v=3.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI"></script><script src="http://api.map.baidu.com/api?type=webgl&v=1.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI"></script><script src="static/baiduMap/TextIconOverlay.js"></script><script src="static/baiduMap/MarkerClusterer.js"></script><script src="static/baiduMap/NewInfoBox.js"></script><script src="static/baiduMap/NewRichMarker.min.js"></script><script src="static/baiduMap/CurveLine.js"></script><script defer="defer" src="/js/chunk-vendors.79059d6c.js"></script><script defer="defer" src="/js/app.b8682962.js"></script><link href="/css/chunk-vendors.31ccc67f.css" rel="stylesheet"><link href="/css/app.538265c3.css" rel="stylesheet"></head><body><div id="app"></div><style>.el-cascader-node__label {
              width: 50px;
            }</style></body></html>
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:25.000Z",
         "app" : {
            "extract" : {
               "domain" : [
                  "baidu.com"
               ],
               "hostname" : [
                  "api.map.baidu.com"
               ],
               "url" : [
                  "http://api.map.baidu.com/api?type=webgl&v=1.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI",
                  "http://api.map.baidu.com/api?v=3.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI"
               ]
            },
            "http" : {
               "bodymd5" : "c391d9678e487427bf1ffbd6956824fe",
               "bodymmh3" : 1253283322,
               "header" : [
                  {
                     "value" : "Sat, 12 Oct 2024 07:38:16 GMT",
                     "name" : "Last-Modified"
                  },
                  {
                     "name" : "ETag",
                     "value" : "670a2768-3b9"
                  }
               ],
               "headermd5" : "f66187b5f1e7c528d6f8a485acbb4b60",
               "headermmh3" : 1279974012
            },
            "length" : 1201
         },
         "asn" : "AS4812",
         "city" : "Shanghai",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nServer: nginx/1.25.1\r\nDate: Thu, 21 Nov 2024 10:21:25 GMT\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 953\r\nLast-Modified: Sat, 12 Oct 2024 07:38:16 GMT\r\nConnection: close\r\nETag: \"670a2768-3b9\"\r\nAccept-Ranges: bytes\r\n\r\n<!doctype html><html><head><meta charset=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"/><script src=\"http://api.map.baidu.com/api?v=3.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI\"></script><script src=\"http://api.map.baidu.com/api?type=webgl&v=1.0&ak=NUi5LUp0Ls477BWawHL8TyjKlY6EudEI\"></script><script src=\"static/baiduMap/TextIconOverlay.js\"></script><script src=\"static/baiduMap/MarkerClusterer.js\"></script><script src=\"static/baiduMap/NewInfoBox.js\"></script><script src=\"static/baiduMap/NewRichMarker.min.js\"></script><script src=\"static/baiduMap/CurveLine.js\"></script><script defer=\"defer\" src=\"/js/chunk-vendors.79059d6c.js\"></script><script defer=\"defer\" src=\"/js/app.b8682962.js\"></script><link href=\"/css/chunk-vendors.31ccc67f.css\" rel=\"stylesheet\"><link href=\"/css/app.538265c3.css\" rel=\"stylesheet\"></head><body><div id=\"app\"></div><style>.el-cascader-node__label {\n        width: 50px;\n      }</style></body></html>",
         "datamd5" : "01ea733323f197f3fe056141298b9e4b",
         "datammh3" : -1634213262,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS25799",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "chinatelecom.cn",
               "online.sh.cn",
               "shtel.com.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CHINANET-SH",
            "organization" : "CHINANET Shanghai province network",
            "subnet" : "58.34.0.0/16"
         },
         "ip" : "58.34.42.242",
         "ipv6" : "false",
         "latitude" : "31.2222",
         "location" : "31.2222,121.4581",
         "longitude" : "121.4581",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "China Telecom Group",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "product" : "Nginx",
         "productvendor" : "F5",
         "productversion" : "1.25.1",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "OK",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 200,
         "subnet" : "58.32.0.0/13",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 59.110.143.30:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:11 UTC

    • IP
      59.110.143.30
      Network
      59.110.0.0/16
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://59.110.143.30:8090/ 200

      HTTP Title
      蜉蝣的博客
      ASN
      AS37963
      Organization
      Hangzhou Alibaba Advertising Co.,Ltd.
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      074cd6ce0f7c102aa8670567ede58c28
      HTTP Header MD5
      d119588140633475dc5310271d216bad
      HTTP Body MD5
      55e46bc49240c222acde52e8d961b88d
      Favicon MD5
      ce93af9fd5ae70675141660de86e6de9
      Favicon MMH3
      -806667015
    • HTTP/1.1 200 OK
      Vary: Origin
      Vary: Access-Control-Request-Method
      Vary: Access-Control-Request-Headers
      Content-Type: text/html
      Content-Language: en-US
      Cache-Control: no-cache, no-store, max-age=0, must-revalidate
      Pragma: no-cache
      Expires: 0
      X-Content-Type-Options: nosniff
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 0
      Referrer-Policy: strict-origin-when-cross-origin
      set-cookie: XSRF-TOKEN=097a04fa-8dfa-455d-9526-db112cee2cc0; Path=/
      content-length: 89296
      connection: close
      
      <!doctype html>
      <html
        lang="en"
      >
        <head>
          <title>蜉蝣的博客</title>
      
          <meta charset="utf-8" />
          <meta name="renderer" content="webkit" />
          
          <meta name="format-detection" content="telephone=no" />
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <meta http-equiv="Cache-Control" content="no-siteapp" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
          <meta
            name="viewport"
            content="width=device-width, user-scalable=no, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover"
          />
          
          <meta http-equiv="x-dns-prefetch-control" content="on" />
          <meta name="site" content="http://www.fuyou-a.top/" />
          <!-- OG -->
          <meta property="og:image" content="/upload/android_chrome_192.png" />
          <meta property="og:description" content="site.seo.description" />
          <meta property="og:type" content="website" />
          <meta property="og:locale" content="zh_CN" />
          <meta property="og:site_name" content="蜉蝣的博客-Recording..." />
          <meta property="og:url" content="http://www.fuyou-a.top/" />
          <meta property="og:title" content="蜉蝣的博客" />
          <meta property="twitter:partner" content="ogwp" />
          <!-- /OG -->
      
          
          
          <script id="theme-config-getter">
            const ThemeConfig = {
              theme_mode: "user",
              enable_loading_bar: true,
              enable_footer: true,
              footer_position: "none",
              check_baidu_collect: false,
              baidu_token: "",
              enable_back2top: true,
              enable_back2top_smooth: true,
              enable_weather: false,
              weather_key: "",
              link_behavior: "default",
              enable_tag_cloud: true,
              tag_cloud_type: document.getElementById('tags-3d') ? '3d' : 'list',
              enable_fixed_header: true,
              enable_clean_mode: false,
              cursor_effect: "off",
              enable_offscreen_tip: false,
              enable_birthday: false,
              birthday: "2021\/11\/11 06:30",
              light_time_scope: "5:00~19:00",
              enable_console_theme: false,
              version: "1.3.0",
      
              enable_big_banner: true,
              enable_banner: false,
              banner_direction: "horizontal",
              enable_banner_loop: true,
              banner_effect: "slide",
              banner_speed: 500,
              enable_banner_handle: true,
              enable_banner_autoplay: true,
              banner_delay: "3500",
              enable_banner_switch_button: true,
              enable_banner_pagination: true,
              enable_index_list_ajax: false,
              post_index_page_size: false,
              backdrop: "off",
              favicon: "",
              enable_index_list_effect: true,
              index_list_effect_class: "fadeInUp",
              show_loaded_time: false,
              enable_debug: false,
              access_key: false,
              enable_copy: true,
              enable_share: true,
              enable_share_link: true,
              enable_share_weixin: true,
              enable_like: true,
              enable_toc: true,
              enable_progress_bar: true,
              enable_code_expander: false,
              enable_fold_long_code: false,
              enable_comment: true,
              toc_depth: "0",
              enable_code_title: true,
              enable_code_hr: true,
              enable_code_macdot: true,
              enable_code_line_number: false,
              enable_code_newline: false,
              show_tools_when_hover: true,
              enable_code_copy: true,
              enable_copy_right_text: false,
              copy_right_text: "",
              offscreen_title_leave: "\u6B6A\uFF0C\u4F60\u53BB\u54EA\u91CC\u4E86\uFF1F",
              offscreen_title_back: "(\u3064\u30A7\u2282)\u54A6\uFF0C\u53C8\u56DE\u6765\u4E86!",
              enable_journal_effect: true,
              // prettier-ignore
              journal_list_effect_class: "fadeInUp",
              enable_like_journal: true,
              enable_comment_journal: true,
              journal_block_height: "300",
              long_code_height: "800",
              lazyload_avatar: "\/themes\/theme-Joe3\/assets\/svg\/spinner-preloader.svg",
              photos_layout: 'waterfall',
              // prettier-ignore
              blog_url: "http:\/\/www.fuyou-a.top",
              blog_title: "\u8709\u8763\u7684\u535A\u5BA2",
              // prettier-ignore
              BASE_RES_URL: "\/themes\/theme-Joe3",
              BASE_URL: 'https://bbchin.com',
            };
            //转数字
            ThemeConfig.banner_speed = parseInt(ThemeConfig.banner_speed);
            ThemeConfig.banner_delay = parseInt(ThemeConfig.banner_delay);
            ThemeConfig.toc_depth = parseInt(ThemeConfig.toc_depth);
            ThemeConfig.journal_block_height = parseInt(ThemeConfig.journal_block_height);
            ThemeConfig.long_code_height = parseInt(ThemeConfig.long_code_height);
            ThemeConfig.photos_gap = 10;
            ThemeConfig.enable_photos_effect = true;
          </script>
        
          
          
          <script id="compatiable-checker">
            // 兼容性检查
            function detectIE() {
              var n = window.navigator.userAgent,
                e = n.indexOf('MSIE ');
              if (e > 0) {
                return parseInt(n.substring(e + 5, n.indexOf('.', e)), 10);
              }
              if (n.indexOf('Trident/') > 0) {
                var r = n.indexOf('rv:');
                return parseInt(n.substring(r + 3, n.indexOf('.', r)), 10);
              }
              var i = n.indexOf('Edge/');
              return i > 0 && parseInt(n.substring(i + 5, n.indexOf('.', i)), 10);
            }
            detectIE() &&
              (alert('当前站点不支持IE浏览器或您开启了兼容模式,请使用其他浏览器访问或关闭兼容模式。'),
              (location.href = 'https://www.baidu.com'));
          </script>
      
          <script id="theme-config-getter" type="text/javascript">
            if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
              ThemeConfig['mode'] = 'development';
              console.log(ThemeConfig.mode);
            }
      
            if (ThemeConfig.mode === 'development') {
              console.log('Joe3主题配置:', ThemeConfig);
              console.log('资源根路径:', ThemeConfig.BASE_RES_URL);
            }
            // 读取主题模式
            var initThemeMode = function () {
              try {
                var curMode = '';
                if (ThemeConfig.theme_mode === 'auto') {
                  var light_scope = ThemeConfig.light_time_scope.split('~');
                  var now = new Date();
                  var today = now.toLocaleString().split(' ')[0];
                  var curMode =
                    now >= new Date(today + ' ' + light_scope[0]) &&
                    now <= new Date(today + ' ' + light_scope[1])
                      ? 'light'
                      : 'dark';
                  localStorage.removeItem('data-mode');
                } else if (ThemeConfig.theme_mode === 'user') {
                  // 用户模式下优先从本地取主题模式,默认为浅色
                  curMode = localStorage.getItem('data-mode') || 'light';
                  localStorage.setItem('data-mode', curMode);
                } else {
                  // 非用户模式下直接取后台配置的模式
                  curMode = ThemeConfig.theme_mode;
                  localStorage.removeItem('data-mode');
                }
                document.querySelector('html').setAttribute('data-mode', curMode);
              } catch (e) {
                console.log(e);
              }
            };
            initThemeMode();
            window.Joe = {
              BASE_API: '',
              isMobile: /windows phone|iphone|android/gi.test(window.navigator.userAgent),
              bloggerGenerateAvatarOpts: (function () {
                let generateAvatarOpts = {};
                let generate_avatar_opts_str = '{bgColor:&#39;&#39;,textColor:&#39;&#39;,useTextGradient:false}';
                if (generate_avatar_opts_str) {
                  // generate_avatar_opts_str 示例:{bgColor:'',textColor:'',useTextGradient:false}, 解析 generate_avatar_opts 配置
                  try {
                    // 防止 &#39; 等特殊字符导致 JSON 解析失败
                    const eleTmp = document.createElement('div');
                    eleTmp.innerHTML = generate_avatar_opts_str;
                    // key 自动加上 "" 防止报错,’ 自动转成 “
                    generate_avatar_opts_str = eleTmp.innerHTML
                      .replace(/'/g, '"')
                      .replace(/([\w]+):/g, '"$1":');
                    generateAvatarOpts = JSON.parse(generate_avatar_opts_str);
                  } catch (e) {
                    console.error(
                      'Joe3主题配置:生成文字性头像的配置解析失败,使用默认配置。generate_avatar_opts_str:',
                      generate_avatar_opts_str,
                      ' ,error:',
                      e
                    );
                  }
                }
                return generateAvatarOpts;
              })(),
              errorImg: function (target, src) {
                const targetSrc = target.getAttribute('src');
                console.log(
                  '加载图片失败',
                  ' ,srcArg:',
                  src,
                  ' .target.src:',
                  targetSrc,
                  ' ,target.alt:',
                  target.getAttribute('alt'),
                  ' ,target.dataset.errSrc:',
                  target.dataset.errSrc,
                  ' ,target.dataset.textAvatar:',
                  target.dataset.textAvatar
                );
      
                let generatedTextAvatar;
                let generatedTextAvatarBase64;
      
                switch (src) {
                  case 'HomeErrImg': {
                    // 如果 src 是 HomeErrImg 则使用首页配置里配置的文章错误缺省图
                    src = '/themes/theme-Joe3/assets/img/default_thumbnail.png';
                    break;
                  }
                  case 'LinksErrImg': {
                    // 如果 src 是 LinksErrImg 则使用友链配置里配置的友链默认 logo
                    src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';
                    if (
                      !src ||
                      src === targetSrc ||
                      (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)
                    ) {
                      if (target.dataset.textAvatar || target.getAttribute('alt')) {
                        generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
                        generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
                        src = generatedTextAvatarBase64;
                      } else {
                        src = '/themes/theme-Joe3/assets/img/default_links_logo.png';
                      }
                    }
                    break;
                  }
                  case 'ErrAvatarImg': {
                    // 如果 src 是 ErrAvatarImg 则使用博主配置里配置的默认头像
                    src = target.dataset.errSrc || '/upload/Quicker_20240719_192526.png';
                    if (
                      !src ||
                      src === targetSrc ||
                      (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)
                    ) {
                      if (target.dataset.textAvatar || target.getAttribute('alt')) {
                        generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
                        generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
                        src = generatedTextAvatarBase64;
                      } else {
                        src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';
                      }
                    }
                    break;
                  }
                  case 'LoadFailedImg': {
                    // 如果 src 是 LoadFailedImg 则使用加载失败的图片
                    src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/img_load_failed.jpg';
                    break;
                  }
                }
      
                const nowSrc = src || target.dataset.errSrc || '/themes/theme-Joe3/assets/img/Joe3.png';
                if (targetSrc === nowSrc) return;
      
                if (
                  generatedTextAvatarBase64 &&
                  generatedTextAvatar &&
                  nowSrc === generatedTextAvatarBase64
                ) {
                  target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
                } else if (target.getAttribute('data-generated-text-avatar')) {
                  target.removeAttribute('data-generated-text-avatar');
                }
      
                console.log(
                  '加载图片失败,使用默认图片:',
                  nowSrc,
                  ' ,oldSrc:',
                  targetSrc,
                  ' ,target.alt:',
                  target.getAttribute('alt')
                );
                target.setAttribute('onerror', null);
                target.setAttribute('src', nowSrc);
              },
              // 已经加载 transparent-placeholder.png 后替换图片
              loadedPlaceholderReplaceImg: function (target, src) {
                const targetSrc = target.getAttribute('src');
                if (
                  !targetSrc ||
                  src === targetSrc ||
                  targetSrc.indexOf('/assets/img/transparent-placeholder.png') === -1
                ) {
                  return;
                }
      
                console.log(
                  '加载图片 transparent-placeholder.png 后替换图片',
                  ' ,srcArg:',
                  src,
                  ' ,target.alt:',
                  target.getAttribute('alt'),
                  ' ,target.dataset.replaceSrc:',
                  target.dataset.replaceSrc,
                  ' ,target.dataset.textAvatar:',
                  target.dataset.textAvatar
                );
      
                let generatedTextAvatar;
                let generatedTextAvatarBase64;
      
                switch (src) {
                  case 'LinksImg': {
                    // 如果 src 是 LinksImg 则使用友链配置里配置的友链默认 logo
                    src = target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';
                    if (!src || src === targetSrc) {
                      if (target.dataset.textAvatar || target.getAttribute('alt')) {
                        generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
                        generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
                        src = generatedTextAvatarBase64;
                      } else {
                        src = '/themes/theme-Joe3/assets/img/default_links_logo.png';
                      }
                    }
                    break;
                  }
                  case 'AvatarImg': {
                    // 如果 src 是 AvatarImg 则使用博主配置里配置的默认头像
                    src = target.dataset.replaceSrc || '/upload/Quicker_20240719_192526.png';
                    if (!src || src === targetSrc) {
                      if (target.dataset.textAvatar || target.getAttribute('alt')) {
                        generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');
                        target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
                        generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);
                        src = generatedTextAvatarBase64;
                      } else {
                        src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';
                      }
                    }
                    break;
                  }
                }
      
                const nowSrc =
                  src || target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/Joe3.png';
                if (targetSrc === nowSrc) return;
      
                if (
                  generatedTextAvatarBase64 &&
                  generatedTextAvatar &&
                  nowSrc === generatedTextAvatarBase64
                ) {
                  target.setAttribute('data-generated-text-avatar', generatedTextAvatar);
                } else if (target.getAttribute('data-generated-text-avatar')) {
                  target.removeAttribute('data-generated-text-avatar');
                }
      
                console.log('加载替换后的图片:', nowSrc, ' ,target.alt:', target.getAttribute('alt'));
                target.setAttribute('onload', null);
                target.setAttribute('src', nowSrc);
              },
              replaceAllTextAvatarImage: function () {
                console.log('call replaceAllTextAvatarImage');
                const generatedEles = document.querySelectorAll('img[data-generated-text-avatar]');
                generatedEles.forEach(function (ele) {
                  const generatedTextAvatar = ele.getAttribute('data-generated-text-avatar');
                  const generatedTextAvatarBase64 = Joe.generateTex
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:11.000Z",
         "app" : {
            "extract" : {
               "domain" : [
                  "bbchin.com",
                  "baidu.com",
                  "fuyou-a.top"
               ],
               "hostname" : [
                  "bbchin.com",
                  "www.baidu.com",
                  "www.fuyou-a.top"
               ],
               "ip" : [
                  "127.0.0.1"
               ],
               "url" : [
                  "http://www.fuyou-a.top/",
                  "https://bbchin.com",
                  "https://www.baidu.com"
               ]
            },
            "favicon" : {
               "image" : "PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgPHRpdGxlPuacquaJvuWIsOaCqOimgeeahOi1hOa6kCAtIOicieido+eahOWNmuWuojwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJyZW5kZXJlciIgY29udGVudD0id2Via2l0IiAvPgogICAgCiAgICA8bWV0YSBuYW1lPSJmb3JtYXQtZGV0ZWN0aW9uIiBjb250ZW50PSJ0ZWxlcGhvbmU9bm8iIC8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDYWNoZS1Db250cm9sIiBjb250ZW50PSJuby1zaXRlYXBwIiAvPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlLCBjaHJvbWU9MSIgLz4KICAgIDxtZXRhCiAgICAgIG5hbWU9InZpZXdwb3J0IgogICAgICBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIHVzZXItc2NhbGFibGU9bm8sIGluaXRpYWwtc2NhbGU9MS4wLCBzaHJpbmstdG8tZml0PW5vLCB2aWV3cG9ydC1maXQ9Y292ZXIiCiAgICAvPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IiR7bWV0YV9rZXl3b3JkcyF9IiAvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiR7bWV0YV9kZXNjcmlwdGlvbiF9IiAvPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSIke3VzZXIubmlja25hbWUhfSIgLz4KICAgIDxtZXRhIG5hbWU9InNpdGUiIGNvbnRlbnQ9IiR7YmxvZ191cmwhfSIgLz4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgc2l6ZT0iMzJ4MzIiIGhyZWY9IiR7b3B0aW9ucy5ibG9nX2Zhdmljb24hfSIgLz4KICAgIAogICAgCiAgICA8c2NyaXB0IGlkPSJ0aGVtZS1jb25maWctZ2V0dGVyIj4KICAgICAgY29uc3QgVGhlbWVDb25maWcgPSB7CiAgICAgICAgdGhlbWVfbW9kZTogInVzZXIiLAogICAgICAgIGVuYWJsZV9sb2FkaW5nX2JhcjogdHJ1ZSwKICAgICAgICBlbmFibGVfZm9vdGVyOiB0cnVlLAogICAgICAgIGZvb3Rlcl9wb3NpdGlvbjogIm5vbmUiLAogICAgICAgIGNoZWNrX2JhaWR1X2NvbGxlY3Q6IGZhbHNlLAogICAgICAgIGJhaWR1X3Rva2VuOiAiIiwKICAgICAgICBlbmFibGVfYmFjazJ0b3A6IHRydWUsCiAgICAgICAgZW5hYmxlX2JhY2sydG9wX3Ntb290aDogdHJ1ZSwKICAgICAgICBlbmFibGVfd2VhdGhlcjogZmFsc2UsCiAgICAgICAgd2VhdGhlcl9rZXk6ICIiLAogICAgICAgIGxpbmtfYmVoYXZpb3I6ICJkZWZhdWx0IiwKICAgICAgICBlbmFibGVfdGFnX2Nsb3VkOiB0cnVlLAogICAgICAgIHRhZ19jbG91ZF90eXBlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFncy0zZCcpID8gJzNkJyA6ICdsaXN0JywKICAgICAgICBlbmFibGVfZml4ZWRfaGVhZGVyOiB0cnVlLAogICAgICAgIGVuYWJsZV9jbGVhbl9tb2RlOiBmYWxzZSwKICAgICAgICBjdXJzb3JfZWZmZWN0OiAib2ZmIiwKICAgICAgICBlbmFibGVfb2Zmc2NyZWVuX3RpcDogZmFsc2UsCiAgICAgICAgZW5hYmxlX2JpcnRoZGF5OiBmYWxzZSwKICAgICAgICBiaXJ0aGRheTogIjIwMjFcLzExXC8xMSAwNjozMCIsCiAgICAgICAgbGlnaHRfdGltZV9zY29wZTogIjU6MDB+MTk6MDAiLAogICAgICAgIGVuYWJsZV9jb25zb2xlX3RoZW1lOiBmYWxzZSwKICAgICAgICB2ZXJzaW9uOiAiMS4zLjAiLAoKICAgICAgICBlbmFibGVfYmlnX2Jhbm5lcjogdHJ1ZSwKICAgICAgICBlbmFibGVfYmFubmVyOiBmYWxzZSwKICAgICAgICBiYW5uZXJfZGlyZWN0aW9uOiAiaG9yaXpvbnRhbCIsCiAgICAgICAgZW5hYmxlX2Jhbm5lcl9sb29wOiB0cnVlLAogICAgICAgIGJhbm5lcl9lZmZlY3Q6ICJzbGlkZSIsCiAgICAgICAgYmFubmVyX3NwZWVkOiA1MDAsCiAgICAgICAgZW5hYmxlX2Jhbm5lcl9oYW5kbGU6IHRydWUsCiAgICAgICAgZW5hYmxlX2Jhbm5lcl9hdXRvcGxheTogdHJ1ZSwKICAgICAgICBiYW5uZXJfZGVsYXk6ICIzNTAwIiwKICAgICAgICBlbmFibGVfYmFubmVyX3N3aXRjaF9idXR0b246IHRydWUsCiAgICAgICAgZW5hYmxlX2Jhbm5lcl9wYWdpbmF0aW9uOiB0cnVlLAogICAgICAgIGVuYWJsZV9pbmRleF9saXN0X2FqYXg6IGZhbHNlLAogICAgICAgIHBvc3RfaW5kZXhfcGFnZV9zaXplOiBmYWxzZSwKICAgICAgICBiYWNrZHJvcDogIm9mZiIsCiAgICAgICAgZmF2aWNvbjogIiIsCiAgICAgICAgZW5hYmxlX2luZGV4X2xpc3RfZWZmZWN0OiB0cnVlLAogICAgICAgIGluZGV4X2xpc3RfZWZmZWN0X2NsYXNzOiAiZmFkZUluVXAiLAogICAgICAgIHNob3dfbG9hZGVkX3RpbWU6IGZhbHNlLAogICAgICAgIGVuYWJsZV9kZWJ1ZzogZmFsc2UsCiAgICAgICAgYWNjZXNzX2tleTogZmFsc2UsCiAgICAgICAgZW5hYmxlX2NvcHk6IHRydWUsCiAgICAgICAgZW5hYmxlX3NoYXJlOiB0cnVlLAogICAgICAgIGVuYWJsZV9zaGFyZV9saW5rOiB0cnVlLAogICAgICAgIGVuYWJsZV9zaGFyZV93ZWl4aW46IHRydWUsCiAgICAgICAgZW5hYmxlX2xpa2U6IHRydWUsCiAgICAgICAgZW5hYmxlX3RvYzogdHJ1ZSwKICAgICAgICBlbmFibGVfcHJvZ3Jlc3NfYmFyOiB0cnVlLAogICAgICAgIGVuYWJsZV9jb2RlX2V4cGFuZGVyOiBmYWxzZSwKICAgICAgICBlbmFibGVfZm9sZF9sb25nX2NvZGU6IGZhbHNlLAogICAgICAgIGVuYWJsZV9jb21tZW50OiB0cnVlLAogICAgICAgIHRvY19kZXB0aDogIjAiLAogICAgICAgIGVuYWJsZV9jb2RlX3RpdGxlOiB0cnVlLAogICAgICAgIGVuYWJsZV9jb2RlX2hyOiB0cnVlLAogICAgICAgIGVuYWJsZV9jb2RlX21hY2RvdDogdHJ1ZSwKICAgICAgICBlbmFibGVfY29kZV9saW5lX251bWJlcjogZmFsc2UsCiAgICAgICAgZW5hYmxlX2NvZGVfbmV3bGluZTogZmFsc2UsCiAgICAgICAgc2hvd190b29sc193aGVuX2hvdmVyOiB0cnVlLAogICAgICAgIGVuYWJsZV9jb2RlX2NvcHk6IHRydWUsCiAgICAgICAgZW5hYmxlX2NvcHlfcmlnaHRfdGV4dDogZmFsc2UsCiAgICAgICAgY29weV9yaWdodF90ZXh0OiAiIiwKICAgICAgICBvZmZzY3JlZW5fdGl0bGVfbGVhdmU6ICJcdTZCNkFcdUZGMENcdTRGNjBcdTUzQkJcdTU0RUFcdTkxQ0NcdTRFODZcdUZGMUYiLAogICAgICAgIG9mZnNjcmVlbl90aXRsZV9iYWNrOiAiKFx1MzA2NFx1MzBBN1x1MjI4MilcdTU0QTZcdUZGMENcdTUzQzhcdTU2REVcdTY3NjVcdTRFODYhIiwKICAgICAgICBlbmFibGVfam91cm5hbF9lZmZlY3Q6IHRydWUsCiAgICAgICAgLy8gcHJldHRpZXItaWdub3JlCiAgICAgICAgam91cm5hbF9saXN0X2VmZmVjdF9jbGFzczogImZhZGVJblVwIiwKICAgICAgICBlbmFibGVfbGlrZV9qb3VybmFsOiB0cnVlLAogICAgICAgIGVuYWJsZV9jb21tZW50X2pvdXJuYWw6IHRydWUsCiAgICAgICAgam91cm5hbF9ibG9ja19oZWlnaHQ6ICIzMDAiLAogICAgICAgIGxvbmdfY29kZV9oZWlnaHQ6ICI4MDAiLAogICAgICAgIGxhenlsb2FkX2F2YXRhcjogIlwvdGhlbWVzXC90aGVtZS1Kb2UzXC9hc3NldHNcL3N2Z1wvc3Bpbm5lci1wcmVsb2FkZXIuc3ZnIiwKICAgICAgICBwaG90b3NfbGF5b3V0OiAnd2F0ZXJmYWxsJywKICAgICAgICAvLyBwcmV0dGllci1pZ25vcmUKICAgICAgICBibG9nX3VybDogImh0dHA6XC9cL3d3dy5mdXlvdS1hLnRvcCIsCiAgICAgICAgYmxvZ190aXRsZTogIlx1ODcwOVx1ODc2M1x1NzY4NFx1NTM1QVx1NUJBMiIsCiAgICAgICAgLy8gcHJldHRpZXItaWdub3JlCiAgICAgICAgQkFTRV9SRVNfVVJMOiAiXC90aGVtZXNcL3RoZW1lLUpvZTMiLAogICAgICAgIEJBU0VfVVJMOiAnaHR0cHM6Ly9iYmNoaW4uY29tJywKICAgICAgfTsKICAgICAgLy/ovazmlbDlrZcKICAgICAgVGhlbWVDb25maWcuYmFubmVyX3NwZWVkID0gcGFyc2VJbnQoVGhlbWVDb25maWcuYmFubmVyX3NwZWVkKTsKICAgICAgVGhlbWVDb25maWcuYmFubmVyX2RlbGF5ID0gcGFyc2VJbnQoVGhlbWVDb25maWcuYmFubmVyX2RlbGF5KTsKICAgICAgVGhlbWVDb25maWcudG9jX2RlcHRoID0gcGFyc2VJbnQoVGhlbWVDb25maWcudG9jX2RlcHRoKTsKICAgICAgVGhlbWVDb25maWcuam91cm5hbF9ibG9ja19oZWlnaHQgPSBwYXJzZUludChUaGVtZUNvbmZpZy5qb3VybmFsX2Jsb2NrX2hlaWdodCk7CiAgICAgIFRoZW1lQ29uZmlnLmxvbmdfY29kZV9oZWlnaHQgPSBwYXJzZUludChUaGVtZUNvbmZpZy5sb25nX2NvZGVfaGVpZ2h0KTsKICAgICAgVGhlbWVDb25maWcucGhvdG9zX2dhcCA9IDEwOwogICAgICBUaGVtZUNvbmZpZy5lbmFibGVfcGhvdG9zX2VmZmVjdCA9IHRydWU7CiAgICA8L3NjcmlwdD4KICAKICAgIAogICAgCiAgICA8c2NyaXB0IGlkPSJjb21wYXRpYWJsZS1jaGVja2VyIj4KICAgICAgLy8g5YW85a655oCn5qOA5p+lCiAgICAgIGZ1bmN0aW9uIGRldGVjdElFKCkgewogICAgICAgIHZhciBuID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICBlID0gbi5pbmRleE9mKCdNU0lFICcpOwogICAgICAgIGlmIChlID4gMCkgewogICAgICAgICAgcmV0dXJuIHBhcnNlSW50KG4uc3Vic3RyaW5nKGUgKyA1LCBuLmluZGV4T2YoJy4nLCBlKSksIDEwKTsKICAgICAgICB9CiAgICAgICAgaWYgKG4uaW5kZXhPZignVHJpZGVudC8nKSA+IDApIHsKICAgICAgICAgIHZhciByID0gbi5pbmRleE9mKCdydjonKTsKICAgICAgICAgIHJldHVybiBwYXJzZUludChuLnN1YnN0cmluZyhyICsgMywgbi5pbmRleE9mKCcuJywgcikpLCAxMCk7CiAgICAgICAgfQogICAgICAgIHZhciBpID0gbi5pbmRleE9mKCdFZGdlLycpOwogICAgICAgIHJldHVybiBpID4gMCAmJiBwYXJzZUludChuLnN1YnN0cmluZyhpICsgNSwgbi5pbmRleE9mKCcuJywgaSkpLCAxMCk7CiAgICAgIH0KICAgICAgZGV0ZWN0SUUoKSAmJgogICAgICAgIChhbGVydCgn5b2T5YmN56uZ54K55LiN5pSv5oyBSUXmtY/op4jlmajmiJbmgqjlvIDlkK/kuoblhbzlrrnmqKHlvI/vvIzor7fkvb/nlKjlhbbku5bmtY/op4jlmajorr/pl67miJblhbPpl63lhbzlrrnmqKHlvI/jgIInKSwKICAgICAgICAobG9jYXRpb24uaHJlZiA9ICdodHRwczovL3d3dy5iYWlkdS5jb20nKSk7CiAgICA8L3NjcmlwdD4KCiAgICA8c2NyaXB0IGlkPSJ0aGVtZS1jb25maWctZ2V0dGVyIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lID09PSAnbG9jYWxob3N0JyB8fCB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgPT09ICcxMjcuMC4wLjEnKSB7CiAgICAgICAgVGhlbWVDb25maWdbJ21vZGUnXSA9ICdkZXZlbG9wbWVudCc7CiAgICAgICAgY29uc29sZS5sb2coVGhlbWVDb25maWcubW9kZSk7CiAgICAgIH0KCiAgICAgIGlmIChUaGVtZUNvbmZpZy5tb2RlID09PSAnZGV2ZWxvcG1lbnQnKSB7CiAgICAgICAgY29uc29sZS5sb2coJ0pvZTPkuLvpopjphY3nva7vvJonLCBUaGVtZUNvbmZpZyk7CiAgICAgICAgY29uc29sZS5sb2coJ+i1hOa6kOaguei3r+W+hO+8micsIFRoZW1lQ29uZmlnLkJBU0VfUkVTX1VSTCk7CiAgICAgIH0KICAgICAgLy8g6K+75Y+W5Li76aKY5qih5byPCiAgICAgIHZhciBpbml0VGhlbWVNb2RlID0gZnVuY3Rpb24gKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgY3VyTW9kZSA9ICcnOwogICAgICAgICAgaWYgKFRoZW1lQ29uZmlnLnRoZW1lX21vZGUgPT09ICdhdXRvJykgewogICAgICAgICAgICB2YXIgbGlnaHRfc2NvcGUgPSBUaGVtZUNvbmZpZy5saWdodF90aW1lX3Njb3BlLnNwbGl0KCd+Jyk7CiAgICAgICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICB2YXIgdG9kYXkgPSBub3cudG9Mb2NhbGVTdHJpbmcoKS5zcGxpdCgnICcpWzBdOwogICAgICAgICAgICB2YXIgY3VyTW9kZSA9CiAgICAgICAgICAgICAgbm93ID49IG5ldyBEYXRlKHRvZGF5ICsgJyAnICsgbGlnaHRfc2NvcGVbMF0pICYmCiAgICAgICAgICAgICAgbm93IDw9IG5ldyBEYXRlKHRvZGF5ICsgJyAnICsgbGlnaHRfc2NvcGVbMV0pCiAgICAgICAgICAgICAgICA/ICdsaWdodCcKICAgICAgICAgICAgICAgIDogJ2RhcmsnOwogICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnZGF0YS1tb2RlJyk7CiAgICAgICAgICB9IGVsc2UgaWYgKFRoZW1lQ29uZmlnLnRoZW1lX21vZGUgPT09ICd1c2VyJykgewogICAgICAgICAgICAvLyDnlKjmiLfmqKHlvI/kuIvkvJjlhYjku47mnKzlnLDlj5bkuLvpopjmqKHlvI/vvIzpu5jorqTkuLrmtYXoibIKICAgICAgICAgICAgY3VyTW9kZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdkYXRhLW1vZGUnKSB8fCAnbGlnaHQnOwogICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGF0YS1tb2RlJywgY3VyTW9kZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyDpnZ7nlKjmiLfmqKHlvI/kuIvnm7TmjqXlj5blkI7lj7DphY3nva7nmoTmqKHlvI8KICAgICAgICAgICAgY3VyTW9kZSA9IFRoZW1lQ29uZmlnLnRoZW1lX21vZGU7CiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdkYXRhLW1vZGUnKTsKICAgICAgICAgIH0KICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScsIGN1ck1vZGUpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKGUpOwogICAgICAgIH0KICAgICAgfTsKICAgICAgaW5pdFRoZW1lTW9kZSgpOwogICAgICB3aW5kb3cuSm9lID0gewogICAgICAgIEJBU0VfQVBJOiAnJywKICAgICAgICBpc01vYmlsZTogL3dpbmRvd3MgcGhvbmV8aXBob25lfGFuZHJvaWQvZ2kudGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCksCiAgICAgICAgYmxvZ2dlckdlbmVyYXRlQXZhdGFyT3B0czogKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGxldCBnZW5lcmF0ZUF2YXRhck9wdHMgPSB7fTsKICAgICAgICAgIGxldCBnZW5lcmF0ZV9hdmF0YXJfb3B0c19zdHIgPSAne2JnQ29sb3I6JiMzOTsmIzM5Oyx0ZXh0Q29sb3I6JiMzOTsmIzM5Oyx1c2VUZXh0R3JhZGllbnQ6ZmFsc2V9JzsKICAgICAgICAgIGlmIChnZW5lcmF0ZV9hdmF0YXJfb3B0c19zdHIpIHsKICAgICAgICAgICAgLy8gZ2VuZXJhdGVfYXZhdGFyX29wdHNfc3RyIOekuuS+i++8mntiZ0NvbG9yOicnLHRleHRDb2xvcjonJyx1c2VUZXh0R3JhZGllbnQ6ZmFsc2V9LCDop6PmnpAgZ2VuZXJhdGVfYXZhdGFyX29wdHMg6YWN572uCiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgLy8g6Ziy5q2iICYjMzk7IOetieeJueauiuWtl+espuWvvOiHtCBKU09OIOino+aekOWksei0pQogICAgICAgICAgICAgIGNvbnN0IGVsZVRtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICAgICAgIGVsZVRtcC5pbm5lckhUTUwgPSBnZW5lcmF0ZV9hdmF0YXJfb3B0c19zdHI7CiAgICAgICAgICAgICAgLy8ga2V5IOiHquWKqOWKoOS4iiAiIiDpmLLmraLmiqXplJnvvIzigJkg6Ieq5Yqo6L2s5oiQIOKAnAogICAgICAgICAgICAgIGdlbmVyYXRlX2F2YXRhcl9vcHRzX3N0ciA9IGVsZVRtcC5pbm5lckhUTUwKICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8nL2csICciJykKICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oW1x3XSspOi9nLCAnIiQxIjonKTsKICAgICAgICAgICAgICBnZW5lcmF0ZUF2YXRhck9wdHMgPSBKU09OLnBhcnNlKGdlbmVyYXRlX2F2YXRhcl9vcHRzX3N0cik7CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKAogICAgICAgICAgICAgICAgJ0pvZTPkuLvpopjphY3nva7vvJrnlJ/miJDmloflrZfmgKflpLTlg4/nmoTphY3nva7op6PmnpDlpLHotKXvvIzkvb/nlKjpu5jorqTphY3nva7jgIJnZW5lcmF0ZV9hdmF0YXJfb3B0c19zdHI6JywKICAgICAgICAgICAgICAgIGdlbmVyYXRlX2F2YXRhcl9vcHRzX3N0ciwKICAgICAgICAgICAgICAgICcgLGVycm9yOicsCiAgICAgICAgICAgICAgICBlCiAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGdlbmVyYXRlQXZhdGFyT3B0czsKICAgICAgICB9KSgpLAogICAgICAgIGVycm9ySW1nOiBmdW5jdGlvbiAodGFyZ2V0LCBzcmMpIHsKICAgICAgICAgIGNvbnN0IHRhcmdldFNyYyA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ3NyYycpOwogICAgICAgICAgY29uc29sZS5sb2coCiAgICAgICAgICAgICfliqDovb3lm77niYflpLHotKUnLAogICAgICAgICAgICAnICxzcmNBcmc6JywKICAgICAgICAgICAgc3JjLAogICAgICAgICAgICAnIC50YXJnZXQuc3JjOicsCiAgICAgICAgICAgIHRhcmdldFNyYywKICAgICAgICAgICAgJyAsdGFyZ2V0LmFsdDonLAogICAgICAgICAgICB0YXJnZXQuZ2V0QXR0cmlidXRlKCdhbHQnKSwKICAgICAgICAgICAgJyAsdGFyZ2V0LmRhdGFzZXQuZXJyU3JjOicsCiAgICAgICAgICAgIHRhcmdldC5kYXRhc2V0LmVyclNyYywKICAgICAgICAgICAgJyAsdGFyZ2V0LmRhdGFzZXQudGV4dEF2YXRhcjonLAogICAgICAgICAgICB0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyCiAgICAgICAgICApOwoKICAgICAgICAgIGxldCBnZW5lcmF0ZWRUZXh0QXZhdGFyOwogICAgICAgICAgbGV0IGdlbmVyYXRlZFRleHRBdmF0YXJCYXNlNjQ7CgogICAgICAgICAgc3dpdGNoIChzcmMpIHsKICAgICAgICAgICAgY2FzZSAnSG9tZUVyckltZyc6IHsKICAgICAgICAgICAgICAvLyDlpoLmnpwgc3JjIOaYryBIb21lRXJySW1nIOWImeS9v+eUqOmmlumhtemFjee9rumHjOmFjee9rueahOaWh+eroOmUmeivr+e8uuecgeWbvgogICAgICAgICAgICAgIHNyYyA9ICcvdGhlbWVzL3RoZW1lLUpvZTMvYXNzZXRzL2ltZy9kZWZhdWx0X3RodW1ibmFpbC5wbmcnOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgJ0xpbmtzRXJySW1nJzogewogICAgICAgICAgICAgIC8vIOWmguaenCBzcmMg5pivIExpbmtzRXJySW1nIOWImeS9v+eUqOWPi+mTvumFjee9rumHjOmFjee9rueahOWPi+mTvum7mOiupCBsb2dvCiAgICAgICAgICAgICAgc3JjID0gdGFyZ2V0LmRhdGFzZXQuZXJyU3JjIHx8ICcvdGhlbWVzL3RoZW1lLUpvZTMvYXNzZXRzL2ltZy9kZWZhdWx0X2xpbmtzX2xvZ28ucG5nJzsKICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAhc3JjIHx8CiAgICAgICAgICAgICAgICBzcmMgPT09IHRhcmdldFNyYyB8fAogICAgICAgICAgICAgICAgKHRhcmdldFNyYyAmJiB0YXJnZXRTcmMuaW5kZXhPZignL2Fzc2V0cy9pbWcvdHJhbnNwYXJlbnQtcGxhY2Vob2xkZXIucG5nJykgIT09IC0xKQogICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgaWYgKHRhcmdldC5kYXRhc2V0LnRleHRBdmF0YXIgfHwgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnYWx0JykpIHsKICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkVGV4dEF2YXRhciA9IHRhcmdldC5kYXRhc2V0LnRleHRBdmF0YXIgfHwgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnYWx0Jyk7CiAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZFRleHRBdmF0YXJCYXNlNjQgPSBKb2UuZ2VuZXJhdGVUZXh0QXZhdGFySW1hZ2UoZ2VuZXJhdGVkVGV4dEF2YXRhcik7CiAgICAgICAgICAgICAgICAgIHNyYyA9IGdlbmVyYXRlZFRleHRBdmF0YXJCYXNlNjQ7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBzcmMgPSAnL3RoZW1lcy90aGVtZS1Kb2UzL2Fzc2V0cy9pbWcvZGVmYXVsdF9saW5rc19sb2dvLnBuZyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgJ0VyckF2YXRhckltZyc6IHsKICAgICAgICAgICAgICAvLyDlpoLmnpwgc3JjIOaYryBFcnJBdmF0YXJJbWcg5YiZ5L2/55So5Y2a5Li76YWN572u6YeM6YWN572u55qE6buY6K6k5aS05YOPCiAgICAgICAgICAgICAgc3JjID0gdGFyZ2V0LmRhdGFzZXQuZXJyU3JjIHx8ICcvdXBsb2FkL1F1aWNrZXJfMjAyNDA3MTlfMTkyNTI2LnBuZyc7CiAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgIXNyYyB8fAogICAgICAgICAgICAgICAgc3JjID09PSB0YXJnZXRTcmMgfHwKICAgICAgICAgICAgICAgICh0YXJnZXRTcmMgJiYgdGFyZ2V0U3JjLmluZGV4T2YoJy9hc3NldHMvaW1nL3RyYW5zcGFyZW50LXBsYWNlaG9sZGVyLnBuZycpICE9PSAtMSkKICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIGlmICh0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyIHx8IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2FsdCcpKSB7CiAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZFRleHRBdmF0YXIgPSB0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyIHx8IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2FsdCcpOwogICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0ID0gSm9lLmdlbmVyYXRlVGV4dEF2YXRhckltYWdlKGdlbmVyYXRlZFRleHRBdmF0YXIpOwogICAgICAgICAgICAgICAgICBzcmMgPSBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0OwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgc3JjID0gJy90aGVtZXMvdGhlbWUtSm9lMy9hc3NldHMvaW1nL3BlZXBzLWF2YXRhci5wbmcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlICdMb2FkRmFpbGVkSW1nJzogewogICAgICAgICAgICAgIC8vIOWmguaenCBzcmMg5pivIExvYWRGYWlsZWRJbWcg5YiZ5L2/55So5Yqg6L295aSx6LSl55qE5Zu+54mHCiAgICAgICAgICAgICAgc3JjID0gdGFyZ2V0LmRhdGFzZXQuZXJyU3JjIHx8ICcvdGhlbWVzL3RoZW1lLUpvZTMvYXNzZXRzL2ltZy9pbWdfbG9hZF9mYWlsZWQuanBnJzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGNvbnN0IG5vd1NyYyA9IHNyYyB8fCB0YXJnZXQuZGF0YXNldC5lcnJTcmMgfHwgJy90aGVtZXMvdGhlbWUtSm9lMy9hc3NldHMvaW1nL0pvZTMucG5nJzsKICAgICAgICAgIGlmICh0YXJnZXRTcmMgPT09IG5vd1NyYykgcmV0dXJuOwoKICAgICAgICAgIGlmICgKICAgICAgICAgICAgZ2VuZXJhdGVkVGV4dEF2YXRhckJhc2U2NCAmJgogICAgICAgICAgICBnZW5lcmF0ZWRUZXh0QXZhdGFyICYmCiAgICAgICAgICAgIG5vd1NyYyA9PT0gZ2VuZXJhdGVkVGV4dEF2YXRhckJhc2U2NAogICAgICAgICAgKSB7CiAgICAgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2RhdGEtZ2VuZXJhdGVkLXRleHQtYXZhdGFyJywgZ2VuZXJhdGVkVGV4dEF2YXRhcik7CiAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ2VuZXJhdGVkLXRleHQtYXZhdGFyJykpIHsKICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1nZW5lcmF0ZWQtdGV4dC1hdmF0YXInKTsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgJ+WKoOi9veWbvueJh+Wksei0pe+8jOS9v+eUqOm7mOiupOWbvueJhzonLAogICAgICAgICAgICBub3dTcmMsCiAgICAgICAgICAgICcgLG9sZFNyYzonLAogICAgICAgICAgICB0YXJnZXRTcmMsCiAgICAgICAgICAgICcgLHRhcmdldC5hbHQ6JywKICAgICAgICAgICAgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnYWx0JykKICAgICAgICAgICk7CiAgICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdvbmVycm9yJywgbnVsbCk7CiAgICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdzcmMnLCBub3dTcmMpOwogICAgICAgIH0sCiAgICAgICAgLy8g5bey57uP5Yqg6L29IHRyYW5zcGFyZW50LXBsYWNlaG9sZGVyLnBuZyDlkI7mm7/mjaLlm77niYcKICAgICAgICBsb2FkZWRQbGFjZWhvbGRlclJlcGxhY2VJbWc6IGZ1bmN0aW9uICh0YXJnZXQsIHNyYykgewogICAgICAgICAgY29uc3QgdGFyZ2V0U3JjID0gdGFyZ2V0LmdldEF0dHJpYnV0ZSgnc3JjJyk7CiAgICAgICAgICBpZiAoCiAgICAgICAgICAgICF0YXJnZXRTcmMgfHwKICAgICAgICAgICAgc3JjID09PSB0YXJnZXRTcmMgfHwKICAgICAgICAgICAgdGFyZ2V0U3JjLmluZGV4T2YoJy9hc3NldHMvaW1nL3RyYW5zcGFyZW50LXBsYWNlaG9sZGVyLnBuZycpID09PSAtMQogICAgICAgICAgKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgJ+WKoOi9veWbvueJhyB0cmFuc3BhcmVudC1wbGFjZWhvbGRlci5wbmcg5ZCO5pu/5o2i5Zu+54mHJywKICAgICAgICAgICAgJyAsc3JjQXJnOicsCiAgICAgICAgICAgIHNyYywKICAgICAgICAgICAgJyAsdGFyZ2V0LmFsdDonLAogICAgICAgICAgICB0YXJnZXQuZ2V0QXR0cmlidXRlKCdhbHQnKSwKICAgICAgICAgICAgJyAsdGFyZ2V0LmRhdGFzZXQucmVwbGFjZVNyYzonLAogICAgICAgICAgICB0YXJnZXQuZGF0YXNldC5yZXBsYWNlU3JjLAogICAgICAgICAgICAnICx0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyOicsCiAgICAgICAgICAgIHRhcmdldC5kYXRhc2V0LnRleHRBdmF0YXIKICAgICAgICAgICk7CgogICAgICAgICAgbGV0IGdlbmVyYXRlZFRleHRBdmF0YXI7CiAgICAgICAgICBsZXQgZ2VuZXJhdGVkVGV4dEF2YXRhckJhc2U2NDsKCiAgICAgICAgICBzd2l0Y2ggKHNyYykgewogICAgICAgICAgICBjYXNlICdMaW5rc0ltZyc6IHsKICAgICAgICAgICAgICAvLyDlpoLmnpwgc3JjIOaYryBMaW5rc0ltZyDliJnkvb/nlKjlj4vpk77phY3nva7ph4zphY3nva7nmoTlj4vpk77pu5jorqQgbG9nbwogICAgICAgICAgICAgIHNyYyA9IHRhcmdldC5kYXRhc2V0LnJlcGxhY2VTcmMgfHwgJy90aGVtZXMvdGhlbWUtSm9lMy9hc3NldHMvaW1nL2RlZmF1bHRfbGlua3NfbG9nby5wbmcnOwogICAgICAgICAgICAgIGlmICghc3JjIHx8IHNyYyA9PT0gdGFyZ2V0U3JjKSB7CiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0LmRhdGFzZXQudGV4dEF2YXRhciB8fCB0YXJnZXQuZ2V0QXR0cmlidXRlKCdhbHQnKSkgewogICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRUZXh0QXZhdGFyID0gdGFyZ2V0LmRhdGFzZXQudGV4dEF2YXRhciB8fCB0YXJnZXQuZ2V0QXR0cmlidXRlKCdhbHQnKTsKICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkVGV4dEF2YXRhckJhc2U2NCA9IEpvZS5nZW5lcmF0ZVRleHRBdmF0YXJJbWFnZShnZW5lcmF0ZWRUZXh0QXZhdGFyKTsKICAgICAgICAgICAgICAgICAgc3JjID0gZ2VuZXJhdGVkVGV4dEF2YXRhckJhc2U2NDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHNyYyA9ICcvdGhlbWVzL3RoZW1lLUpvZTMvYXNzZXRzL2ltZy9kZWZhdWx0X2xpbmtzX2xvZ28ucG5nJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAnQXZhdGFySW1nJzogewogICAgICAgICAgICAgIC8vIOWmguaenCBzcmMg5pivIEF2YXRhckltZyDliJnkvb/nlKjljZrkuLvphY3nva7ph4zphY3nva7nmoTpu5jorqTlpLTlg48KICAgICAgICAgICAgICBzcmMgPSB0YXJnZXQuZGF0YXNldC5yZXBsYWNlU3JjIHx8ICcvdXBsb2FkL1F1aWNrZXJfMjAyNDA3MTlfMTkyNTI2LnBuZyc7CiAgICAgICAgICAgICAgaWYgKCFzcmMgfHwgc3JjID09PSB0YXJnZXRTcmMpIHsKICAgICAgICAgICAgICAgIGlmICh0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyIHx8IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2FsdCcpKSB7CiAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZFRleHRBdmF0YXIgPSB0YXJnZXQuZGF0YXNldC50ZXh0QXZhdGFyIHx8IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2FsdCcpOwogICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdkYXRhLWdlbmVyYXRlZC10ZXh0LWF2YXRhcicsIGdlbmVyYXRlZFRleHRBdmF0YXIpOwogICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0ID0gSm9lLmdlbmVyYXRlVGV4dEF2YXRhckltYWdlKGdlbmVyYXRlZFRleHRBdmF0YXIpOwogICAgICAgICAgICAgICAgICBzcmMgPSBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0OwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgc3JjID0gJy90aGVtZXMvdGhlbWUtSm9lMy9hc3NldHMvaW1nL3BlZXBzLWF2YXRhci5wbmcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGNvbnN0IG5vd1NyYyA9CiAgICAgICAgICAgIHNyYyB8fCB0YXJnZXQuZGF0YXNldC5yZXBsYWNlU3JjIHx8ICcvdGhlbWVzL3RoZW1lLUpvZTMvYXNzZXRzL2ltZy9Kb2UzLnBuZyc7CiAgICAgICAgICBpZiAodGFyZ2V0U3JjID09PSBub3dTcmMpIHJldHVybjsKCiAgICAgICAgICBpZiAoCiAgICAgICAgICAgIGdlbmVyYXRlZFRleHRBdmF0YXJCYXNlNjQgJiYKICAgICAgICAgICAgZ2VuZXJhdGVkVGV4dEF2YXRhciAmJgogICAgICAgICAgICBub3dTcmMgPT09IGdlbmVyYXRlZFRleHRBdmF0YXJCYXNlNjQKICAgICAgICAgICkgewogICAgICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdkYXRhLWdlbmVyYXRlZC10ZXh0LWF2YXRhcicsIGdlbmVyYXRlZFRleHRBdmF0YXIpOwogICAgICAgICAgfSBlbHNlIGlmICh0YXJnZXQuZ2V0QXR0cmlidXRlKCdkYXRhLWdlbmVyYXRlZC10ZXh0LWF2YXRhcicpKSB7CiAgICAgICAgICAgIHRhcmdldC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtZ2VuZXJhdGVkLXRleHQtYXZhdGFyJyk7CiAgICAgICAgICB9CgogICAgICAgICAgY29uc29sZS5sb2coJ+WKoOi9veabv+aNouWQjueahOWbvueJhzonLCBub3dTcmMsICcgLHRhcmdldC5hbHQ6JywgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnYWx0JykpOwogICAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnb25sb2FkJywgbnVsbCk7CiAgICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdzcmMnLCBub3dTcmMpOwogICAgICAgIH0sCiAgICAgICAgcmVwbGFjZUFsbFRleHRBdmF0YXJJbWFnZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgY29uc29sZS5sb2coJ2NhbGwgcmVwbGFjZUFsbFRleHRBdmF0YXJJbWFnZScpOwogICAgICAgICAgY29uc3QgZ2VuZXJhdGVkRWxlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ltZ1tkYXRhLWdlbmVyYXRlZC10ZXh0LWF2YXRhcl0nKTsKICAgICAgICAgIGdlbmVyYXRlZEVsZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlKSB7CiAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRlZFRleHRBdmF0YXIgPSBlbGUuZ2V0QXR0cmlidXRlKCdkYXRhLWdlbmVyYXRlZC10ZXh0LWF2YXRhcicpOwogICAgICAgICAgICBjb25zdCBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0ID0gSm9lLmdlbmVyYXRlVGV4dEF2YXRhckltYWdlKGdlbmVyYXRlZFRleHRBdmF0YXIpOwogICAgICAgICAgICBlbGUuc2V0QXR0cmlidXRlKCdzcmMnLCBnZW5lcmF0ZWRUZXh0QXZhdGFyQmFzZTY0KTsKICAgICAgICAgIH0pOwogICAgICAgIH0sCiAgICAgICAgLy8g55Sf5oiQ6ZqP5py66aKc6Imy5Ye95pWwCiAgICAgICAgZ2V0UmFuZG9tQ29sb3I6IGZ1bmN0aW9uIChhbHBoYSkgewogICAgICAgICAgY29uc3QgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJzsKICAgICAgICAgIGxldCBjb2xvciA9ICcjJzsKICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjsgaSsrKSB7CiAgICAgICAgICAgIGNvbG9yICs9IGxldHRlcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTYpXTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChhbHBoYSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiBjb2xvciArIChhbHBoYSA+PSAwICYmIGFscGhhIDw9IDEgPyBNYXRoLnJvdW5kKGFscGhhICogMjU1KS50b1N0cmluZygxNikgOiAnRkYnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjb2xvcjsKICAgICAgICB9LAogICAgICAgIC8vIOeUn+aIkOmaj+acuuminOiJsueahOaWh+Wtl+aAp+WktOWDjwogICAgICAgIGdlbmVyYXRlVGV4dEF2YXRhckltYWdlOiBmdW5jdGlvbiAodGV4dCwgb3B0cykgewogICAgICAgICAgb3B0cyA9IE9iamVjdC5hc3NpZ24oe30sIEpvZS5ibG9nZ2VyR2VuZXJhdGVBdmF0YXJPcHRzLCBvcHRzIHx8IHt9KTsKICAgICAgICAgIG9wdHMuZm9udFNpemUgPSBvcHRzLmZvbnRTaXplIHx8IDUwOwogICAgICAgICAgb3B0cy5mb250ID0gb3B0cy5mb250IHx8ICdHcmVhdCBWaWJlcyc7CiAgICAgICAgICBvcHRzLmNhbnZhc1JhZGl1cyA9IG9wdHMuY2FudmFzV2lkdGggfHwgMS41ICogb3B0cy5mb250U2l6ZTsKCiAgICAgICAgICAvLyDlpoLmnpzmmK8gdmFyKC0teHh4eCnvvIzliJnor7TmmI7mmK8gY3NzIOmFjee9rueahOWPmOmHj++8jOmcgOimgeS7jmh0bWzmoLflvI/kuK3op6PmnpDmiJDlhbfkvZPlgLwKICAgICAgICAgIGlmIChvcHRzLnRleHRDb2xvciAmJiAvdmFyXCgtLShbXHctXSspXCkvLnRlc3Qob3B0cy50ZXh0Q29sb3IpKSB7CiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gb3B0cy50ZXh0Q29sb3IubWF0Y2goL3ZhclwoLS0oW1x3LV0rKVwpLyk7CiAgICAgICAgICAgIGlmIChtYXRjaCkgewogICAgICAgICAgICAgIGxldCBjc3NWYXIgPQogICAgICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpCiAgICAgICAgICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCctLScgKyBtYXRjaFsxXSkKICAgICAgICAgICAgICAgICAgLnRyaW0oKSB8fAogICAgICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KQogICAgICAgICAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnLS0nICsgbWF0Y2hbMV0pCiAgICAgICAgICAgICAgICAgIC50cmltKCk7CiAgICAgICAgICAgICAgaWYgKGNzc1ZhcikgewogICAgICAgICAgICAgICAgb3B0cy50ZXh0Q29sb3IgPSBjc3NWYXI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgLy8g5aaC5p6c5pivIHZhcigtLXh4eHgp77yM5YiZ6K+05piO5pivIGNzcyDphY3nva7nmoTlj5jph4/vvIzpnIDopoHku45odG1s5qC35byP5Lit6Kej5p6Q5oiQ5YW35L2T5YC8CiAgICAgICAgICBpZiAob3B0cy5iZ0NvbG9yICYmIC92YXJcKC0tKFtcdy1dKylcKS8udGVzdChvcHRzLmJnQ29sb3IpKSB7CiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gb3B0cy5iZ0NvbG9yLm1hdGNoKC92YXJcKC0tKFtcdy1dKylcKS8pOwogICAgICAgICAgICBpZiAobWF0Y2gpIHsKICAgICAgICAgICAgICBsZXQgY3NzVmFyID0KICAgICAgICAgICAgICAgIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KQogICAgICAgICAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnLS0nICsgbWF0Y2hbMV0pCiAgICAgICAgICAgICAgICAgIC50cmltKCkgfHwKICAgICAgICAgICAgICAgIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkKICAgICAgICAgICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJy0tJyArIG1hdGNoWzFdKQogICAgICAgICAgICAgICAgICAudHJpbSgpOwogICAgICAgICAgICAgIGlmIChjc3NWYXIpIHsKICAgICAgICAgICAgICAgIG9wdHMuYmdDb2xvciA9IGNzc1ZhcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICAvLyDliJvlu7rkuIDkuKrmlrDnmoQgQ2FudmFzIOWFg+e0oAogICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCiAgICAgICAgICAvLyDorr7nva4gQ2FudmFzIOeahOWwuuWvuAogICAgICAgICAgY2FudmFzLndpZHRoID0gb3B0cy5jYW52YXNSYWRpdXM7CiAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gb3B0cy5jYW52YXNSYWRpdXM7CgogICAgICAgICAgaWYgKG9wdHMuYmdDb2xvcikgewogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gb3B0cy5iZ0NvbG9yOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8g55Sf5oiQ6ZqP5py66aKc6Imy55qE5riQ5Y+Y6IOM5pmvCiAgICAgICAgICAgIGNvbnN0IGdyYWRpZW50ID0gY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KAogICAgICAgICAgICAgIGNhbnZhcy53aWR0aCAvIDIsCiAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCAvIDIsCiAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICBjYW52YXMud2lkdGggLyAyLAogICAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgLyAyLAogICAgICAgICAgICAgIGNhbnZhcy53aWR0aCAvIDIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIEpvZS5nZXRSYW5kb21Db2xvcigwLjcpKTsKICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIEpvZS5nZXRSYW5kb21Db2xvcigwLjcpKTsKCiAgICAgICAgICAgIC8vIOe7mOWItua4kOWPmOiDjOaZrwogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiAgICAgICAgICB9CgogICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgY3R4LmFyYyhjYW52YXMud2lkdGggLyAyLCBjYW52YXMuaGVpZ2h0IC8gMiwgY2FudmFzLndpZHRoIC8gMiwgMCwgTWF0aC5QSSAqIDIpOwogICAgICAgICAgY3R4LmZpbGwoKTsKCiAgICAgICAgICAvLyDorr7nva7mlofmnKzmoLflvI8KICAgICAgICAgIGN0eC5mb250ID0gYCR7b3B0cy5mb250U2l6ZX1weCAke29wdHMuZm9udH1gOwoKICAgICAgICAgIGlmIChvcHRzLnRleHRDb2xvcikgewogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gb3B0cy50ZXh0Q29sb3I7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wdHMudXNlVGV4dEdyYWRpZW50KSB7CiAgICAgICAgICAgIC8vIOeUn+aIkOaWh+Wtl+eahOe6v+aAp+a4kOWPmAogICAgICAgICAgICBjb25zdCB0ZXh0R3JhZGllbnQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTsKICAgICAgICAgICAgdGV4dEdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBKb2UuZ2V0UmFuZG9tQ29sb3IoMC45KSk7IC8vIOaWh+Wtl+eahOa4kOWPmOiJsgogICAgICAgICAgICB0ZXh0R3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIEpvZS5nZXRSYW5kb21Db2xvcigwLjkpKTsgLy8g5paH5a2X55qE5riQ5Y+Y6ImyCiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSB0ZXh0R3JhZGllbnQ7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wdHMuYmdDb2xvcikgewogICAgICAgICAgICAvLyDorr7nva7kuobog4zmma/oibLvvIzkvYbmmK/msqHmnInorr7nva7mloflrZfpopzoibLvvIzliJnpnIDopoHorr7nva7pu5jorqTmloflrZfpopzoibLkuLrpu5HoibLvvIzpmLLmraLmloflrZfpopzoibLlkozog4zmma/oibLkuIDoh7TjgJDms6jvvJvog4zmma/oibLkuLrmuJDlj5joibLvvIzmloflrZfog73mmL7npLrlh7rmnaXvvIzlm6DmraTkuI3pnIDopoHorr7nva7mloflrZfpopzoibLjgJEKICAgICAgICAgICAgLy8g5aaC5p6cIGJnQ29sb3Ig5Li66buR6Imy77yM5YiZ5paH5a2X6aKc6Imy6K6+572u5Li655m96Imy77yM5ZCm5YiZ6K6+572u5Li66buR6ImyCiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAvKCMwMDAwMDB8IzAwMHxibGFjaykvLnRlc3Qob3B0cy5iZ0NvbG9yKSA/ICcjZmZmJyA6ICcjMDAwJzsKICAgICAgICAgIH0KCiAgICAgICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAgICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7CgogICAgICAgICAgLy8g5ZyoIENhbnZhcyDkuIrnu5jliLbmlofmnKwKICAgICAgICAgIGN0eC5maWxsVGV4dCh0ZXh0LmNoYXJBdCgwKSwgY2FudmFzLndpZHRoIC8gMiwgY2FudmFzLmhlaWdodCAvIDIpOwoKICAgICAgICAgIC8vIOi/lOWbnueUn+aIkOeahOWbvueJh+WvueixoSBiYXNlNjQg57yW56CBCiAgICAgICAgICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCgpOwogICAgICAgIH0sCiAgICAgIH07CiAgICAgIFRoZW1lQ29uZmlnLmVuYWJsZV9jb25zb2xlX3RoZW1lICYmCiAgICAgICAgY29uc29sZS5sb2coCiAgICAgICAgICAnJWNUaGVtZSBCeSAgSmlld2VuJyArICcgfCDniYjmnKwgVicgKyBUaGVtZUNvbmZpZy52ZXJzaW9uLAogICAgICAgICAgJ3BhZGRpbmc6IDhweCAxNXB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgIzk4NmZlZSwgIzg2OTVlNiwgIzY4YjdkZCwgIzE4ZDdkMyk7Ym9yZGVyLXJhZGl1czogMCAxNXB4IDAgMTVweDsnCiAgICAgICAgKTsKICAgIDwvc2NyaXB0PgogIAogICAgPHN0eWxlPgogICAgICBodG1sLAogICAgICBib2R5IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAuam9lX3BhZ2VfNDA0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgY29sb3I6ICM2NjY7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICB9CiAgICAgIC5qb2VfcGFnZV80MDQgLmVycm9yIHsKICAgICAgICBtYXJnaW4tdG9wOiAtMTB2aDsKICAgICAgfQogICAgICAuam9lX3BhZ2VfNDA0IGltZyB7CiAgICAgICAgd2lkdGg6IDYwJTsKICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OwogICAgICB9CiAgICAgIC5qb2VfcGFnZV80MDQgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgICAgICBjb2xvcjogIzg4ODsKICAgICAgfQogICAgICAuam9lX3BhZ2VfNDA0IC5lcnJvcl9saW5rIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDM2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgIH0KICAgICAgLmpvZV9wYWdlXzQwNCAuZXJyb3JfbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICM2YzYzZmY7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmM2M2ZmOwogICAgICB9CiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7CiAgICAgICAgLmpvZV9wYWdlXzQwNCAudGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuam9lX3BhZ2VfNDA0IC5lcnJvcl9saW5rIHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDUwMHB4KSB7CiAgICAgICAgLmpvZV9wYWdlXzQwNCAudGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuam9lX3BhZ2VfNDA0IGltZyB7CiAgICAgICAgICB3aWR0aDogMzAlOwogICAgICAgIH0KICAgICAgICAuam9lX3BhZ2VfNDA0IC5lcnJvcl9saW5rIHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPG1ldGEgY29udGVudD0iSGFsbyAyLjE3LjIiIG5hbWU9ImdlbmVyYXRvciIvPjwhLS0gcGx1Z2luLWNvbW1lbnQtd2lkZ2V0IHN0YXJ0IC0tPgo8c2NyaXB0IHNyYz0iL3BsdWdpbnMvUGx1Z2luQ29tbWVudFdpZGdldC9hc3NldHMvc3RhdGljL2NvbW1lbnQtd2lkZ2V0LmlpZmUuanM/dmVyc2lvbj0yLjQuMCI+PC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3BsdWdpbnMvUGx1Z2luQ29tbWVudFdpZGdldC9hc3NldHMvc3RhdGljL3N0eWxlLmNzcz92ZXJzaW9uPTIuNC4wIiAvPgo8IS0tIHBsdWdpbi1jb21tZW50LXdpZGdldCBlbmQgLS0+CjwhLS0gUGx1Z2luU2VhcmNoV2lkZ2V0IHN0YXJ0IC0tPgo8c2NyaXB0IHNyYz0iL3BsdWdpbnMvUGx1Z2luU2VhcmNoV2lkZ2V0L2Fzc2V0cy9zdGF0aWMvc2VhcmNoLXdpZGdldC5paWZlLmpzP3ZlcnNpb249MS42LjEiIGFzeW5jPjwvc2NyaXB0Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9wbHVnaW5zL1BsdWdpblNlYXJjaFdpZGdldC9hc3NldHMvc3RhdGljL3N0eWxlLmNzcz92ZXJzaW9uPTEuNi4xIiAvPgo8IS0tIFBsdWdpblNlYXJjaFdpZGdldCBlbmQgLS0+CjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL3VwbG9hZC9hbmRyb2lkX2Nocm9tZV8xOTIucG5nIiAvPgo8L2hlYWQ+CiAgPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJqb2VfcGFnZV80MDQiPgogICAgICA8ZGl2IGNsYXNzPSJlcnJvciI+CiAgICAgICAgPGltZyBzcmM9Ii90aGVtZXMvdGhlbWUtSm9lMy9hc3NldHMvc3ZnLzQwNC5zdmciIGFsdD0iNDA0IiAvPgogICAgICAgIDxoMyBjbGFzcz0idGl0bGUiPuKAnOacquaJvuWIsOaCqOimgeeahOi1hOa6kOKAnTwvaDM+CiAgICAgICAgPGEgaHJlZj0iLyIgY2xhc3M9ImVycm9yX2xpbmsiPuWbnuWIsOS4u+mhtTwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2JvZHk+CjwvaHRtbD4K",
               "imagemd5" : "ce93af9fd5ae70675141660de86e6de9",
               "imagemmh3" : -806667015,
               "length" : 23619,
               "url" : "/favicon.ico"
            },
            "http" : {
               "bodymd5" : "55e46bc49240c222acde52e8d961b88d",
               "bodymmh3" : 555802820,
               "headermd5" : "d119588140633475dc5310271d216bad",
               "headermmh3" : 39567789,
               "title" : "\u8709\u8763\u7684\u535a\u5ba2"
            },
            "length" : 16384
         },
         "asn" : "AS37963",
         "city" : "Beijing",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nVary: Origin\r\nVary: Access-Control-Request-Method\r\nVary: Access-Control-Request-Headers\r\nContent-Type: text/html\r\nContent-Language: en-US\r\nCache-Control: no-cache, no-store, max-age=0, must-revalidate\r\nPragma: no-cache\r\nExpires: 0\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nX-XSS-Protection: 0\r\nReferrer-Policy: strict-origin-when-cross-origin\r\nset-cookie: XSRF-TOKEN=097a04fa-8dfa-455d-9526-db112cee2cc0; Path=/\r\ncontent-length: 89296\r\nconnection: close\r\n\r\n<!doctype html>\n<html\n  lang=\"en\"\n>\n  <head>\n    <title>\u8709\u8763\u7684\u535a\u5ba2</title>\n\n    <meta charset=\"utf-8\" />\n    <meta name=\"renderer\" content=\"webkit\" />\n    \n    <meta name=\"format-detection\" content=\"telephone=no\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <meta http-equiv=\"Cache-Control\" content=\"no-siteapp\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge, chrome=1\" />\n    <meta\n      name=\"viewport\"\n      content=\"width=device-width, user-scalable=no, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover\"\n    />\n    \n    <meta http-equiv=\"x-dns-prefetch-control\" content=\"on\" />\n    <meta name=\"site\" content=\"http://www.fuyou-a.top/\" />\n    <!-- OG -->\n    <meta property=\"og:image\" content=\"/upload/android_chrome_192.png\" />\n    <meta property=\"og:description\" content=\"site.seo.description\" />\n    <meta property=\"og:type\" content=\"website\" />\n    <meta property=\"og:locale\" content=\"zh_CN\" />\n    <meta property=\"og:site_name\" content=\"\u8709\u8763\u7684\u535a\u5ba2-Recording...\" />\n    <meta property=\"og:url\" content=\"http://www.fuyou-a.top/\" />\n    <meta property=\"og:title\" content=\"\u8709\u8763\u7684\u535a\u5ba2\" />\n    <meta property=\"twitter:partner\" content=\"ogwp\" />\n    <!-- /OG -->\n\n    \n    \n    <script id=\"theme-config-getter\">\n      const ThemeConfig = {\n        theme_mode: \"user\",\n        enable_loading_bar: true,\n        enable_footer: true,\n        footer_position: \"none\",\n        check_baidu_collect: false,\n        baidu_token: \"\",\n        enable_back2top: true,\n        enable_back2top_smooth: true,\n        enable_weather: false,\n        weather_key: \"\",\n        link_behavior: \"default\",\n        enable_tag_cloud: true,\n        tag_cloud_type: document.getElementById('tags-3d') ? '3d' : 'list',\n        enable_fixed_header: true,\n        enable_clean_mode: false,\n        cursor_effect: \"off\",\n        enable_offscreen_tip: false,\n        enable_birthday: false,\n        birthday: \"2021\\/11\\/11 06:30\",\n        light_time_scope: \"5:00~19:00\",\n        enable_console_theme: false,\n        version: \"1.3.0\",\n\n        enable_big_banner: true,\n        enable_banner: false,\n        banner_direction: \"horizontal\",\n        enable_banner_loop: true,\n        banner_effect: \"slide\",\n        banner_speed: 500,\n        enable_banner_handle: true,\n        enable_banner_autoplay: true,\n        banner_delay: \"3500\",\n        enable_banner_switch_button: true,\n        enable_banner_pagination: true,\n        enable_index_list_ajax: false,\n        post_index_page_size: false,\n        backdrop: \"off\",\n        favicon: \"\",\n        enable_index_list_effect: true,\n        index_list_effect_class: \"fadeInUp\",\n        show_loaded_time: false,\n        enable_debug: false,\n        access_key: false,\n        enable_copy: true,\n        enable_share: true,\n        enable_share_link: true,\n        enable_share_weixin: true,\n        enable_like: true,\n        enable_toc: true,\n        enable_progress_bar: true,\n        enable_code_expander: false,\n        enable_fold_long_code: false,\n        enable_comment: true,\n        toc_depth: \"0\",\n        enable_code_title: true,\n        enable_code_hr: true,\n        enable_code_macdot: true,\n        enable_code_line_number: false,\n        enable_code_newline: false,\n        show_tools_when_hover: true,\n        enable_code_copy: true,\n        enable_copy_right_text: false,\n        copy_right_text: \"\",\n        offscreen_title_leave: \"\\u6B6A\\uFF0C\\u4F60\\u53BB\\u54EA\\u91CC\\u4E86\\uFF1F\",\n        offscreen_title_back: \"(\\u3064\\u30A7\\u2282)\\u54A6\\uFF0C\\u53C8\\u56DE\\u6765\\u4E86!\",\n        enable_journal_effect: true,\n        // prettier-ignore\n        journal_list_effect_class: \"fadeInUp\",\n        enable_like_journal: true,\n        enable_comment_journal: true,\n        journal_block_height: \"300\",\n        long_code_height: \"800\",\n        lazyload_avatar: \"\\/themes\\/theme-Joe3\\/assets\\/svg\\/spinner-preloader.svg\",\n        photos_layout: 'waterfall',\n        // prettier-ignore\n        blog_url: \"http:\\/\\/www.fuyou-a.top\",\n        blog_title: \"\\u8709\\u8763\\u7684\\u535A\\u5BA2\",\n        // prettier-ignore\n        BASE_RES_URL: \"\\/themes\\/theme-Joe3\",\n        BASE_URL: 'https://bbchin.com',\n      };\n      //\u8f6c\u6570\u5b57\n      ThemeConfig.banner_speed = parseInt(ThemeConfig.banner_speed);\n      ThemeConfig.banner_delay = parseInt(ThemeConfig.banner_delay);\n      ThemeConfig.toc_depth = parseInt(ThemeConfig.toc_depth);\n      ThemeConfig.journal_block_height = parseInt(ThemeConfig.journal_block_height);\n      ThemeConfig.long_code_height = parseInt(ThemeConfig.long_code_height);\n      ThemeConfig.photos_gap = 10;\n      ThemeConfig.enable_photos_effect = true;\n    </script>\n  \n    \n    \n    <script id=\"compatiable-checker\">\n      // \u517c\u5bb9\u6027\u68c0\u67e5\n      function detectIE() {\n        var n = window.navigator.userAgent,\n          e = n.indexOf('MSIE ');\n        if (e > 0) {\n          return parseInt(n.substring(e + 5, n.indexOf('.', e)), 10);\n        }\n        if (n.indexOf('Trident/') > 0) {\n          var r = n.indexOf('rv:');\n          return parseInt(n.substring(r + 3, n.indexOf('.', r)), 10);\n        }\n        var i = n.indexOf('Edge/');\n        return i > 0 && parseInt(n.substring(i + 5, n.indexOf('.', i)), 10);\n      }\n      detectIE() &&\n        (alert('\u5f53\u524d\u7ad9\u70b9\u4e0d\u652f\u6301IE\u6d4f\u89c8\u5668\u6216\u60a8\u5f00\u542f\u4e86\u517c\u5bb9\u6a21\u5f0f\uff0c\u8bf7\u4f7f\u7528\u5176\u4ed6\u6d4f\u89c8\u5668\u8bbf\u95ee\u6216\u5173\u95ed\u517c\u5bb9\u6a21\u5f0f\u3002'),\n        (location.href = 'https://www.baidu.com'));\n    </script>\n\n    <script id=\"theme-config-getter\" type=\"text/javascript\">\n      if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {\n        ThemeConfig['mode'] = 'development';\n        console.log(ThemeConfig.mode);\n      }\n\n      if (ThemeConfig.mode === 'development') {\n        console.log('Joe3\u4e3b\u9898\u914d\u7f6e\uff1a', ThemeConfig);\n        console.log('\u8d44\u6e90\u6839\u8def\u5f84\uff1a', ThemeConfig.BASE_RES_URL);\n      }\n      // \u8bfb\u53d6\u4e3b\u9898\u6a21\u5f0f\n      var initThemeMode = function () {\n        try {\n          var curMode = '';\n          if (ThemeConfig.theme_mode === 'auto') {\n            var light_scope = ThemeConfig.light_time_scope.split('~');\n            var now = new Date();\n            var today = now.toLocaleString().split(' ')[0];\n            var curMode =\n              now >= new Date(today + ' ' + light_scope[0]) &&\n              now <= new Date(today + ' ' + light_scope[1])\n                ? 'light'\n                : 'dark';\n            localStorage.removeItem('data-mode');\n          } else if (ThemeConfig.theme_mode === 'user') {\n            // \u7528\u6237\u6a21\u5f0f\u4e0b\u4f18\u5148\u4ece\u672c\u5730\u53d6\u4e3b\u9898\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u4e3a\u6d45\u8272\n            curMode = localStorage.getItem('data-mode') || 'light';\n            localStorage.setItem('data-mode', curMode);\n          } else {\n            // \u975e\u7528\u6237\u6a21\u5f0f\u4e0b\u76f4\u63a5\u53d6\u540e\u53f0\u914d\u7f6e\u7684\u6a21\u5f0f\n            curMode = ThemeConfig.theme_mode;\n            localStorage.removeItem('data-mode');\n          }\n          document.querySelector('html').setAttribute('data-mode', curMode);\n        } catch (e) {\n          console.log(e);\n        }\n      };\n      initThemeMode();\n      window.Joe = {\n        BASE_API: '',\n        isMobile: /windows phone|iphone|android/gi.test(window.navigator.userAgent),\n        bloggerGenerateAvatarOpts: (function () {\n          let generateAvatarOpts = {};\n          let generate_avatar_opts_str = '{bgColor:&#39;&#39;,textColor:&#39;&#39;,useTextGradient:false}';\n          if (generate_avatar_opts_str) {\n            // generate_avatar_opts_str \u793a\u4f8b\uff1a{bgColor:'',textColor:'',useTextGradient:false}, \u89e3\u6790 generate_avatar_opts \u914d\u7f6e\n            try {\n              // \u9632\u6b62 &#39; \u7b49\u7279\u6b8a\u5b57\u7b26\u5bfc\u81f4 JSON \u89e3\u6790\u5931\u8d25\n              const eleTmp = document.createElement('div');\n              eleTmp.innerHTML = generate_avatar_opts_str;\n              // key \u81ea\u52a8\u52a0\u4e0a \"\" \u9632\u6b62\u62a5\u9519\uff0c\u2019 \u81ea\u52a8\u8f6c\u6210 \u201c\n              generate_avatar_opts_str = eleTmp.innerHTML\n                .replace(/'/g, '\"')\n                .replace(/([\\w]+):/g, '\"$1\":');\n              generateAvatarOpts = JSON.parse(generate_avatar_opts_str);\n            } catch (e) {\n              console.error(\n                'Joe3\u4e3b\u9898\u914d\u7f6e\uff1a\u751f\u6210\u6587\u5b57\u6027\u5934\u50cf\u7684\u914d\u7f6e\u89e3\u6790\u5931\u8d25\uff0c\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u3002generate_avatar_opts_str:',\n                generate_avatar_opts_str,\n                ' ,error:',\n                e\n              );\n            }\n          }\n          return generateAvatarOpts;\n        })(),\n        errorImg: function (target, src) {\n          const targetSrc = target.getAttribute('src');\n          console.log(\n            '\u52a0\u8f7d\u56fe\u7247\u5931\u8d25',\n            ' ,srcArg:',\n            src,\n            ' .target.src:',\n            targetSrc,\n            ' ,target.alt:',\n            target.getAttribute('alt'),\n            ' ,target.dataset.errSrc:',\n            target.dataset.errSrc,\n            ' ,target.dataset.textAvatar:',\n            target.dataset.textAvatar\n          );\n\n          let generatedTextAvatar;\n          let generatedTextAvatarBase64;\n\n          switch (src) {\n            case 'HomeErrImg': {\n              // \u5982\u679c src \u662f HomeErrImg \u5219\u4f7f\u7528\u9996\u9875\u914d\u7f6e\u91cc\u914d\u7f6e\u7684\u6587\u7ae0\u9519\u8bef\u7f3a\u7701\u56fe\n              src = '/themes/theme-Joe3/assets/img/default_thumbnail.png';\n              break;\n            }\n            case 'LinksErrImg': {\n              // \u5982\u679c src \u662f LinksErrImg \u5219\u4f7f\u7528\u53cb\u94fe\u914d\u7f6e\u91cc\u914d\u7f6e\u7684\u53cb\u94fe\u9ed8\u8ba4 logo\n              src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';\n              if (\n                !src ||\n                src === targetSrc ||\n                (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)\n              ) {\n                if (target.dataset.textAvatar || target.getAttribute('alt')) {\n                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');\n                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);\n                  src = generatedTextAvatarBase64;\n                } else {\n                  src = '/themes/theme-Joe3/assets/img/default_links_logo.png';\n                }\n              }\n              break;\n            }\n            case 'ErrAvatarImg': {\n              // \u5982\u679c src \u662f ErrAvatarImg \u5219\u4f7f\u7528\u535a\u4e3b\u914d\u7f6e\u91cc\u914d\u7f6e\u7684\u9ed8\u8ba4\u5934\u50cf\n              src = target.dataset.errSrc || '/upload/Quicker_20240719_192526.png';\n              if (\n                !src ||\n                src === targetSrc ||\n                (targetSrc && targetSrc.indexOf('/assets/img/transparent-placeholder.png') !== -1)\n              ) {\n                if (target.dataset.textAvatar || target.getAttribute('alt')) {\n                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');\n                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);\n                  src = generatedTextAvatarBase64;\n                } else {\n                  src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';\n                }\n              }\n              break;\n            }\n            case 'LoadFailedImg': {\n              // \u5982\u679c src \u662f LoadFailedImg \u5219\u4f7f\u7528\u52a0\u8f7d\u5931\u8d25\u7684\u56fe\u7247\n              src = target.dataset.errSrc || '/themes/theme-Joe3/assets/img/img_load_failed.jpg';\n              break;\n            }\n          }\n\n          const nowSrc = src || target.dataset.errSrc || '/themes/theme-Joe3/assets/img/Joe3.png';\n          if (targetSrc === nowSrc) return;\n\n          if (\n            generatedTextAvatarBase64 &&\n            generatedTextAvatar &&\n            nowSrc === generatedTextAvatarBase64\n          ) {\n            target.setAttribute('data-generated-text-avatar', generatedTextAvatar);\n          } else if (target.getAttribute('data-generated-text-avatar')) {\n            target.removeAttribute('data-generated-text-avatar');\n          }\n\n          console.log(\n            '\u52a0\u8f7d\u56fe\u7247\u5931\u8d25\uff0c\u4f7f\u7528\u9ed8\u8ba4\u56fe\u7247:',\n            nowSrc,\n            ' ,oldSrc:',\n            targetSrc,\n            ' ,target.alt:',\n            target.getAttribute('alt')\n          );\n          target.setAttribute('onerror', null);\n          target.setAttribute('src', nowSrc);\n        },\n        // \u5df2\u7ecf\u52a0\u8f7d transparent-placeholder.png \u540e\u66ff\u6362\u56fe\u7247\n        loadedPlaceholderReplaceImg: function (target, src) {\n          const targetSrc = target.getAttribute('src');\n          if (\n            !targetSrc ||\n            src === targetSrc ||\n            targetSrc.indexOf('/assets/img/transparent-placeholder.png') === -1\n          ) {\n            return;\n          }\n\n          console.log(\n            '\u52a0\u8f7d\u56fe\u7247 transparent-placeholder.png \u540e\u66ff\u6362\u56fe\u7247',\n            ' ,srcArg:',\n            src,\n            ' ,target.alt:',\n            target.getAttribute('alt'),\n            ' ,target.dataset.replaceSrc:',\n            target.dataset.replaceSrc,\n            ' ,target.dataset.textAvatar:',\n            target.dataset.textAvatar\n          );\n\n          let generatedTextAvatar;\n          let generatedTextAvatarBase64;\n\n          switch (src) {\n            case 'LinksImg': {\n              // \u5982\u679c src \u662f LinksImg \u5219\u4f7f\u7528\u53cb\u94fe\u914d\u7f6e\u91cc\u914d\u7f6e\u7684\u53cb\u94fe\u9ed8\u8ba4 logo\n              src = target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/default_links_logo.png';\n              if (!src || src === targetSrc) {\n                if (target.dataset.textAvatar || target.getAttribute('alt')) {\n                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');\n                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);\n                  src = generatedTextAvatarBase64;\n                } else {\n                  src = '/themes/theme-Joe3/assets/img/default_links_logo.png';\n                }\n              }\n              break;\n            }\n            case 'AvatarImg': {\n              // \u5982\u679c src \u662f AvatarImg \u5219\u4f7f\u7528\u535a\u4e3b\u914d\u7f6e\u91cc\u914d\u7f6e\u7684\u9ed8\u8ba4\u5934\u50cf\n              src = target.dataset.replaceSrc || '/upload/Quicker_20240719_192526.png';\n              if (!src || src === targetSrc) {\n                if (target.dataset.textAvatar || target.getAttribute('alt')) {\n                  generatedTextAvatar = target.dataset.textAvatar || target.getAttribute('alt');\n                  target.setAttribute('data-generated-text-avatar', generatedTextAvatar);\n                  generatedTextAvatarBase64 = Joe.generateTextAvatarImage(generatedTextAvatar);\n                  src = generatedTextAvatarBase64;\n                } else {\n                  src = '/themes/theme-Joe3/assets/img/peeps-avatar.png';\n                }\n              }\n              break;\n            }\n          }\n\n          const nowSrc =\n            src || target.dataset.replaceSrc || '/themes/theme-Joe3/assets/img/Joe3.png';\n          if (targetSrc === nowSrc) return;\n\n          if (\n            generatedTextAvatarBase64 &&\n            generatedTextAvatar &&\n            nowSrc === generatedTextAvatarBase64\n          ) {\n            target.setAttribute('data-generated-text-avatar', generatedTextAvatar);\n          } else if (target.getAttribute('data-generated-text-avatar')) {\n            target.removeAttribute('data-generated-text-avatar');\n          }\n\n          console.log('\u52a0\u8f7d\u66ff\u6362\u540e\u7684\u56fe\u7247:', nowSrc, ' ,target.alt:', target.getAttribute('alt'));\n          target.setAttribute('onload', null);\n          target.setAttribute('src', nowSrc);\n        },\n        replaceAllTextAvatarImage: function () {\n          console.log('call replaceAllTextAvatarImage');\n          const generatedEles = document.querySelectorAll('img[data-generated-text-avatar]');\n          generatedEles.forEach(function (ele) {\n            const generatedTextAvatar = ele.getAttribute('data-generated-text-avatar');\n            const generatedTextAvatarBase64 = Joe.generateTex",
         "datamd5" : "074cd6ce0f7c102aa8670567ede58c28",
         "datammh3" : 1299520463,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS37963",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "alibaba-inc.com",
               "cnnic.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "ALISOFT",
            "organization" : "Hangzhou Alibaba Advertising Co.,Ltd.",
            "subnet" : "59.110.0.0/16"
         },
         "ip" : "59.110.143.30",
         "ipv6" : "false",
         "latitude" : "39.9110",
         "location" : "39.9110,116.3950",
         "longitude" : "116.3950",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Hangzhou Alibaba Advertising Co.,Ltd.",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "OK",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 200,
         "subnet" : "59.110.0.0/16",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 8.147.128.56:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:10 UTC

    • IP
      8.147.128.56
      Network
      8.144.0.0/14
      Device

      <enterprise field>: device.class

      Operating System
      Microsoft Windows
      URL

      http://8.147.128.56:8090/ 404

      ASN
      AS37963
      Organization
      Hangzhou Alibaba Advertising Co.,Ltd.
      Protocol
      http
      Source
      datascan
    • Operating System
      Microsoft Windows
      Product
      Microsoft IIS 10.0
      HTTP Component(s)
      Microsoft ASP.NET
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      0a1356184b9021a8f4ef456db04addae
      HTTP Header MD5
      601bc276dbd05fc6677527bdd029af58
      HTTP Body MD5
      465981b2c7142b9fb660b39e2de874c1
    • HTTP/1.1 404 Not Found
      Transfer-Encoding: chunked
      Server: Microsoft-IIS/10.0
      X-Powered-By: ASP.NET
      Date: Thu, 21 Nov 2024 10:21:10 GMT
      Connection: close
      
      0
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:10.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "465981b2c7142b9fb660b39e2de874c1",
               "bodymmh3" : -421333641,
               "component" : [
                  {
                     "product" : "ASP.NET",
                     "productvendor" : "Microsoft"
                  }
               ],
               "headermd5" : "601bc276dbd05fc6677527bdd029af58",
               "headermmh3" : 1006508622
            },
            "length" : 166
         },
         "asn" : "AS37963",
         "city" : "Beijing",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 404 Not Found\r\nTransfer-Encoding: chunked\r\nServer: Microsoft-IIS/10.0\r\nX-Powered-By: ASP.NET\r\nDate: Thu, 21 Nov 2024 10:21:10 GMT\r\nConnection: close\r\n\r\n0\r\n\r\n",
         "datamd5" : "0a1356184b9021a8f4ef456db04addae",
         "datammh3" : -1248672836,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS37963",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "alibaba-inc.com"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "ALICLOUD",
            "organization" : "Alibaba.com Singapore E-Commerce Private Limited",
            "subnet" : "8.147.128.0/20"
         },
         "ip" : "8.147.128.56",
         "ipv6" : "false",
         "latitude" : "39.9110",
         "location" : "39.9110,116.3950",
         "longitude" : "116.3950",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Hangzhou Alibaba Advertising Co.,Ltd.",
         "os" : "Windows",
         "osvendor" : "Microsoft",
         "osversion" : [
            "Server 2016",
            10
         ],
         "port" : 8090,
         "product" : "IIS",
         "productvendor" : "Microsoft",
         "productversion" : "10.0",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Not Found",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 404,
         "subnet" : "8.144.0.0/14",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 3.111.223.39:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:10 UTC

    • IP
      3.111.223.39
      Network
      3.104.0.0/13
      Domain(s)
      amazonaws.com
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://3.111.223.39:8090/ 200

      HTTP Title
      Apache Tomcat/9.0.21
      Reverse DNS
      ec2-3-111-223-39.ap-south-1.compute.amazonaws.com
      ASN
      AS16509
      Organization
      AMAZON-02
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      HTTP Component(s)
      Apache Tomcat 9.0.21
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      2a16f430d67a37563a69e6a0e215f5c7
      HTTP Header MD5
      e14ced3f92891e993d65dee51fea368f
      HTTP Body MD5
      43d89e41bdec0945ee065866b7d6b341
      Favicon MD5
      4644f2d45601037b8423d45e13194c93
      Favicon MMH3
      -297069493
    • HTTP/1.1 200 
      Content-Type: text/html;charset=UTF-8
      Transfer-Encoding: chunked
      Date: Thu, 21 Nov 2024 10:14:21 GMT
      Connection: close
      
      2000
      
      
      
      <!DOCTYPE html>
      <html lang="en">
          <head>
              <meta charset="UTF-8" />
              <title>Apache Tomcat/9.0.21</title>
              <link href="favicon.ico" rel="icon" type="image/x-icon" />
              <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
              <link href="tomcat.css" rel="stylesheet" type="text/css" />
          </head>
      
          <body>
              <div id="wrapper">
                  <div id="navigation" class="curved container">
                      <span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
                      <span id="nav-hosts"><a href="/docs/">Documentation</a></span>
                      <span id="nav-config"><a href="/docs/config/">Configuration</a></span>
                      <span id="nav-examples"><a href="/examples/">Examples</a></span>
                      <span id="nav-wiki"><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></span>
                      <span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
                      <span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
                      <br class="separator" />
                  </div>
                  <div id="asf-box">
                      <h1>Apache Tomcat/9.0.21</h1>
                  </div>
                  <div id="upper" class="curved container">
                      <div id="congrats" class="curved container">
                          <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
                      </div>
                      <div id="notice">
                          <img src="tomcat.png" alt="[tomcat logo]" />
                          <div id="tasks">
                              <h3>Recommended Reading:</h3>
                              <h4><a href="/docs/security-howto.html">Security Considerations How-To</a></h4>
                              <h4><a href="/docs/manager-howto.html">Manager Application How-To</a></h4>
                              <h4><a href="/docs/cluster-howto.html">Clustering/Session Replication How-To</a></h4>
                          </div>
                      </div>
                      <div id="actions">
                          <div class="button">
                              <a class="container shadow" href="/manager/status"><span>Server Status</span></a>
                          </div>
                          <div class="button">
                              <a class="container shadow" href="/manager/html"><span>Manager App</span></a>
                          </div>
                          <div class="button">
                              <a class="container shadow" href="/host-manager/html"><span>Host Manager</span></a>
                          </div>
                      </div>
                      <br class="separator" />
                  </div>
                  <div id="middle" class="curved container">
                      <h3>Developer Quick Start</h3>
                      <div class="col25">
                          <div class="container">
                              <p><a href="/docs/setup.html">Tomcat Setup</a></p>
                              <p><a href="/docs/appdev/">First Web Application</a></p>
                          </div>
                      </div>
                      <div class="col25">
                          <div class="container">
                              <p><a href="/docs/realm-howto.html">Realms &amp; AAA</a></p>
                              <p><a href="/docs/jndi-datasource-examples-howto.html">JDBC DataSources</a></p>
                          </div>
                      </div>
                      <div class="col25">
                          <div class="container">
                              <p><a href="/examples/">Examples</a></p>
                          </div>
                      </div>
                      <div class="col25">
                          <div class="container">
                              <p><a href="https://wiki.apache.org/tomcat/Specifications">Servlet Specifications</a></p>
                              <p><a href="https://wiki.apache.org/tomcat/TomcatVersions">Tomcat Versions</a></p>
                          </div>
                      </div>
                      <br class="separator" />
                  </div>
                  <div id="lower">
                      <div id="low-manage" class="">
                          <div class="curved container">
                              <h3>Managing Tomcat</h3>
                              <p>For security, access to the <a href="/manager/html">manager webapp</a> is restricted.
                              Users are defined in:</p>
                              <pre>$CATALINA_HOME/conf/tomcat-users.xml</pre>
                              <p>In Tomcat 9.0 access to the manager application is split between
                                 different users. &nbsp; <a href="/docs/manager-howto.html">Read more...</a></p>
                              <br />
                              <h4><a href="/docs/RELEASE-NOTES.txt">Release Notes</a></h4>
                              <h4><a href="/docs/changelog.html">Changelog</a></h4>
                              <h4><a href="https://tomcat.apache.org/migration.html">Migration Guide</a></h4>
                              <h4><a href="https://tomcat.apache.org/security.html">Security Notices</a></h4>
                          </div>
                      </div>
                      <div id="low-docs" class="">
                          <div class="curved container">
                              <h3>Documentation</h3>
                              <h4><a href="/docs/">Tomcat 9.0 Documentation</a></h4>
                              <h4><a href="/docs/config/">Tomcat 9.0 Configuration</a></h4>
                              <h4><a href="https://wiki.apache.org/tomcat/FrontPage">Tomcat Wiki</a></h4>
                              <p>Find additional important configuration information in:</p>
                              <pre>$CATALINA_HOME/RUNNING.txt</pre>
                              <p>Developers may be interested in:</p>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/bugreport.html">Tomcat 9.0 Bug Database</a></li>
                                  <li><a href="/docs/api/index.html">Tomcat 9.0 JavaDocs</a></li>
                                  <li><a href="https://svn.apache.org/repos/asf/tomcat/tc9.0.x/">Tomcat 9.0 SVN Repository</a></li>
                              </ul>
                          </div>
                      </div>
                      <div id="low-help" class="">
                          <div class="curved container">
                              <h3>Getting Help</h3>
                              <h4><a href="https://tomcat.apache.org/faq/">FAQ</a> and <a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></h4>
                              <p>The following mailing lists are available:</p>
                              <ul>
                                  <li id="list-announce"><strong><a href="https://tomcat.apache.org/lists.html#tomcat-announce">tomcat-announce</a><br />
                                      Important announcements, releases, security vulnerability notifications. (Low volume).</strong>
                                  </li>
                                  <li><a href="https://tomcat.apache.org/lists.html#tomcat-users">tomcat-users</a><br />
                                      User support and discussion
                                  </li>
                                  <li><a href="https://tomcat.apache.org/lists.html#taglibs-user">taglibs-user</a><br />
                                      User support and discussion for <a href="https://tomcat.apache.org/taglibs/">Apache Taglibs</a>
                                  </li>
                                  <li><a href="https://tomcat.apache.org/lists.html#tomcat-dev">tomcat-dev</a><br />
                                      Development mailing list, including commit messages
                                  </li>
                              </ul>
                          </div>
                      </div>
                      <br class="separator" />
                  </div>
                  <div id="footer" class="curved container">
                      <div class="col20">
                          <div class="container">
                              <h4>Other Downloads</h4>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/download-connectors.cgi">Tomcat Connectors</a></li>
                                  <li><a href="https://tomcat.apache.org/download-native.cgi">Tomcat Native</a></li>
                                  <li><a href="https://tomcat.a
      bb0
      pache.org/taglibs/">Taglibs</a></li>
                                  <li><a href="/docs/deployer-howto.html">Deployer</a></li>
                              </ul>
                          </div>
                      </div>
                      <div class="col20">
                          <div class="container">
                              <h4>Other Documentation</h4>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/connectors-doc/">Tomcat Connectors</a></li>
                                  <li><a href="https://tomcat.apache.org/connectors-doc/">mod_jk Documentation</a></li>
                                  <li><a href="https://tomcat.apache.org/native-doc/">Tomcat Native</a></li>
                                  <li><a href="/docs/deployer-howto.html">Deployer</a></li>
                              </ul>
                          </div>
                      </div>
                      <div class="col20">
                          <div class="container">
                              <h4>Get Involved</h4>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/getinvolved.html">Overview</a></li>
                                  <li><a href="https://tomcat.apache.org/svn.html">SVN Repositories</a></li>
                                  <li><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></li>
                                  <li><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></li>
                              </ul>
                          </div>
                      </div>
                      <div class="col20">
                          <div class="container">
                              <h4>Miscellaneous</h4>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/contact.html">Contact</a></li>
                                  <li><a href="https://tomcat.apache.org/legal.html">Legal</a></li>
                                  <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                                  <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                              </ul>
                          </div>
                      </div>
                      <div class="col20">
                          <div class="container">
                              <h4>Apache Software Foundation</h4>
                              <ul>
                                  <li><a href="https://tomcat.apache.org/whoweare.html">Who We Are</a></li>
                                  <li><a href="https://tomcat.apache.org/heritage.html">Heritage</a></li>
                                  <li><a href="https://www.apache.org">Apache Home</a></li>
                                  <li><a href="https://tomcat.apache.org/resources.html">Resources</a></li>
                              </ul>
                          </div>
                      </div>
                      <br class="separator" />
                  </div>
                  <p class="copyright">Copyright &copy;1999-2024 Apache Software Foundation.  All Rights Reserved</p>
              </div>
          </body>
      
      </html>
      
      0
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:10.000Z",
         "app" : {
            "extract" : {
               "domain" : [
                  "tomcat.a",
                  "apache.org"
               ],
               "file" : [
                  "download-native.cgi",
                  "release-notes.txt",
                  "download-connectors.cgi"
               ],
               "hostname" : [
                  "svn.apache.org",
                  "tomcat.a",
                  "tomcat.apache.org",
                  "wiki.apache.org",
                  "www.apache.org"
               ],
               "url" : [
                  "https://svn.apache.org/repos/asf/tomcat/tc9.0.x/",
                  "https://tomcat.a",
                  "https://tomcat.apache.org/",
                  "https://tomcat.apache.org/bugreport.html",
                  "https://tomcat.apache.org/connectors-doc/",
                  "https://tomcat.apache.org/contact.html",
                  "https://tomcat.apache.org/download-connectors.cgi",
                  "https://tomcat.apache.org/download-native.cgi",
                  "https://tomcat.apache.org/faq/",
                  "https://tomcat.apache.org/findhelp.html",
                  "https://tomcat.apache.org/getinvolved.html",
                  "https://tomcat.apache.org/heritage.html",
                  "https://tomcat.apache.org/legal.html",
                  "https://tomcat.apache.org/lists.html",
                  "https://tomcat.apache.org/migration.html",
                  "https://tomcat.apache.org/native-doc/",
                  "https://tomcat.apache.org/resources.html",
                  "https://tomcat.apache.org/security.html",
                  "https://tomcat.apache.org/svn.html",
                  "https://tomcat.apache.org/taglibs/",
                  "https://tomcat.apache.org/whoweare.html",
                  "https://wiki.apache.org/tomcat/FrontPage",
                  "https://wiki.apache.org/tomcat/Specifications",
                  "https://wiki.apache.org/tomcat/TomcatVersions",
                  "https://www.apache.org",
                  "https://www.apache.org/foundation/sponsorship.html",
                  "https://www.apache.org/foundation/thanks.html"
               ]
            },
            "favicon" : {
               "image" : "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//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//KAAAABAAAAAgAAAAAQAYAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////////////////wAAAAAAAP///////////////////////////////////////////////////////wAAAAAAAICNlKuxtv///////////+vr6/n5+f///////////+Xl5Zilr2SHnIGNkwAAAAAAAKWts2mElP////7+/o6Ojo6OjvDw8Pn5+dDS05Cfp1eQsE6NrsTJzfz8/AAAAAAAAP7+/oaTmn6RnXR6fiAiJKOrsZKjrm6SpkSTvSyXzFiJpcTGx////////wAAAAAAAP////T09FxtdziXx0qOsT+Wwyqa0B2WzzeVyF2cuXmVoOzs7P///////wAAAAAAAP///97e3tra2n+SmkmOtDSXyzSXy0GQul2Rq3HH52XL8oKcp+Li4v7+/gAAAAAAAP///9HR0f39/f7+/ra5vWZ0fk+Dn1aFnXOvx3Cov26gs27B45OZnv7+/gAAAAAAAP///9DQ0O7u7v////X19d3d3bm8vm2GkWzH63CovXGnvG683YmhrP7+/gAAAAAAAP////Dw8MzMzNDQ0FlZWaSkpP///4amtmTM82631GvG6WbE6nmqvvX19QAAAAAAAP////////z8/PHx8fX19f////n5+XWToGqGkoOXoHyPl3GRnm6MmPX19QAAAAAAAP////////////////////////z8/HZ5e7+/v/7+/v39/dbW1nx9fvf39wAAAAAAAP///////////////////////////////////////////////////////wAAAAAAAP///////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8oAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAP///////////////////wD///////////////////8A////////////////////AP///////////////////wCIh//////////////4iIgAiIf////////////3iIiIAHiI////iIf////4iHeH/wD4iP//+AiP//94iHd4//8A/4iP9wAP//eIiHd4h///AP94iIAAh4iIh3d3iH///wD/94iIiIiId3d3iIf///8A//+Ih3iHd3d3eIiH////AP//iId4iHd3d4h/eH///wD/94+IiHd3d3iH9/+H//8A//h/+AiIeIiIf3d3eHf/AP/4//94CIB4AH94j3iI/wD/eP///3gIeId4iIh3j/8A//j/////iIiH+Id4/4f/AP/4f/////94h3iHiHeI/wD/94//+Ih/+Id3h3iHeP8A//94h4AAf/h3h4d3d3j/AP///3d4f//4f3d4f/94/wD/////////+HiHcIeIeP8A//////////iAh3iHgIj/AP/////////4AP////gI/wD/////////94//////iP8A////////////////////AP///////////////////wD///////////////////8A////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAA////APT09ADr6+sA5OTkANra2gDV1dUAzMzMAMLCwgC9vb0AtLS0AKurqwCjo6QAnp6eAJSUlACPkZEAhYuQAImKigCFiIoAgoWIAIGEhgBwxuYAY9D5AGnM8wBhz/gAY831AGnI7ABqxegAa8LkAGTG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AAAAAAB8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAACUlpaTlZWRk5Pc3Nz////////////////////////////////////////////////////////////////////////////////39/enp6dneIJYhp5ZgZZQV1kAAAAAAABaXmNBkrxTgpq/v7/////////////////////////////////////////////////////////////////////////5+fmzs7NjbnRKi6w9l8RMja5eeoqrra0AAAAAAADW1tZYgphAk7+jo6P////////////////////9/f2goKBYWFhYWFjOzs7////////////////////////r6+uurq5pdn1PhaEtmtA3lsZxfIPIyMju7u7///8AAAAAAAD///+PkZFLjrRhbnj19fX////////////v7+9jY2MAAAB4eHifn5/w8PD////////////+/v7V1dWIiYxbb3pLjrQ1mMw1mMw4l8dqdXvx8fH///////////8AAAAAAAD////19fVib3ZLkLaChYj5+fn////l5eVOTk4AAABTU1P////////////6+vrb29ugoKBrc3hVd4tDkrwqmtArm9Eumc1TgppRWV7l5eX///////////////8AAAAAAAD////////V1dVadoZKjrFveYCrq6tDQ0MAAAAAAABqamq/v7+jpaaFi5Bnd4FWdopLjrE1mMwnmtAwmtAwmtAsmc9Ph6NfdILY2Nj///////////////////8AAAAAAAD///////////+3t7dUg5tHkbtLW2VUf5ZSeo9Tc4ZNYm5LjrFCk704l8cumc0nmtAtmtAxmc8zmMwtmtA5lsZRfJNPWmDX19f///////////////////////8AAAAAAAD///////////////+OkJBJWmE9l8Qil9Ail9A5lsZTe5InmtAwmtAtmMw0mc4zmMwzmMwzmMwqmtBDkLpTaXVpi5hga3HPz8////////////////////////8AAAAAAAD///////////////+lpaVtcHRRh6MnmtArm9E4l8dUdoo7l8Q0mc4zmMwzmMwzmMwzmMwqmtBHjrRbc39xutdYzPhizPRtiZW+vr7///////////////////8AAAAAAAD////////////Y2Nifn5/+/v6RkZFTfpVShJ87lcI3l8owmMwzmMwumc0zmM0umc0nmtA8ksBWbHhwxuZYzPhhz/hdzflfzvpogIvb29v///////////////8AAAAAAAD///////////+WlpbY2Nj///////+pqak2OTo+lcI8lsNKj7UnmtBAk746mMZCk71IkLZRaHRzq8JazPdwt9Jsv99wrsZjy/JqxehqbnLS0tLl5eX///////8AAAAAAAD////////w8PCIiIj8/Pz////////////a2tp3fYEwNDhMi6xTgJhIWF80l8tPh6NGU1o+REZts81YzPhuqsJdc31tmqxfzPdsuddVZGlbW1uwsLD///////8AAAAAAAD////////j4+OTk5P///////////////////////+2trZaX2QAAABTcoQak845lsZSaHR0ttBgx+9tobVYa3NsmatedH5rkKBjy/Jrv+JncXfs7Oz///////8AAAAAAAD////////q6uqMjIz////////////////////////////39/etra1weH1agJVOhaRddYBjz/ddzflxpblxpbloweNvuNVul6hhzfVezfVrh5Pc3Nz///////8AAAAAAAD////////8/PyJiYnl5eX////////////////////////////////////j4+N6enplg49exexsweNul6hfd4JsorZtmqxedH5vpblizPRuoLOenp7///////8AAAAAAAD////////////S0tKJiYnx8fH////////r6+t/f39WVlZYWFi6urr///////+Xl5doipdmx+5kzPNozPNxo7dryvBhy/Nxp7xvobRmxOptxOd+gYP///////8AAAAAAAD///////////////++vr6KioqsrKy1tbV0dHQAAAAAAABLS0vb29v///////95fH5lz/dgzvdvpblvscpvo7dozvZi0Pljz/dwssxuuddjz/dze4D+/v7///8AAAAAAAD////////////////////19fXa2trV1dXZ2dmamprBwcH9/f3////////+/v5yen9lz/dYzPhk0PlusMlpyOxqj59uv95YzPhVzPhUy/dk0PlqdHr8/Pz///8AAAAAAAD////////////////////////////////////////////////////////+/v5xe4BmzvZsk6NlhZJtqcFxr8gcHh5sj55ssMpumapsk6NnzfRtd338/Pz///8AAAAAAAD///////////////////////////////////////////////////////////97hYtskaEAAABoaGjDw8Ozs7Opqamtra25ubl7e3sAAABoipd7hYv///////8AAAAAAAD///////////////////////////////////////////////////////////+FiIo0OTo8PDzq6ur////////////////////4+PhaWlorLi+BhIb///////8AAAAAAAD///////////////////////////////////////////////////////////+2trZxcXHo6Oj////////////////////////////19fV/f3+oqKj///////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEABAAAAAAAAAYAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wB3d3//////////////////////94CIgAAIiA/////////////////////3iId3iAB4d4////////////////////gIh3iIjwD4h4f//////4AAj///////+AiHeAd//wD3B4j/////eAAAf/////94CId3eI///wD/iHB////3AAd/////94gIh3iHh////wD/+IgH//+AAI////94gIh3d3gAj////wD//wiAj/gAAH//eIAIh3d3eIeI/////wD//3CIgAAAAIiACIh3d3d3d4CP/////wD///gHcIiIgIiHd3d3d3d3iIj//////wD///+ACHd3eId3d3d3d3eICAf//////wD////4B3d3eId3d3d3d3gIf3B//////wD///94iHd3eId3d3d3d4CP9/cH/////wD///+H+Ah4iId3d3d3eAj3d394f////wD///iP/3AAd3d3d3d3eI93/3f3h////wD///B///+Ad4h3iHiIgH94d4f3gIh//wD//3j////4CAh4CHiICHf3gH93gIh//wD//4j/////+AiACHiAiH94iIh3iAh//wD//4j//////3gAB3eAf/cIiICP/4f//wD//4j////////4CIeId3eHd/h/94j//wD//3j/////////+IAId3eId3h3f3j//wD///iP//////////cIf3iIiIiIf3B//wD///cH///3gACH//cId/94//eHd/iP/wD///9wj//wAAAP//iP9494f394h/iP/wD////3iIiAAAj///iPd4iI93d/d/eP/wD////////3iP////h/f/d3eHd3//eP/wD///////////////h/eHf/gH93d/eP/wD///////////////h3AAAIAAgAAHeP/wD///////////////iIAI93d3d4AIeP/wD///////////////eAAP//////gAiP/wD///////////////cAj///////+AB//wD///////////////+H/////////3j//wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wD//////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAADAAAABgAAAAAQAIAAAAAACACgAAAAAAAAAAAAAAAQAAAAAAAP///wD29vYA7OzsAOXl5QDb29sA1NTUAMzMzADDw8MAvLy8ALOzswCtra0Ao6OjAJubmwCXmZkAlJSUAIyMjACEhIQAZND5AGvK8ABhz/gAZc71AGrJ7gBrxuoAbMLkAGXG7ABczfkAW8z3AFLL9wBsv+EAcbzaAHC51gBwt9IAcbPMAHGvyABwrMQAbrzbAG+51gBvttIAb7HKAG+rwwBBlMAAcKa7AHGitABuqL8Ab6W8AG6esQBumasAbpeoAGyTowBukJ0Aao6dAGmJlgBnipgAZ4mWAGaF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AAABVwkAAAAAAAAAAAAAAAAAAAVXAgAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYkAAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8oAAAAMAAAAGAAAAABABgAAAAAAIAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAzc3Nzc3Nzs7Ozc3Nz8/P9vb2/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+yMjIaGhoSFBWTVpjUF1mTFphMDEyAAAAAAAAPj4+SVphUmx7UGd1LzIz7Ozs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr6xMTEX19fTF5oS460J5rQJ5rQNJnOVHiMc3NzAAAAAAAAt7e3UWt6G5XNJ5rQS1hh7e3t/////////////////////////////////////////v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////8/PzsLCwT1BRTmJsSo+1I5nPNpXFU3KDU2t6U1xhk5OT9vb2AAAAAAAA/v7+X19fS460HZbPT2ZyzMzM////////////////////////////////////9vb2fn5+SEhIT09PPT09mJiY////////////////////////////////////////////8/PzlJSULi8wUmp5QpO9KprQJpnPOZfFRk5Utra25eXl+Pj4////////AAAAAAAA////zMzMP0dNM5jMUYejgYGB////////////////////////////////5OTkVlZWAAAAAgICAAAADw8Pvb29////////////////////////////////////19fXiYmJRUpLU3CARZK8I5jRKprQLZrQNJfLTFtksbGx////////////////////AAAAAAAA////////l5eXUGVxM5jNOkNIwMDA////////////////////////sLCwGBgYAAAAGxsbzMzM5OTk7+/v////////////////////////////4uLioqKiXF1eSVlgUYOdPZfEJ5nSMZnPSo+1PpXCNZjMTmJst7e3////////////////////////AAAAAAAA////////////dXV1UoKdP5K+Q0dLz8/P/////////////Pz8jIyMAAAAAAAAAAAAhoaG////////////////////////9/f30dHRmZmZX2FiR1NaUnqPR5G7MJrQJ5rQL5nPLZjMKprQS5C2R1VfMjc7ra2t////////////////////////////AAAAAAAA////////////7u7uRUhJQZK8PpO+OT1Al5eX9/f39/f3X19fAAAAAAAAAAAAAAAAv7+//////v7+9vb22NjYn5+fZmZmNjc4R1RdUYCYRJG7LpjOJ5nSMJrQNJnNM5jMLpnNRpK5S4ytKprQS11npKSk////////////////////////////////AAAAAAAA////////////////xcXFOkFGOZXCO5XCUW19TlNVTExMAAAAAAAAAAAAAAAAAgICbm5ueXp7XV5hSE9USlphU3CAUIaiQpO9LpnNJ5rQMJrQNJnOM5jMM5jMM5jMM5jMKZnPLZjMSFdhMzg8l5mZ////////////////////////////////////AAAAAAAA////////////////////r6+vQUtRMJbKKpfNRVJaUW9/UYOdU3uSUnyRUoGZQExSVHaKRZG4PpXCNJfLLpnNJ5rQKprQMJrQMZnNM5jMM5jMM5jMM5jMM5jMLpnNJ5rQS4qrUXeNTmNvl5eX////////////////////////////////////////AAAAAAAA////////////////////////qampSFhfR1hgU3KDJ5rQJ5rQJ5rQJ5rQG5XNUW9/UISeIpfQLpnNLpnNNJnOM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMLJnPOZbGTmNvOT5DUmFmHh4ezMzM////////////////////////////////////////AAAAAAAA////////////////////////////Y2NjLTEyNZfILJnPNZjMM5jMM5jMJ5nSVHaKVHaKJ5nSM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMKprQO5XCNz9EYXR9a8jsW835cLDJODxAubm5////////////////////////////////////AAAAAAAA////////////////////////z8/PX19fdHR0SlxmM5bJLZrQNJnOLZrQKprQUYejT2ZyLZrQM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMLZrQP5K+QUtRbpCdW835Yc75ZND5W835bL7gR01Ps7Oz////////////////////////////////AAAAAAAA/////////////////////Pz8X19fxcXF////n5+fQ05TQZTAL5nPUYejOZfFOZfFSo+1NJnOM5jMM5jMM5jMM5jMM5jMM5jMM5jMM5jMLZrQP5K8NjxAb5qrWsz3Yc/4ZND5ZND5ZND5W835acTnS1Vbvb29////////////////////////////AAAAAAAA////////////////////oKCgcXFx////////////vr6+QERIP0dNR1dhMJrQLpnNJpjRM5jMNJfLM5jMLpnNLpnNNJfLLpnNJ5rQJpnPMpfMSVhicqKyW835Y8/3Z8vyYc75Yc75ZMzza8rvXc35ZcbtV2Fk3t7e////////////////////////AAAAAAAA////////////////+fn5S0tLyMjI////////////////6OjoYmJiQU1TOZfFJ5rQTYqqU3KDNJfLJ5rQPZfETourLZrQRpC5U3eLUnyTSlxmNDk6asPmX876Zs72YXuGbqi/bMXoXXN9ca/IXc35ZszzXHB6VFRUq6urnZ2d1tbW////////////AAAAAAAA////////////////2dnZU1NT+Pj4////////////////////+Pj4l5eXQUZLTV9pFhcYTompIZbPTourMzg8Un2TIpfQSZG4VHOFUGp5Hx8iaYmWbsHjYc/4W835asHjT1tiPkRIb6m/WMz4Yc/4a8bpbZSkRU5RY2NjmZmZ0dHR////////////AAAAAAAA////////////////r6+vjY2N////////////////////////////////6Ojofn5+KiwvUYejUm5+AAAAFhcYPZXAKprQRZG4U3WJLjIzT1tia5CgbsHhYc75cbXPXnJ8b5ipbqi/W295bp6xZND5a8fua5KiZYGNMDEykJCQ1tbW////////////AAAAAAAA////////////////pKSknp6e////////////////////////////////////////2dnZfX19FxcXAAAASFZgJ5nSKprQJ5rQRpC5PURHZ8XoW835Yc75bMPlP0VHXnR+bJOjbJOjZ4WROkBCcKa7W835X876Xc35XXN9vb29////////////////AAAAAAAA////////////////ra2tjo6O////////////////////////////////////////////////5+fnkJCQMDIyTF5oToyuKprQUXCCRk5Ra8rvYc/4Yc/4Yc/4ZYWSacXrYc/4ZND5W835a5KibL3cW835X876acjsZ4WRcXFx////////////////AAAAAAAA////////////////1tbWVVVV+Pj4////////////////////////////////////////////////////7u7usbGxaWtrSU9TLTEyb5ipZ8vyYc/4a8bpcbzaZoaTbZyucL3bb7rYcLvZYXmEbrDJbrfUbMXoX876asjvVFha9fX1////////////AAAAAAAA////////////////////WlpapaWl/////////////////////////////////f39+fn5/Pz8////////////////////5eXlJykpbpeocbzaX876cLnWbJOiZoaTUF1kbpmqbZSkbpmqXXF7V2lxbZqsbrnXYc/4bqi/Mzg50tLS////////////AAAAAAAA////////////////////3NzcSEhIzMzM////////////////////09PTeXl5Tk5OPDw8RkZGZGRk2dnZ////////////zs7OKCssa5Kia8bpZND5Xc35WMz4ZcPpZYOPXMz3W835WMz4ZMfuZYWSb7HKa8rwZs72WMz4ao+fr6+v////////////AAAAAAAA////////////////////////0dHRODg4kZGR6urq/Pz8/v7+9fX1S0tLAAAAAAAAAAAAAAAATExM7+/v////////////sLCwZ4qYUsv3Xs/4bcTnb5amXc35YsXsZH6JZs72Yc75ZND5Yc75asTqbZipZYGNb77dWMz4b6K5lZWV////////////AAAAAAAA////////////////////////////3Nzcd3d3WlpaY2NjaGhoampqLCwsAAAAAAAAFhYWgYGB7+/v////////////////m5ubbputW835ZND5ZND5Z4mWaYybbZSkbpeoYc/4bMHjZND5ZND5Yc/4Xc35ZM72Zc/3Xc35b6vDhISE////////////AAAAAAAA////////////////////////////////////9/f36Ojo5ubm9fX13d3dkpKSqKio5+fn////////////////////////hoaGb6e+Xc35Yc/4Wsz3W835cLfSb6m/Ys72b7zaVWVtY831Yc/4Y8/3Yc/4W835Yc75X876cKzEeXl5////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////eXl5cKzEWMz4acbqcKK2b7jVZ830Yc75Wsz3ZIKOAwMDa7/iX876Z8/3a8rwb7XQbsHjWMz4cKrBenp6////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////hYWFcK7GZs72Q0xPAAAADQ0NLi8wQUlLT1tiGxwdAAAARk9SUV5lQUlLJykpAAAAMzg5ZsfucK7Gh4eH////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////mJiYbqW9Y32IAAAAAAAAg4OD7+/v09PTwsLCurq6tra2vLy8xMTE3t7epKSkAAAAAAAAW295bqW9l5eX////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////srKyYnyHKy4vAAAASEhI7+/v////////////////////////////////////dnZ2AAAAHh8fX3eCrq6u////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////2dnZJicpBgYGY2Nj7Ozs/////////////////////////////////////////Pz8i4uLBgYGGRoby8vL////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////9/f3b29vt7e3/f39////////////////////////////////////////////////////1dXVbm5u6+vr////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//",
               "imagemd5" : "4644f2d45601037b8423d45e13194c93",
               "imagemmh3" : -297069493,
               "length" : 21630,
               "url" : "/favicon.ico"
            },
            "http" : {
               "bodymd5" : "43d89e41bdec0945ee065866b7d6b341",
               "bodymmh3" : 1776323568,
               "component" : [
                  {
                     "product" : "Tomcat",
                     "productvendor" : "Apache",
                     "productversion" : "9.0.21"
                  }
               ],
               "headermd5" : "e14ced3f92891e993d65dee51fea368f",
               "headermmh3" : 478639468,
               "title" : "Apache Tomcat/9.0.21"
            },
            "length" : 11344
         },
         "asn" : "AS16509",
         "city" : "Mumbai",
         "country" : "IN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 \r\nContent-Type: text/html;charset=UTF-8\r\nTransfer-Encoding: chunked\r\nDate: Thu, 21 Nov 2024 10:14:21 GMT\r\nConnection: close\r\n\r\n2000\r\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <meta charset=\"UTF-8\" />\n        <title>Apache Tomcat/9.0.21</title>\n        <link href=\"favicon.ico\" rel=\"icon\" type=\"image/x-icon\" />\n        <link href=\"favicon.ico\" rel=\"shortcut icon\" type=\"image/x-icon\" />\n        <link href=\"tomcat.css\" rel=\"stylesheet\" type=\"text/css\" />\n    </head>\n\n    <body>\n        <div id=\"wrapper\">\n            <div id=\"navigation\" class=\"curved container\">\n                <span id=\"nav-home\"><a href=\"https://tomcat.apache.org/\">Home</a></span>\n                <span id=\"nav-hosts\"><a href=\"/docs/\">Documentation</a></span>\n                <span id=\"nav-config\"><a href=\"/docs/config/\">Configuration</a></span>\n                <span id=\"nav-examples\"><a href=\"/examples/\">Examples</a></span>\n                <span id=\"nav-wiki\"><a href=\"https://wiki.apache.org/tomcat/FrontPage\">Wiki</a></span>\n                <span id=\"nav-lists\"><a href=\"https://tomcat.apache.org/lists.html\">Mailing Lists</a></span>\n                <span id=\"nav-help\"><a href=\"https://tomcat.apache.org/findhelp.html\">Find Help</a></span>\n                <br class=\"separator\" />\n            </div>\n            <div id=\"asf-box\">\n                <h1>Apache Tomcat/9.0.21</h1>\n            </div>\n            <div id=\"upper\" class=\"curved container\">\n                <div id=\"congrats\" class=\"curved container\">\n                    <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>\n                </div>\n                <div id=\"notice\">\n                    <img src=\"tomcat.png\" alt=\"[tomcat logo]\" />\n                    <div id=\"tasks\">\n                        <h3>Recommended Reading:</h3>\n                        <h4><a href=\"/docs/security-howto.html\">Security Considerations How-To</a></h4>\n                        <h4><a href=\"/docs/manager-howto.html\">Manager Application How-To</a></h4>\n                        <h4><a href=\"/docs/cluster-howto.html\">Clustering/Session Replication How-To</a></h4>\n                    </div>\n                </div>\n                <div id=\"actions\">\n                    <div class=\"button\">\n                        <a class=\"container shadow\" href=\"/manager/status\"><span>Server Status</span></a>\n                    </div>\n                    <div class=\"button\">\n                        <a class=\"container shadow\" href=\"/manager/html\"><span>Manager App</span></a>\n                    </div>\n                    <div class=\"button\">\n                        <a class=\"container shadow\" href=\"/host-manager/html\"><span>Host Manager</span></a>\n                    </div>\n                </div>\n                <br class=\"separator\" />\n            </div>\n            <div id=\"middle\" class=\"curved container\">\n                <h3>Developer Quick Start</h3>\n                <div class=\"col25\">\n                    <div class=\"container\">\n                        <p><a href=\"/docs/setup.html\">Tomcat Setup</a></p>\n                        <p><a href=\"/docs/appdev/\">First Web Application</a></p>\n                    </div>\n                </div>\n                <div class=\"col25\">\n                    <div class=\"container\">\n                        <p><a href=\"/docs/realm-howto.html\">Realms &amp; AAA</a></p>\n                        <p><a href=\"/docs/jndi-datasource-examples-howto.html\">JDBC DataSources</a></p>\n                    </div>\n                </div>\n                <div class=\"col25\">\n                    <div class=\"container\">\n                        <p><a href=\"/examples/\">Examples</a></p>\n                    </div>\n                </div>\n                <div class=\"col25\">\n                    <div class=\"container\">\n                        <p><a href=\"https://wiki.apache.org/tomcat/Specifications\">Servlet Specifications</a></p>\n                        <p><a href=\"https://wiki.apache.org/tomcat/TomcatVersions\">Tomcat Versions</a></p>\n                    </div>\n                </div>\n                <br class=\"separator\" />\n            </div>\n            <div id=\"lower\">\n                <div id=\"low-manage\" class=\"\">\n                    <div class=\"curved container\">\n                        <h3>Managing Tomcat</h3>\n                        <p>For security, access to the <a href=\"/manager/html\">manager webapp</a> is restricted.\n                        Users are defined in:</p>\n                        <pre>$CATALINA_HOME/conf/tomcat-users.xml</pre>\n                        <p>In Tomcat 9.0 access to the manager application is split between\n                           different users. &nbsp; <a href=\"/docs/manager-howto.html\">Read more...</a></p>\n                        <br />\n                        <h4><a href=\"/docs/RELEASE-NOTES.txt\">Release Notes</a></h4>\n                        <h4><a href=\"/docs/changelog.html\">Changelog</a></h4>\n                        <h4><a href=\"https://tomcat.apache.org/migration.html\">Migration Guide</a></h4>\n                        <h4><a href=\"https://tomcat.apache.org/security.html\">Security Notices</a></h4>\n                    </div>\n                </div>\n                <div id=\"low-docs\" class=\"\">\n                    <div class=\"curved container\">\n                        <h3>Documentation</h3>\n                        <h4><a href=\"/docs/\">Tomcat 9.0 Documentation</a></h4>\n                        <h4><a href=\"/docs/config/\">Tomcat 9.0 Configuration</a></h4>\n                        <h4><a href=\"https://wiki.apache.org/tomcat/FrontPage\">Tomcat Wiki</a></h4>\n                        <p>Find additional important configuration information in:</p>\n                        <pre>$CATALINA_HOME/RUNNING.txt</pre>\n                        <p>Developers may be interested in:</p>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/bugreport.html\">Tomcat 9.0 Bug Database</a></li>\n                            <li><a href=\"/docs/api/index.html\">Tomcat 9.0 JavaDocs</a></li>\n                            <li><a href=\"https://svn.apache.org/repos/asf/tomcat/tc9.0.x/\">Tomcat 9.0 SVN Repository</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <div id=\"low-help\" class=\"\">\n                    <div class=\"curved container\">\n                        <h3>Getting Help</h3>\n                        <h4><a href=\"https://tomcat.apache.org/faq/\">FAQ</a> and <a href=\"https://tomcat.apache.org/lists.html\">Mailing Lists</a></h4>\n                        <p>The following mailing lists are available:</p>\n                        <ul>\n                            <li id=\"list-announce\"><strong><a href=\"https://tomcat.apache.org/lists.html#tomcat-announce\">tomcat-announce</a><br />\n                                Important announcements, releases, security vulnerability notifications. (Low volume).</strong>\n                            </li>\n                            <li><a href=\"https://tomcat.apache.org/lists.html#tomcat-users\">tomcat-users</a><br />\n                                User support and discussion\n                            </li>\n                            <li><a href=\"https://tomcat.apache.org/lists.html#taglibs-user\">taglibs-user</a><br />\n                                User support and discussion for <a href=\"https://tomcat.apache.org/taglibs/\">Apache Taglibs</a>\n                            </li>\n                            <li><a href=\"https://tomcat.apache.org/lists.html#tomcat-dev\">tomcat-dev</a><br />\n                                Development mailing list, including commit messages\n                            </li>\n                        </ul>\n                    </div>\n                </div>\n                <br class=\"separator\" />\n            </div>\n            <div id=\"footer\" class=\"curved container\">\n                <div class=\"col20\">\n                    <div class=\"container\">\n                        <h4>Other Downloads</h4>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/download-connectors.cgi\">Tomcat Connectors</a></li>\n                            <li><a href=\"https://tomcat.apache.org/download-native.cgi\">Tomcat Native</a></li>\n                            <li><a href=\"https://tomcat.a\r\nbb0\r\npache.org/taglibs/\">Taglibs</a></li>\n                            <li><a href=\"/docs/deployer-howto.html\">Deployer</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <div class=\"col20\">\n                    <div class=\"container\">\n                        <h4>Other Documentation</h4>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/connectors-doc/\">Tomcat Connectors</a></li>\n                            <li><a href=\"https://tomcat.apache.org/connectors-doc/\">mod_jk Documentation</a></li>\n                            <li><a href=\"https://tomcat.apache.org/native-doc/\">Tomcat Native</a></li>\n                            <li><a href=\"/docs/deployer-howto.html\">Deployer</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <div class=\"col20\">\n                    <div class=\"container\">\n                        <h4>Get Involved</h4>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/getinvolved.html\">Overview</a></li>\n                            <li><a href=\"https://tomcat.apache.org/svn.html\">SVN Repositories</a></li>\n                            <li><a href=\"https://tomcat.apache.org/lists.html\">Mailing Lists</a></li>\n                            <li><a href=\"https://wiki.apache.org/tomcat/FrontPage\">Wiki</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <div class=\"col20\">\n                    <div class=\"container\">\n                        <h4>Miscellaneous</h4>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/contact.html\">Contact</a></li>\n                            <li><a href=\"https://tomcat.apache.org/legal.html\">Legal</a></li>\n                            <li><a href=\"https://www.apache.org/foundation/sponsorship.html\">Sponsorship</a></li>\n                            <li><a href=\"https://www.apache.org/foundation/thanks.html\">Thanks</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <div class=\"col20\">\n                    <div class=\"container\">\n                        <h4>Apache Software Foundation</h4>\n                        <ul>\n                            <li><a href=\"https://tomcat.apache.org/whoweare.html\">Who We Are</a></li>\n                            <li><a href=\"https://tomcat.apache.org/heritage.html\">Heritage</a></li>\n                            <li><a href=\"https://www.apache.org\">Apache Home</a></li>\n                            <li><a href=\"https://tomcat.apache.org/resources.html\">Resources</a></li>\n                        </ul>\n                    </div>\n                </div>\n                <br class=\"separator\" />\n            </div>\n            <p class=\"copyright\">Copyright &copy;1999-2024 Apache Software Foundation.  All Rights Reserved</p>\n        </div>\n    </body>\n\n</html>\n\r\n0\r\n\r\n",
         "datamd5" : "2a16f430d67a37563a69e6a0e215f5c7",
         "datammh3" : -73972637,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "domain" : [
            "amazonaws.com"
         ],
         "geolocus" : {
            "asn" : "AS16509",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "IN",
            "countryname" : "India",
            "domain" : [
               "amazon.com",
               "amazonaws.com",
               "aws.com"
            ],
            "isineu" : "false",
            "latitude" : "20.593684",
            "location" : "20.593684,78.96288",
            "longitude" : "78.96288",
            "netname" : "AMAZON-BOM",
            "organization" : "Amazon Data Services India",
            "subnet" : "3.108.0.0/14"
         },
         "host" : [
            "ec2-3-111-223-39"
         ],
         "hostname" : [
            "ec2-3-111-223-39.ap-south-1.compute.amazonaws.com"
         ],
         "ip" : "3.111.223.39",
         "ipv6" : "false",
         "latitude" : "19.0748",
         "location" : "19.0748,72.8856",
         "longitude" : "72.8856",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "AMAZON-02",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reverse" : [
            "ec2-3-111-223-39.ap-south-1.compute.amazonaws.com"
         ],
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 200,
         "subdomains" : [
            "ap-south-1.compute.amazonaws.com",
            "compute.amazonaws.com"
         ],
         "subnet" : "3.104.0.0/13",
         "tag" : "<enterprise field>: tag",
         "tld" : [
            "com"
         ],
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 121.17.252.80:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:10 UTC

    • IP
      121.17.252.80
      Network
      121.16.0.0/13
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://121.17.252.80:8090/ 403

      HTTP Title
      403 Forbidden
      ASN
      AS4837
      Organization
      CHINA UNICOM China169 Backbone
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      OpenResty OpenResty
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      193c5127d38569aa3adb5756fc4693ae
      HTTP Header MD5
      b7cfadf7c5ac74106924f67eec89c018
      HTTP Body MD5
      8bee748834def5e83f789ae0e5cf0a10
    • HTTP/1.1 403 Forbidden
      Server: openresty
      Date: Thu, 21 Nov 2024 10:21:09 GMT
      Content-Type: text/html
      Content-Length: 162
      Connection: close
      
      <html>
      <head><title>403 Forbidden</title></head>
      <body bgcolor="white">
      <center><h1>403 Forbidden</h1></center>
      <hr><center>nginx</center>
      </body>
      </html>
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:10.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "8bee748834def5e83f789ae0e5cf0a10",
               "bodymmh3" : 917197141,
               "headermd5" : "b7cfadf7c5ac74106924f67eec89c018",
               "headermmh3" : 1302273065,
               "title" : "403 Forbidden"
            },
            "length" : 309
         },
         "asn" : "AS4837",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 403 Forbidden\r\nServer: openresty\r\nDate: Thu, 21 Nov 2024 10:21:09 GMT\r\nContent-Type: text/html\r\nContent-Length: 162\r\nConnection: close\r\n\r\n<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n",
         "datamd5" : "193c5127d38569aa3adb5756fc4693ae",
         "datammh3" : 899009053,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS4837",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "chinaunicom.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "UNICOM-HE",
            "organization" : "CNC Group CHINA169 Hebei Province Network",
            "subnet" : "121.16.0.0/13"
         },
         "ip" : "121.17.252.80",
         "ipv6" : "false",
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "CHINA UNICOM China169 Backbone",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "product" : "OpenResty",
         "productvendor" : "OpenResty",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Forbidden",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 403,
         "subnet" : "121.16.0.0/13",
         "tag" : "<enterprise field>: tag",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 45.223.244.24:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:08 UTC

    • IP
      45.223.244.24
      Network
      45.223.240.0/21
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://45.223.244.24:8090/ 503

      ASN
      AS19551
      Organization
      INCAPSULA
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      b210929a54503e18e5e3b6ff9a51ac34
      HTTP Header MD5
      6256e10fc2c3bc2fdb6ccf9e197578a3
      HTTP Body MD5
      2c113d07c6ac89fedd562eec62b12e9f
    • HTTP/1.1 503 Service Unavailable
      Content-Type: text/html
      Cache-Control: no-cache, no-store
      Connection: close
      Content-Length: 693
      X-Iinfo: 61-201031707-0 0NNN RT(1732184466713 162) q(0 -1 -1 -1) r(0 -1)
      
      <html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></head><body style="margin:0px;height:100%"><iframe id="main-iframe" src="/_Incapsula_Resource?CWUDNSAI=5&xinfo=61-201031707-0%200NNN%20RT%281732184466713%20162%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29&incident_id=0-1097597627261060605&edet=22&cinfo=ffffffff&rpinfo=0&mth=GET" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 0-1097597627261060605</iframe></body></html>
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:08.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "2c113d07c6ac89fedd562eec62b12e9f",
               "bodymmh3" : -2138923635,
               "headermd5" : "6256e10fc2c3bc2fdb6ccf9e197578a3",
               "headermmh3" : 1684383927
            },
            "length" : 903
         },
         "asn" : "AS19551",
         "country" : "US",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 503 Service Unavailable\r\nContent-Type: text/html\r\nCache-Control: no-cache, no-store\r\nConnection: close\r\nContent-Length: 693\r\nX-Iinfo: 61-201031707-0 0NNN RT(1732184466713 162) q(0 -1 -1 -1) r(0 -1)\r\n\r\n<html style=\"height:100%\"><head><META NAME=\"ROBOTS\" CONTENT=\"NOINDEX, NOFOLLOW\"><meta name=\"format-detection\" content=\"telephone=no\"><meta name=\"viewport\" content=\"initial-scale=1.0\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\"></head><body style=\"margin:0px;height:100%\"><iframe id=\"main-iframe\" src=\"/_Incapsula_Resource?CWUDNSAI=5&xinfo=61-201031707-0%200NNN%20RT%281732184466713%20162%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29&incident_id=0-1097597627261060605&edet=22&cinfo=ffffffff&rpinfo=0&mth=GET\" frameborder=0 width=\"100%\" height=\"100%\" marginheight=\"0px\" marginwidth=\"0px\">Request unsuccessful. Incapsula incident ID: 0-1097597627261060605</iframe></body></html>",
         "datamd5" : "b210929a54503e18e5e3b6ff9a51ac34",
         "datammh3" : 1473271824,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS19551",
            "continent" : "NA",
            "continentname" : "North America",
            "country" : "US",
            "countryname" : "United States",
            "domain" : [
               "imperva.com",
               "incapsula.com",
               "thalesgroup.com"
            ],
            "isineu" : "false",
            "latitude" : "37.09024",
            "location" : "37.09024,-95.712891",
            "longitude" : "-95.712891",
            "netname" : "INCAPSULA-NET",
            "organization" : "Incapsula Inc",
            "subnet" : "45.223.244.0/24"
         },
         "ip" : "45.223.244.24",
         "ipv6" : "false",
         "latitude" : "37.7510",
         "location" : "37.7510,-97.8220",
         "longitude" : "-97.8220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "INCAPSULA",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Service Unavailable",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 503,
         "subnet" : "45.223.240.0/21",
         "tag" : "<enterprise field>: tag",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }
      
  • 39.134.145.208:8090 (tcp/http) - last seen on 2024-11-21 at 10:21:07 UTC

    • IP
      39.134.145.208
      Network
      39.134.144.0/21
      Device

      <enterprise field>: device.class

      Operating System
      Linux Linux Kernel
      URL

      http://39.134.145.208:8090/ 403

      HTTP Title
      403 Forbidden
      ASN
      AS24444
      Organization
      Shandong Mobile Communication Company Limited
      Protocol
      http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      CPE(s)

      <enterprise field>: cpe

    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      155b448119a49ade2fa4ba0f1d864528
      HTTP Header MD5
      4509fcf8c66670583f97332cdb74792e
      HTTP Body MD5
      ee9e6ebd6a0c33f3f19fe214ec14c066
    • HTTP/1.1 403 Forbidden
      Date: Thu, 21 Nov 2024 10:21:06 GMT
      Content-Type: text/html
      Content-Length: 129
      Connection: close
      ETag: "66ccb0be-81"
      NO_SERVICE: 1
      
      <html>
      <head><title>403 Forbidden</title></head>
      <body bgcolor="white">
      <center><h1>403--Forbidden</h1></center>
      </body>
      </html>
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-21T10:21:07.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "ee9e6ebd6a0c33f3f19fe214ec14c066",
               "bodymmh3" : -1388987881,
               "header" : [
                  {
                     "value" : "66ccb0be-81",
                     "name" : "ETag"
                  }
               ],
               "headermd5" : "4509fcf8c66670583f97332cdb74792e",
               "headermmh3" : -1065677738,
               "title" : "403 Forbidden"
            },
            "length" : 293
         },
         "asn" : "AS24444",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 403 Forbidden\r\nDate: Thu, 21 Nov 2024 10:21:06 GMT\r\nContent-Type: text/html\r\nContent-Length: 129\r\nConnection: close\r\nETag: \"66ccb0be-81\"\r\nNO_SERVICE: 1\r\n\r\n<html>\n<head><title>403 Forbidden</title></head>\n<body bgcolor=\"white\">\n<center><h1>403--Forbidden</h1></center>\n</body>\n</html>\n",
         "datamd5" : "155b448119a49ade2fa4ba0f1d864528",
         "datammh3" : -1558754217,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "geolocus" : {
            "asn" : "AS24444",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "chinamobile.com"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CMNET",
            "organization" : "China Mobile",
            "subnet" : "39.134.144.0/21"
         },
         "ip" : "39.134.145.208",
         "ipv6" : "false",
         "latitude" : "36.1155",
         "location" : "36.1155,120.3024",
         "longitude" : "120.3024",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Shandong Mobile Communication Company Limited",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 8090,
         "protocol" : "http",
         "protocolversion" : "1.1",
         "reason" : "Forbidden",
         "seen_date" : "2024-11-21",
         "source" : "datascan",
         "status" : 403,
         "subnet" : "39.134.144.0/21",
         "tag" : "<enterprise field>: tag",
         "tls" : "false",
         "transport" : "tcp",
         "url" : "/"
      }