a neat project
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: use proper native authentication

+1925 -302
+1061
capture_auth.mitm
··· 1 + 8933:9:websocket;0:~8:response;1162:6:reason;2:OK,11:status_code;3:200#13:timestamp_end;17:1774973973.846418^15:timestamp_start;17:1774973973.845837^8:trailers;0:~7:content;713:{"sts":"gAAAAABpy_QVvgUXi96yKMfDXf0xcdThV2ClLcEUDB6m0q9KUqXLyhFFSpFbXlu9bCCl5pCB6IdqUt2l7zFupB7u6iymGgC3TFXLqrT2yG2QWkBAcdBOIGqwlgG9vRcH-mcF1cCf4qlls2Y7yafyWC2Xr5QQQIw0ryNxcuYpLVbFlchaNkWqWydMUZTde449UoMup4Zd9F7HDrlx_tD_wmjki44HCTrT4p9ekPW2gxrximDjqvAZ2sgyEnT8Yi6SVuxgt51cPK3wpbGRUMUMT6rU3BXzjDHgjv0SXjRrmY29jSKuBPYoQbc=","std":"gAAAAABpy_QVbwLchFab8OPaOuf7I1NB-g14x_vEO8AXzumWDUJxcOLuBMYQ2pB7W8upKmGfW5XAkrRHkU2SItpZEfuAJ6mtu2g0r3-neHdW8MmkOx1SyJyvNyND6TF0UhGsFb9En3jt3K-JQD70YBfh6ykN5inEeV8V76fXhXzSgR9BFNGdrEcT2GeF-I4F1iM5-4h4nc9v","nextWupInterval":5000,"new_sid":"1774973973831-san0000306-3f7c575b-3710-408c-9083-41be5a4bf433","reset_session":true,"wupsSendRate":5000,"isCallInfo":true,"isLightEvents":false},7:headers;265:36:12:Content-Type,16:application/json,]24:14:Content-Length,3:713,]28:10:Connection,10:keep-alive,]40:4:date,29:Tue, 31 Mar 2026 16:19:33 GMT,]39:13:cache-control,18:no-cache, no-store,]20:6:pragma,8:no-cache,]50:7:tail-id,36:351a3a0f-9ebd-4dd8-959b-a7a0b1cea933,]]12:http_version;8:HTTP/1.1,}7:request;914:4:path;33:/client/v3.1/web/wup?cid=huntress,9:authority;0:,6:scheme;5:https,6:method;4:POST,4:port;3:443#4:host;31:wup-a4e4d8a1.us.v2.we-stats.com;13:timestamp_end;17:1774973973.790585^15:timestamp_start;17:1774973973.790004^8:trailers;0:~7:content;173:{"muid":"1774928709717-f7a7eb04-2132-4a1f-8552-8a700301ba5e","agent_type":"primary","c":"android","csid":"f2ab1f85-e0da-40f9-8869-bebb78d2d3ec","requestId":0,"ds":"android"},7:headers;445:74:11:traceparent,55:00-e3f91e5ce00f01fe8c2ea80ca482441a-b7ca26b9b0efb9ef-00,]36:12:Content-Type,16:application/json,]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_106_17,]95:10:User-Agent,77:Dalvik/2.1.0 (Linux; U; Android 14; sdk_gphone64_arm64 Build/UE1A.230829.050),]42:4:Host,31:wup-a4e4d8a1.us.v2.we-stats.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]24:14:Content-Length,3:173,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;17:1774973973.790151^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;6054:3:via;0:~19:timestamp_tcp_setup;17:1774973973.518284^7:address;41:31:wup-a4e4d8a1.us.v2.we-stats.com;3:443#]19:timestamp_tls_setup;16:1774973973.64785^13:timestamp_end;0:~15:timestamp_start;17:1774973973.462806^3:sni;31:wup-a4e4d8a1.us.v2.we-stats.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;5475:2362:-----BEGIN CERTIFICATE----- 2 + MIIGojCCBYqgAwIBAgIINwnDZc7L11cwDQYJKoZIhvcNAQELBQAwgbQxCzAJBgNV 3 + BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRow 4 + GAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UECxMkaHR0cDovL2NlcnRz 5 + LmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQDEypHbyBEYWRkeSBTZWN1 6 + cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwHhcNMjUwNjMwMDgxMzU2WhcN 7 + MjYwODAxMDgxMzU2WjAfMR0wGwYDVQQDDBQqLnVzLnYyLndlLXN0YXRzLmNvbTCC 8 + ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM+POh1561ndFWZPuVvRxDUD 9 + xH+XkXPAVXCta/vYALkXr3mYy3V41L5vbP9PrIYz0H94M5pTDZkh+SXk9ZYb4FOy 10 + vuiU55CxTuXYmvdxrgiBKCvsV7O15OZEDOq7AexFdPhePbh3Y+zDgVzpnXrlgtSW 11 + qhU2TO4YFyRgS7Ri3OkUUlaPNR8Y1jMCp1jA0YNn/dScYuxbmUJzhB3MQ9/eB4mt 12 + yjkEe1lwMLblW7IFkOjXmfEHEW5aAVBQIYdN2XwAWzIwqo704Wj8ck2DagVrTgcY 13 + Vd42b+poaKBtD9T0mAyR+kkHn56LMLeN8KXXG2Qw1WcvuUkAmIuhELaEc/gOphMC 14 + AwEAAaOCA0owggNGMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG 15 + CCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDA5BgNVHR8EMjAwMC6gLKAqhihodHRw 16 + Oi8vY3JsLmdvZGFkZHkuY29tL2dkaWcyczEtNTIxODAuY3JsMF0GA1UdIARWMFQw 17 + SAYLYIZIAYb9bQEHFwEwOTA3BggrBgEFBQcCARYraHR0cDovL2NlcnRpZmljYXRl 18 + cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzAIBgZngQwBAgEwdgYIKwYBBQUHAQEE 19 + ajBoMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5nb2RhZGR5LmNvbS8wQAYIKwYB 20 + BQUHMAKGNGh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9y 21 + eS9nZGlnMi5jcnQwHwYDVR0jBBgwFoAUQMK9J47MNIMwojPX+2yz8LQsgM4wMwYD 22 + VR0RBCwwKoIUKi51cy52Mi53ZS1zdGF0cy5jb22CEnVzLnYyLndlLXN0YXRzLmNv 23 + bTAdBgNVHQ4EFgQUXmkYVKI3PgwyDdnaNCKDqQyMW30wggF+BgorBgEEAdZ5AgQC 24 + BIIBbgSCAWoBaAB2ANdtfRDRp/V3wsfpX9cAv/mCyTNaZeHQswFzF8DIxWl3AAAB 25 + l7/mZiYAAAQDAEcwRQIhAP2GAaodyTg31mYHrEIV6L+5q6c6GQSnPb0krRd+WEHk 26 + AiBv/uZmoz5ESV6x/JMbc8oM2rkjMpLv5DxPtLwLtiJzrgB3AMs49xWJfIShRF9b 27 + wd37yW7ymlnNRwppBYWwyxTDFFjnAAABl7/mZxYAAAQDAEgwRgIhAKDYHviZZnZT 28 + mNZGOYmxmMQ9bznOdEMLWRzbccMmu7+7AiEApxBnDzAgyIjibTcV31Ip8rfcRnXd 29 + 7qJETa6ab34rhoIAdQAfVtGrlHBKQd0/6v30aZNVMCwUMb/mE0YIn/+ueV3MLwAA 30 + AZe/5nuKAAAEAwBGMEQCICV4nObnCXXJHfn8fpb1T6/jT3Hp+VcVD/wAmmrJXsJC 31 + AiBk75+q7GMCGrhbCGcRl4uRkkXMlPk64uYHSBT279srTTANBgkqhkiG9w0BAQsF 32 + AAOCAQEAgWuNDZVG/aBIXxEn021XFtHiawbDXliHekDvhkgmp55LTobCZLsMcEHA 33 + EEtfQxbY1rixiwQKBdoR3QIx1b5tG/MS0vzMX58uOoNP49S/2G3H2VERukaYi82c 34 + 667JcLszWawpQeLH4PsDx6ffE5Yt8Qy3/eUszj7oaqJ4sJdSFQuVtDUgqzdLFBie 35 + Mo1gD4hHAv9haQP5AflPyVMcYg3+jFBLPlz88MHu0UWB10LME6krvCnyigL7dHL7 36 + BK67l9HyBqgLquqs4gTQOo8UiGyGRF3Z3qNk+qMYclVVKw/WNbIJuG32f51XJKnm 37 + mrWdXeWMTDSpiUwJq8/69bw1n5cyJQ== 38 + -----END CERTIFICATE----- 39 + ,1728:-----BEGIN CERTIFICATE----- 40 + MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx 41 + EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT 42 + EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp 43 + ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3 44 + MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH 45 + EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE 46 + CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD 47 + EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi 48 + MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD 49 + BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv 50 + K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e 51 + cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY 52 + pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n 53 + eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB 54 + AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV 55 + HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv 56 + 9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v 57 + b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n 58 + b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG 59 + CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv 60 + MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz 61 + 91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2 62 + RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi 63 + DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11 64 + GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x 65 + LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB 66 + -----END CERTIFICATE----- 67 + ,1367:-----BEGIN CERTIFICATE----- 68 + MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx 69 + EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT 70 + EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp 71 + ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz 72 + NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH 73 + EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE 74 + AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw 75 + DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD 76 + E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH 77 + /PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy 78 + DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh 79 + GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR 80 + tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA 81 + AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE 82 + FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX 83 + WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu 84 + 9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr 85 + gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo 86 + 2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO 87 + LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI 88 + 4uJEvlz36hz1 89 + -----END CERTIFICATE----- 90 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:9f876c08-f7ac-415a-82ba-ce06a2cee4fe;8:sockname;25:13:10.14.147.142;5:54231#]8:peername;23:13:4.249.171.212;3:443#]}11:client_conn;499:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973973.739352^13:timestamp_end;0:~15:timestamp_start;18:1774973973.4533398^3:sni;31:wup-a4e4d8a1.us.v2.we-stats.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:007a6300-d406-477e-a56f-dca6d2b13416;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54230#]}5:error;0:~2:id;36:58b64a0d-9bdf-4b65-890a-3bd8a3b9879a;4:type;4:http;7:version;2:21#}14401:9:websocket;0:~8:response;2440:6:reason;2:OK,11:status_code;3:200#13:timestamp_end;17:1774973974.356423^15:timestamp_start;17:1774973974.355913^8:trailers;0:~7:content;365:{"serversidesignal":"AAQAAAAF%2f%2f%2f%2f%2f9ptNRlq6g3zLta3C4OaIun8MU5lVhVzMKOHlKUSANYYDZAjZHyFuE+qdiuFS2TF5UDMTxNGZ8v+myfAh%2fR2jrgK9S2BuYNDxnUZE6CbzRVBvPhv6%2f9FK9eQbt3n1XXdW76vL%2fL+v82jD1UD+qbPHRlGAXvIzwFv48+q4PXpZJKvFmeoqdluT5JvPpFin19zGBVHrl7sZJcTvnhozuhQRc6op+sHALcYKRUbQ5BdxDwlmeLmWxI2EfeXeu%2fdPsKtIpCjtmICjDfgSfYkPBRA3c12R1hzDAcMX%2fghyw%2fUhvfOofBFa9cj"},7:headers;1890:24:14:Content-Length,3:365,]40:4:Date,29:Tue, 31 Mar 2026 16:19:34 GMT,]28:10:Connection,10:keep-alive,]36:12:Content-Type,16:application/json,]633:10:Set-Cookie,614:_abck=F0BEA216AAD57B8E2D4F5C92BEEB3422~-1~YAAQMDTVF6Z3s+WcAQAAV3exRA8L240DBirR1CMKMwz3B5NRxd4nqY8YZsT9ad22d+c02A+HAGUU9WGY28SC7q6MXvug3/unAOnWgtaCFiLrnR7ilMRIKQ9JEVfpJ8H/pnyUo0o/cM1yAJyunSjWWpE4WVd2ZLyTeshkGo9KdrWXYTjR5qxKAJWeM4iX6iGHGFd6uGopVo20k0yfPGMvIii0+bim0RUX//vgu7DN1erTmCz7G6hsHo0Iko0SShpDutYlkbC6xEHFkqlspvkesdgg2gu6HN3hXwgUeljUvbwLiQrjBogaqQCsKidf8fQbDfuvLPq+U7cK0iIg9VTTCY+j9DOtJprnxOdmaD6AlLFQX/cUuFwfJmPb7ZbVt9zakJK70M++1HK7HT3LYG0T6suXKhK/zbDI6B0takniebba85gm6h23gIWImxIZWeF2RVgmxqvY3Nqc~-1~-1~-1~-1~-1; Domain=.huntington.com; Path=/; Expires=Wed, 31 Mar 2027 16:19:34 GMT; Max-Age=31536000; Secure,]574:10:Set-Cookie,555:ak_bmsc=47AE066FCAFABE96B3980A4CFCFB8427~000000000000000000000000000000~YAAQMDTVF6d3s+WcAQAAV3exRB8ZX7v5XsY04I+HCzWd4WBssd7lSKS4YYdGS0H7YnOL60iMsocYozgQeIPTCizVvUWfWG1r0qkKQW1Ij8mkYwYau4yoZdm+dKgMgI969jzAfdK4exbyzH5r+UPHGaaaPHTJcN1TpPpJLMYibB11F6gOFzuTF/8K2EdJAg9ym51WMJ8G8boH1bD4q27TXvnrvxNIkO28yi3nA33fPlwtp8eI33AhSb55XOZXPECBN/ZrICP1nutEAFiiQkHqN7QK4x/pwZw/SSmJOXOFGYHyqsNYwopamR8SXjvuU6ZIbCJwPxV/p67oZpB0R5uUTdJrc400Ih8WbYIlq5jsaUPRWIwXJcaTGnDLfLdMYvTay34=; Domain=.huntington.com; Path=/; Expires=Tue, 31 Mar 2026 18:19:34 GMT; Max-Age=7200; HttpOnly,]524:10:Set-Cookie,505:bm_sz=EE841EA4E13C2AC50023D6442C284321~YAAQMDTVF6h3s+WcAQAAV3exRB82xBU8XE7ciaMG/kCHHaG5WGqTncSGSQTWAlNGqEL/YyIhx8KuX/h25EVcNHSP5VbZBuXRyyHwGabuyjajeCsGpem00aCuJ7DBFVmaBbjaECUpZtyKrPU6MymVsEVGYpVMaJw5EATTnatrndxmXD1WIC6PcY0w5NHp5WRtfNUNj3kPBakJbS7/+6BuuJGPvdMkcpaUOB5bPVwbqJXYvSvFvDDswIjRVKI4XJJk5PXl1eLNTCNasCDN69r40GiMqzaErfepNlwSOcGq+iD+PviejNhX3gzq9FHakXPDoBBePiaTCdorQfVYuudGzAhaLrXSXzgxweJ2Du440Ucz~3618626~3163714; Domain=.huntington.com; Path=/; Expires=Tue, 31 Mar 2026 20:19:34 GMT; Max-Age=14400,]]12:http_version;8:HTTP/1.1,}7:request;762:4:path;166:/_bm/get_params?type=sdk-dci&starttime=1774973904643&systemVersion=14&model=Pixel%2B6&deviceHardwareType=qcom&appIdentifier=com.huntington.m&deviceId=cf0580c86412f5e6,9:authority;0:,6:scheme;5:https,6:method;3:GET,4:port;3:443#4:host;16:m.huntington.com;13:timestamp_end;17:1774973974.315627^15:timestamp_start;17:1774973974.315261^8:trailers;0:~7:content;0:,7:headers;350:74:11:traceparent,55:00-c7d32e1916d7c2c7d3510dccc9311fee-f1c8da954417e3af-00,]83:10:User-Agent,65:Akamai BMPSDK/4.0.5 (Android; 14; Google; sdk_gphone64_arm64; en),]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_124_26,]27:4:Host,16:m.huntington.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;18:1774973974.3153632^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;10411:3:via;0:~19:timestamp_tcp_setup;17:1774973974.239105^7:address;26:16:m.huntington.com;3:443#]19:timestamp_tls_setup;17:1774973974.284456^13:timestamp_end;0:~15:timestamp_start;17:1774973974.199095^3:sni;16:m.huntington.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;9862:3158:-----BEGIN CERTIFICATE----- 91 + MIII7jCCB1agAwIBAgIRAKRYPxOsztWic1bCC83XC/AwDQYJKoZIhvcNAQELBQAw 92 + YDELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE 93 + AxMuU2VjdGlnbyBQdWJsaWMgU2VydmVyIEF1dGhlbnRpY2F0aW9uIENBIEVWIFIz 94 + NjAeFw0yNjAzMDUwMDAwMDBaFw0yNzAzMDUyMzU5NTlaMIG+MQ8wDQYDVQQFEwYz 95 + NTEzNjQxEzARBgsrBgEEAYI3PAIBAxMCVVMxFTATBgsrBgEEAYI3PAIBAhMET2hp 96 + bzEdMBsGA1UEDxMUUHJpdmF0ZSBPcmdhbml6YXRpb24xCzAJBgNVBAYTAlVTMQ0w 97 + CwYDVQQIEwRPaGlvMSswKQYDVQQKEyJIdW50aW5ndG9uIEJhbmNzaGFyZXMgSW5j 98 + b3Jwb3JhdGVkMRcwFQYDVQQDEw5odW50aW5ndG9uLmNvbTCCASIwDQYJKoZIhvcN 99 + AQEBBQADggEPADCCAQoCggEBAMBSqDahCjPx0mbE41Fak5gTl6p0JyhzL86j56NB 100 + Jkn0nQvgxjzGaudJjWOcGbRFXWB2UMfgpTg683vLWkOrANtM2eB13i5au2974HEn 101 + Wd2VIVcvvr1n29g0ia240PZIblrCytMx9wg6q25EQQ2/5nHH5G0vhM3mdDf9SXQa 102 + fD+nHtcJPwHpIKB/H/as9xRjTFHxOfiU5AQQopOdpW0sxac5Yr/Unj8jV2m8krAG 103 + y8lITux9Qf2ibOd3LPw+CM+PinVbOQQe6guJfF5Z3zpM4FiLX091NRkipaC4/R8m 104 + n+1mdWbevyzBTiP0gHX1BX14kL6lmNCHE1/CDAPAE9DEro0CAwEAAaOCBMIwggS+ 105 + MB8GA1UdIwQYMBaAFJgtXh6P61T0uf9Vla1Mx36kmK57MB0GA1UdDgQWBBQSkpdy 106 + hZgrGDcDLlY4QgSjTbp6iTAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAd 107 + BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA1BgwrBgEE 108 + AbIxAQIBBQEwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMw 109 + BwYFZ4EMAQEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5zZWN0aWdvLmNv 110 + bS9TZWN0aWdvUHVibGljU2VydmVyQXV0aGVudGljYXRpb25DQUVWUjM2LmNybDCB 111 + hAYIKwYBBQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28u 112 + Y29tL1NlY3RpZ29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvbkNBRVZSMzYuY3J0 113 + MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTCCAY4GCisGAQQB 114 + 1nkCBAIEggF+BIIBegF4AHYAHJ9oLOn68EVpUPgbloqH3dsyENhM5siy44JSSsTP 115 + WZ8AAAGcvqY7gAAABAMARzBFAiA1QVf5fYtmDEzNbNaVOaUL8Ce5yjyJUCde6qU2 116 + mvgDwAIhAOS7jClwoacgQag3CdsM87ZTfhrUyhMlvNFrhn9SU2bLAH8AjspHC6ze 117 + avOiBrCkeoS3Rv4fxr+VPiXmm07kAkjzxugAAAGcvqY9vgAIAAAFAAMG25oEAwBI 118 + MEYCIQC7kFXgzwHVSlm7TWAhd8VdFjaaRezsuoEf04cAo/A+ygIhAK94Jk2adeyO 119 + LO8HAeAfmuS9bE01VPA+URZNqLJsLEZ6AH0AWW5sM4aUsllyolbIoOjdkEp26Ag9 120 + 2oc7AQg4KBQ87lkAAAGcvqY62gAIAAAFAAAyRmoEAwBGMEQCIAJ3WjX8D8Vm3nwj 121 + N57eg+5UXazJzW++OSlQuMP5rfXTAiBFoQqRjDuvdIJBEilbPvh2YsdCFVTNQpW6 122 + qLx19TL4UTCCAYMGA1UdEQSCAXowggF2gg5odW50aW5ndG9uLmNvbYIUYXBwbHku 123 + aHVudGluZ3Rvbi5jb22CHWJ1c2luZXNzb25saW5lLmh1bnRpbmd0b24uY29tgiFi 124 + dXNpbmVzc29ubGluZWRlbW8uaHVudGluZ3Rvbi5jb22CLGJ1c2luZXNzb25saW5l 125 + aW50ZXJhY3RpdmVkZW1vLmh1bnRpbmd0b24uY29tghNieW9kLmh1bnRpbmd0b24u 126 + Y29tggloYmdvLm1vYmmCEG0uaHVudGluZ3Rvbi5jb22CGm1haW50ZW5hbmNlLmh1 127 + bnRpbmd0b24uY29tghxvbmxpbmViYW5raW5nLmh1bnRpbmd0b24uY29tghJwaHlz 128 + aWNpYW5sb2Fucy5jb22CFnByZXZpZXcuaHVudGluZ3Rvbi5jb22CGnNlbGZzZXJ2 129 + aWNlLmh1bnRpbmd0b24uY29tghJ3d3cuaHVudGluZ3Rvbi5jb22CFnd3dy5waHlz 130 + aWNpYW5sb2Fucy5jb20wDQYJKoZIhvcNAQELBQADggGBAJD5N3WoleCcxgKHEDSJ 131 + FOmfH6Z9jW21xVOj7+qFdUUoL/B723CdMItpXucYDlVdOMUSK/lu/SwgN08Q2iZL 132 + wKnB8+2bpJBOZcfR+HfhAiP8YgSRGp9ckWjaOGHnSYt7Mpxm08K3xFCLLKcBA5wJ 133 + dvDQIOnPculv9YewP8RytKKMVNUFj2z4ynqRII18uSTC/h09FWUZtcfF2qoyza5l 134 + 0MTj3IuJfSARlj5vRqQDI8COD2cKD8xTpTnSWSw6uAnpRLh1hGLoclgCySlAL+qQ 135 + heHfS4lCo3xlFS7QWVuXCF34D7MPKnO4JM3B/341+dn+iPEg7bXa2OQqe56l5TXd 136 + opvPXW7hpzKTvhdfXOE5WF3JxhbWzav0Y6WAlYERuh1H+MadNva5QFXajXVQ4+s+ 137 + CaK3z02hUie14LVgFfPHKJegB8KcUy60CHc/UnEH+jesUUxQjJnWS7LRQ2Exk5xf 138 + +d/jixRf+/eHORcqhCUeZ3qhPqLPmmSjP4u2fX7xkScJGg== 139 + -----END CERTIFICATE----- 140 + ,2244:-----BEGIN CERTIFICATE----- 141 + MIIGSzCCBDOgAwIBAgIQbU98rTNTd8jG4AHd4uLIjjANBgkqhkiG9w0BAQwFADBf 142 + MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD 143 + Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw 144 + HhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBgMQswCQYDVQQGEwJHQjEY 145 + MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFB1Ymxp 146 + YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRVYgUjM2MIIBojANBgkqhkiG9w0B 147 + AQEFAAOCAY8AMIIBigKCAYEApduwxkQH5noeb0k4yRXK47Fd+hVkH8twKWQF3FNm 148 + HHShQrOH7S0L3p8Aaf8P7OqojwyZgyqD5o/Sb95N45P/NfmL+lfAOkQ1Bpvz0OcZ 149 + VmwYhMWFYJe8parkz5w9Bk8mn/AtN65hIQF0NqBI6F+23/jzhlpl3E0zKkkUJSfT 150 + dgvwaJvTiPgLQ7CpYyLJvMpgdPHf+nnvA5YJjhae6olh6BRllvRhzKOq0gd60BrO 151 + Aos9QyOfYhUDG3eQovMA9fyiI2qNclCp6DY8hqt55lERoBS/Whza8Cx1bh6q8rTP 152 + nno2uI6FZb2UavIYblyGDamXAW/jv3qsMB42xz/p2mUHg0wQzn/8KAiyu2ZbDs7E 153 + OOwYx0V2ViNsCXGR/GCmJsUNPmhEEXBclOj6qF7rFf7nkST2bokSt9VF1NB1JgRl 154 + djZin1+v2Vm88UEgFxerQPPrPjAEMqDx44vKl22sGWnl+jOyxf/H59DHKbIezrIY 155 + rJpSnA3WEVaiXs1oIRy1ZziNAgMBAAGjggGAMIIBfDAfBgNVHSMEGDAWgBRWc1hk 156 + lfmSGrASKgRieaFAFYghSTAdBgNVHQ4EFgQUmC1eHo/rVPS5/1WVrUzHfqSYrnsw 157 + DgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI 158 + KwYBBQUHAwEGCCsGAQUFBwMCMBoGA1UdIAQTMBEwBgYEVR0gADAHBgVngQwBATBU 159 + BgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29Q 160 + dWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvblJvb3RSNDYuY3JsMIGEBggrBgEFBQcB 161 + AQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGln 162 + b1B1YmxpY1NlcnZlckF1dGhlbnRpY2F0aW9uUm9vdFI0Ni5wN2MwIwYIKwYBBQUH 163 + MAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqGSIb3DQEBDAUAA4ICAQA2 164 + LRCehSXiyw56alKt2aqDwDLEDmyu74lUmDG4rI1Jw3+ivLz+OK3NpE466a8yXu7b 165 + f326wkrrOCF2SVu3ItNjXqsgwXdIM9tapVEKjsEwbjcPUcxNeqzSpLSgHZIVhjJJ 166 + +QtdEL2n1NhDxqewlN+ZKWWBLGB0LA/S7SvCl9s7rsppo97uv6J3h//q4b2SgzHu 167 + KUu80Hofpjp2bILGHy4CqzKzyg3wn9sKFcX6Ufkcea/tuiWhIMPkiQCv5tXsRj+H 168 + n3CZql+wRPbjhNqncCkzrwOBrt7Gov46EHhqMUP/Euf8gSw7X+CzWEUJ0Q+Vn8VL 169 + ZDkiKcMSYMJI+6Trc5tVn9LQLI6tTzwagLhgcVtFpom3PVtEJRPN/d05L0ck7S1b 170 + xPaXcQhKUqdzFd09pt6fLx2vMmylBKXjKosSxjB12KRzLvI2CUUVdpl7OTFA32Fk 171 + +zQC2gJPGmPPCzRMRYfVOEIZxbG0nI9lpYZidLkQ/EyTtJ3JVj7cb3KRe/e1s+Xj 172 + rnHqbUwoizicfogtcKm5giwj74f+Rpr0RRy4xum1bC662fNHRJaTt5ErVR6gHjHM 173 + Zhp+tOeOvohq5XxIMCKuetnwcPeBsOzUBzmUPoxQNRVXEYbwV2rS3t2jJ0Zh/Dnn 174 + O96biaAsEnxbQyu4fvMx6D4J4Zbkc7Zp75T3GE/UjQ== 175 + -----END CERTIFICATE----- 176 + ,2342:-----BEGIN CERTIFICATE----- 177 + MIIGlTCCBH2gAwIBAgIRANJ/u8HeNZ5SFq1hSVhgmcQwDQYJKoZIhvcNAQEMBQAw 178 + gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK 179 + ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD 180 + VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIx 181 + MDMyMjAwMDAwMFoXDTM4MDExODIzNTk1OVowXzELMAkGA1UEBhMCR0IxGDAWBgNV 182 + BAoTD1NlY3RpZ28gTGltaXRlZDE2MDQGA1UEAxMtU2VjdGlnbyBQdWJsaWMgU2Vy 183 + dmVyIEF1dGhlbnRpY2F0aW9uIFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOC 184 + Ag8AMIICCgKCAgEAk77VNlJ12AEjoBxHQknuY7a3If3EldVIKyZ8FFMQ2nn9K7ct 185 + pNQs+uoy3UnCub0PSD17WphUr55dMXRPB/xQId2kz2hPGxJjbSWZTCqZ80gwYfqB 186 + fB6nCErcPiscHxhMcao1jK34bug7StnllALWiYQTqm3ITzPMUJY3kjPcX4jnn1TZ 187 + SPCYQ9Zm/Z8XOEPFAVEL1+MjDxRdWxTnS77d9MjaAzfR1jmhIVEwg7Bt1zBOlluR 188 + 8HAkq79FgWRDDb0hOi886Z4NyyC1QifM2m+b7mQwkDnNk2WBITG1I1AzNyLjOO34 189 + MTDMRf5i+dFdMnlCh99qzFYZQE3Oqrv5tXZJlPEn+JGlg+UGs2MOgNzgElWApjtm 190 + tDmHLcjw0NEU6eQNTQ72XVdyxTscR1ad4tX7gWGMzE2AkDRbt9cUddzYBEifwMEo 191 + iLTpHMqnsfFWt3tJTFnlIBWohAIp+jiUaZpJBo/NH3kUFxIMg3reH7GX7vmXeCik 192 + yESS6X0mBaZYcpt5E9gRX67FOGI0aLKGMI74kGGeMmz1BzbNokxu7Io27fLmmRVE 193 + cMN8vJw5wLTha/eDJSNX2RKA5UnwdQ/vjescm1QotCE8/HwK/+97a3X/ix2gGQWr 194 + +vgrgULoOLq7+6r9PeDzyt9Ol5cp7fMYVumllqy9w5CYsuD5otSmR0N8bc8CAwEA 195 + AaOCASAwggEcMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1Ud 196 + DgQWBBRWc1hklfmSGrASKgRieaFAFYghSTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T 197 + AQH/BAUwAwEB/zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYDVR0g 198 + BAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRy 199 + dXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1 200 + BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVz 201 + dC5jb20wDQYJKoZIhvcNAQEMBQADggIBADpvBIlq7bMU0cFDT/9P9+BsgCkRgQs0 202 + S6Bf7vJSlWMHwby0VGvxCS0hrbi0K2BINZbEbsVsgpQq04431yyoVn3Hldorgq24 203 + RldRDOOipEZDTFB9wC9HYt1thHF00XeG2C8KC1plwoEzKAIhPvefI/C3cT0CfTXJ 204 + uFjUbKIgSwjNjw6YHtLgoy/hd5+JLUlLco/gzFX/qWbT7tEquOMYpsNKWZj8TLqP 205 + q6zMiG4Na6feEZte6YPXGrMWlTWN341vDedc+yxQqSug79HJUQcOZs7KyDWztmae 206 + QxsPE49UV/8XwrfZtZaYyrs4FpD94Z4Q8dzXGL8+qEJjxgcza7W6PROaClubavd1 207 + VKPm8+aCW77u7SxpR2TFGL6kPdxsKyFijpcunR5V79sUyROfNdzjrAcFWZXK8sbb 208 + 9FlnwuVG677JLv+ZVTX5AxLvW5OB4zt5uS+zB62wJ/Wv+jXGAttSAcJec4iFgCWH 209 + Rvdi/jJoSzRLa3nEzx6pFIzclSCnh0u1xCeLcUBypSiPga8W+6PkuoyQq8U9qs9E 210 + oxG5NvrvlyshwUS9yvcZRGw7Ljlx4jJH/BhIPR8kIBCQj1vna9TziZOrw1Of8hDU 211 + bHKFG9Pm8Dp2vbjz/2JH39qvxshPKVllGfq+5klPm7yZRUYTiCMAbqwNdL/nsqF2 212 + Rnnyp58XRStJ 213 + -----END CERTIFICATE----- 214 + ,2094:-----BEGIN CERTIFICATE----- 215 + MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB 216 + iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl 217 + cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV 218 + BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw 219 + MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV 220 + BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU 221 + aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy 222 + dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK 223 + AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B 224 + 3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY 225 + tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ 226 + Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 227 + VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT 228 + 79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 229 + c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT 230 + Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l 231 + c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee 232 + UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE 233 + Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd 234 + BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G 235 + A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF 236 + Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO 237 + VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 238 + ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs 239 + 8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR 240 + iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze 241 + Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ 242 + XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ 243 + qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB 244 + VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB 245 + L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG 246 + jjxDah2nGN59PRbxYvnKkKj9 247 + -----END CERTIFICATE----- 248 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:97d7b441-6ae3-44ce-9b3f-c721950e164e;8:sockname;25:13:10.14.147.142;5:54236#]8:peername;22:12:23.213.53.76;3:443#]}11:client_conn;482:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973974.299422^13:timestamp_end;0:~15:timestamp_start;16:1774973974.16476^3:sni;16:m.huntington.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:d8d74f6a-8157-46ae-ba6f-0e90f541e3c5;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54235#]}5:error;0:~2:id;36:f908c3ff-1d1a-4aa9-948b-ba5c29fb4e26;4:type;4:http;7:version;2:21#}6940:9:websocket;0:~8:response;625:6:reason;12:Not Modified,11:status_code;3:304#13:timestamp_end;17:1774973975.447602^15:timestamp_start;18:1774973975.4469912^8:trailers;0:~7:content;0:,7:headers;431:36:12:Content-Type,16:application/json,]50:13:Last-Modified,29:Tue, 03 Aug 2021 03:21:02 GMT,]63:4:ETag,52:"610daf43401879c53166ac1f2d0347a6:1627960862.740173",]33:13:Cache-Control,12:max-age=3600,]43:7:Expires,29:Tue, 31 Mar 2026 17:19:35 GMT,]40:4:Date,29:Tue, 31 Mar 2026 16:19:35 GMT,]28:10:Connection,10:keep-alive,]35:27:Access-Control-Allow-Origin,1:*,]36:22:X-Content-Type-Options,7:nosniff,]27:19:Timing-Allow-Origin,1:*,]]12:http_version;8:HTTP/1.1,}7:request;838:4:path;51:/163223eb44a4/0b491d3aa3b9/launch-9780717bf518.json,9:authority;0:,6:scheme;5:https,6:method;3:GET,4:port;3:443#4:host;19:assets.adobedtm.com;13:timestamp_end;18:1774973975.4224472^15:timestamp_start;17:1774973975.422026^8:trailers;0:~7:content;0:,7:headers;538:74:11:traceparent,55:00-b1d18f5ba1a6ae2f3f1078d97776086b-88fc32b987147733-00,]73:13:If-None-Match,52:"610daf43401879c53166ac1f2d0347a6:1627960862.740173",]101:10:User-Agent,83:Mozilla/5.0 (Linux; U; Android 14; en-US; sdk_gphone64_arm64 Build/UE1A.230829.050),]54:17:If-Modified-Since,29:Tue, 03 Aug 2021 03:21:02 GMT,]27:15:Accept-Language,5:en-US,]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_154_46,]30:4:Host,19:assets.adobedtm.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;17:1774973975.422153^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;4688:3:via;0:~19:timestamp_tcp_setup;17:1774973975.365005^7:address;29:19:assets.adobedtm.com;3:443#]19:timestamp_tls_setup;17:1774973975.393652^13:timestamp_end;0:~15:timestamp_start;18:1774973975.3214982^3:sni;19:assets.adobedtm.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;4131:2399:-----BEGIN CERTIFICATE----- 249 + MIIGvzCCBaegAwIBAgIQCIQZdk0udXsN5D8gQJsIkDANBgkqhkiG9w0BAQsFADBZ 250 + MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE 251 + aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjUw 252 + NjI0MDAwMDAwWhcNMjYwNzI1MjM1OTU5WjBoMQswCQYDVQQGEwJVUzETMBEGA1UE 253 + CBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxEzARBgNVBAoTCkFkb2Jl 254 + IEluYy4xHDAaBgNVBAMTE2Fzc2V0cy5hZG9iZWR0bS5jb20wWTATBgcqhkjOPQIB 255 + BggqhkjOPQMBBwNCAARK+9+RtTl1nRfyiW+Ixjek8B1nqz+MbsDoCEmzwFvJkOI1 256 + Rv0Sr8xTycJymrq4MVHTRy5zU0xRO6mnJGPBjM5Ao4IEPTCCBDkwHwYDVR0jBBgw 257 + FoAUdIWAwGbH3zfez70pN6oDHb7tzRcwHQYDVR0OBBYEFJmUyN5nSwVjglzIRvCt 258 + jfly+FatMIHLBgNVHREEgcMwgcCCE2Fzc2V0cy5hZG9iZWR0bS5jb22CH2NkbjEt 259 + c3RhZ2luZy5hZG9iZXJlc291cmNlcy5uZXSCGWFzc2V0cy5hZG9iZXJlc291cmNl 260 + cy5uZXSCIWFzc2V0cy1zdGFnaW5nLmFkb2JlcmVzb3VyY2VzLm5ldIIXY2RuMS5h 261 + ZG9iZXJlc291cmNlcy5uZXSCFWNvbW1lcmNlLmFkb2JlZHRtLmNvbYIabWFnZW50 262 + by1yZWNzLXNkay5hZG9iZS5uZXQwPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAnBggr 263 + BgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB/wQE 264 + AwIDiDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwgZ8GA1UdHwSBlzCB 265 + lDBIoEagRIZCaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFs 266 + RzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3JsMEigRqBEhkJodHRwOi8vY3JsNC5k 267 + aWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEt 268 + MS5jcmwwgYcGCCsGAQUFBwEBBHsweTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au 269 + ZGlnaWNlcnQuY29tMFEGCCsGAQUFBzAChkVodHRwOi8vY2FjZXJ0cy5kaWdpY2Vy 270 + dC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEtMS5jcnQw 271 + DAYDVR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYA1219ENGn 272 + 9XfCx+lf1wC/+YLJM1pl4dCzAXMXwMjFaXcAAAGXo1Z3bQAABAMARzBFAiEAuhPN 273 + sBkf8t2nYT96uqeicJqtncsdIl8oXKqQQBuI0c8CIE9MztelKlY/luYZtahKPqMm 274 + VgTCR++I/kSHI2LxeISZAHcAwjF+V0UZo0XufzjespBB68fCIVoiv3/Vta12mtkO 275 + Us0AAAGXo1Z3mQAABAMASDBGAiEAugvsuxTGUn2xsUNX7Vn7z9mcZ6iSHmvB6M75 276 + mpnre5cCIQDb5hxf7Df0yuvXaI39SGfeHgJTZB6VgnnBRNtUVThzhAB1AJROQ4f6 277 + 7MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABl6NWd6sAAAQDAEYwRAIgRonJ 278 + uTm8cPDrcQAkfy67A2WV5f7uBsKgwSrToM+SWgkCIBNgBRRsoxavX6q2ySEYaIUs 279 + IqJO5CrJN0r4x4/ezxIsMA0GCSqGSIb3DQEBCwUAA4IBAQCVaChsnRDPFKRfqxWn 280 + A1Q+/BhjEGqkcIXphRAvjdVGOcMtGGsysLf2QALP7cKKUGvx+gObPwxZCpyoNW35 281 + 6R/eoiwd4Jm8EgzfBtgGmRPiLbYHMRRvm9eLtkz8FtOfRKZuzSgfUsPHR3o10Swp 282 + 6c5t322A+tbLtqsdnTThze8QhwQw2U0xxAiWsMKm4CsrXNgi7SPdAZfpvwe4YFnm 283 + PTXvfYAs07xUokVarb+cB4CuCGeQD3K8qcwny7qhwlajUaF/f+NfCDxrfguv96FE 284 + L7UoJ2c3ppgmeGkbniEXIBgrfD8mb5PGwFnPawPAMz3JoaYgf7Xs8aklW6diRm+Z 285 + Vc3Y 286 + -----END CERTIFICATE----- 287 + ,1720:-----BEGIN CERTIFICATE----- 288 + MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh 289 + MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 290 + d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH 291 + MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT 292 + MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh 293 + bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD 294 + ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV 295 + cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy 296 + FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc 297 + 3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8 298 + osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT 299 + zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud 300 + EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G 301 + A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd 302 + BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG 303 + CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG 304 + NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH 305 + Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t 306 + L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC 307 + ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG 308 + 9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t 309 + wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS 310 + slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R 311 + bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4 312 + chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN 313 + JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA== 314 + -----END CERTIFICATE----- 315 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:7e645699-f941-410b-80d6-dbff61884698;8:sockname;25:13:10.14.147.142;5:54243#]8:peername;23:13:184.31.113.91;3:443#]}11:client_conn;486:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973975.410385^13:timestamp_end;0:~15:timestamp_start;17:1774973975.316479^3:sni;19:assets.adobedtm.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:35ba01e9-9d8d-40a2-bdff-b01d3746055a;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54242#]}5:error;0:~2:id;36:5c0d9877-17fe-4f8a-9b53-f39cae473aef;4:type;4:http;7:version;2:21#}21093:9:websocket;0:~8:response;6772:6:reason;2:OK,11:status_code;3:200#13:timestamp_end;18:1774973975.6095638^15:timestamp_start;15:1774973975.6089^8:trailers;0:~7:content;6040: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,7:headers;548:40:4:Date,29:Tue, 31 Mar 2026 16:19:35 GMT,]18:6:Server,6:Apache,]49:25:Strict-Transport-Security,16:max-age=31536000,]56:13:Cache-Control,35:no-cache, no-store, must-revalidate,]20:6:Pragma,8:no-cache,]40:10:Connection,22:Keep-Alive, Keep-Alive,]36:22:X-Content-Type-Options,7:nosniff,]37:16:X-XSS-Protection,13:1; mode=block,]43:7:Expires,29:Thu, 01 Jan 1970 00:00:00 GMT,]32:9:tmx-nonce,16:154a4bc83603108f,]58:12:Content-Type,38:application/octet-stream;charset=UTF-8,]36:10:Keep-Alive,18:timeout=2, max=100,]31:17:Transfer-Encoding,7:chunked,]]12:http_version;8:HTTP/1.1,}7:request;1201:4:path;15:/fp/mobile/conf,9:authority;0:,6:scheme;5:https,6:method;4:POST,4:port;3:443#4:host;24:ddata.huntingtonbank.com;13:timestamp_end;18:1774973975.5461261^15:timestamp_start;17:1774973975.545652^8:trailers;0:~7:content;134:��������-�M 316 + ! @�۸k1�Dg�5���V 317 + J�P��e��oJʃ�줦<xI�#�S��L�ju���T�Ȏ��X�3tX�\m���O��6��{��x���)a��b�����a*��F*��Bu�������,7:headers;795:74:11:traceparent,55:00-f6bb2d25c93a15178330295de4177254-f8a57505db445aa5-00,]54:6:Cookie,41:thx_guid=cf0580c86412f5e6e4d7568fab82646f,]70:13:Cache-Control,49:no-cache, no-store, must-revalidate, no-transform,]37:7:Referer,23:http://com.huntington.m,]199:10:User-Agent,180:Mozilla/5.0 (Linux; Android 14; sdk_gphone64_arm64 Build/UE1A.230829.050; wv) AppleWebKit/537.36+ (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.136 Mobile Safari/537.36+ 6.3-89,]27:16:Content-Encoding,4:gzip,]27:15:Accept-Language,5:en-US,]24:14:Content-Length,3:134,]53:12:Content-Type,33:application/x-www-form-urlencoded,]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_152_44,]35:4:Host,24:ddata.huntingtonbank.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;17:1774973975.545797^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;12323:3:via;0:~19:timestamp_tcp_setup;17:1774973975.418978^7:address;34:24:ddata.huntingtonbank.com;3:443#]19:timestamp_tls_setup;17:1774973975.501884^13:timestamp_end;0:~15:timestamp_start;17:1774973975.298006^3:sni;24:ddata.huntingtonbank.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;11754:2598:-----BEGIN CERTIFICATE----- 318 + MIIHUTCCBTmgAwIBAgIQBqIN+mjKKLaISM4gSfTdXjANBgkqhkiG9w0BAQsFADBR 319 + MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQD 320 + DB9FbnRydXN0IE9WIFRMUyBJc3N1aW5nIFJTQSBDQSAxMB4XDTI1MDYxODEzMjE0 321 + M1oXDTI2MDcxMjA0MDAwMFowfzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBE9oaW8x 322 + ETAPBgNVBAcMCENvbHVtYnVzMSswKQYDVQQKDCJIdW50aW5ndG9uIEJhbmNzaGFy 323 + ZXMgSW5jb3Jwb3JhdGVkMSEwHwYDVQQDDBhkZGF0YS5odW50aW5ndG9uYmFuay5j 324 + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwpOF2DjJXejA1Rrfp 325 + ixLY4SwzK6ZQ7RFt3lvN5tbPCbAtQTTY46wrxC58rJ7FZ0DThEwBg8kDa9jgycU9 326 + /UjNf+zyDOfb4DL5rL2c0JrieHg2VK9srrbDOihVkLYE2Zk4tlz4qTmg5Eagr2b0 327 + sxfuTYx6FHtWBYSZXAlaYAxi3sooxtXLj2PO8k59n84sJ7f/3qJlsjg4iDUkELjb 328 + QLlAgIa+mlr1804TND23iytUhYusgOcMM0+HWojk0uWyzu4ie6F4mp9mmCzqX2GC 329 + 5QSiFw5TBzxo4ZcxgYTBvZEq9k+zSo1kAxr4k7EXEq/k+AekCibjZcaIvj8dx7Zr 330 + aIg7AgMBAAGjggL1MIIC8TAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFGgNRco1 331 + wueaG/CzhN3V2n8LicERMGgGCCsGAQUFBwEBBFwwWjA2BggrBgEFBQcwAoYqaHR0 332 + cDovL2NlcnQuc3NsLmNvbS9FbnRydXN0LU9WVExTLUktUjEuY2VyMCAGCCsGAQUF 333 + BzABhhRodHRwOi8vb2NzcHMuc3NsLmNvbTAjBgNVHREEHDAaghhkZGF0YS5odW50 334 + aW5ndG9uYmFuay5jb20wIwYDVR0gBBwwGjAIBgZngQwBAgIwDgYMKwYBBAGCqTAB 335 + AwECMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATA7BgNVHR8ENDAyMDCg 336 + LqAshipodHRwOi8vY3Jscy5zc2wuY29tL0VudHJ1c3QtT1ZUTFMtSS1SMS5jcmww 337 + HQYDVR0OBBYEFNTK//XZhMtkk0GFvOjCvWcvDigbMA4GA1UdDwEB/wQEAwIFoDCC 338 + AX8GCisGAQQB1nkCBAIEggFvBIIBawFpAHcAwjF+V0UZo0XufzjespBB68fCIVoi 339 + v3/Vta12mtkOUs0AAAGXgz0K9AAABAMASDBGAiEAu5XkajkMaNIHazusZAgdG3lw 340 + cawHSFfpX8lZNFZ9IzACIQCfh4HW+4vxb529tDtMmOJY9fXtuFdn9q1DrNnqVTK6 341 + qgB2AB9W0auUcEpB3T/q/fRpk1UwLBQxv+YTRgif/655XcwvAAABl4M9CyQAAAQD 342 + AEcwRQIhAJeDQrKeeQACGkMFpvA4EBF7rxSZIcgBs3u6hRMgIkctAiB3uegl6nFc 343 + 3hF3//XOtMQvrB7mn35SO95f0siY1m4USQB2ANdtfRDRp/V3wsfpX9cAv/mCyTNa 344 + ZeHQswFzF8DIxWl3AAABl4M9CvkAAAQDAEcwRQIhANHimp4YyK0EBrEIPgGK+hGS 345 + ErRZWq7qo+92Vb1w8b61AiA7oFagTqTnOsxKSL1m5tWpaWLdqnFHgTsX46r67qj0 346 + JTANBgkqhkiG9w0BAQsFAAOCAgEAM4t3Y7IiUXJh2iiV1uujAao/24CScjlaXznc 347 + naCDJgmHRwty91aKw4tT7QIDCRK6aZ51xnDZsR0fVhB+hTexzPPaZPrIkY9MSj7J 348 + sgRJNP0v1iP4rL4Go9Drct0kl4UYagny1L+NtQWYhncu0GvleZ8i086R2U/XH60b 349 + w7kNPLlwseZd/Ig2kQq+jLvsD+ANMwNyu+LJ1k8dlQOgAqJSUJGunvQN6ZbSk/ux 350 + Romf1NlqNzuY2a0f9eATK2pesCDt3qP5CmjeUYVAL6it/fkN43Ej4IbB/EowXs32 351 + o6TR2k/7QyT40fsuQzJCS2i1oe3QeXsB9Dw9oTzPunktLF4QMlkzRnbDDkq6lOXA 352 + ANhdkRN84MCz0+fqwDDWnBxH4GOV8s8KKn4n6+KYxT6koM/eT1wulYgNOxhvZP2K 353 + S9iODgIlNCoOl6Gv/IU9kWguP9s+jIwKTlSYnlp2J22efIJK4rRHIY9p5lLaiZHn 354 + CG7EzdChhGre6eJaqZQlZ4+R3XCFNPd4NCkkuv88SAycIQ9W7wAM93lNHens4+qG 355 + ALP5Xlt7ZkbKFDeGVtQ8Gsfzsqx0dD3hh9tQC3lEVSeY68KlT7aebyYkooqsWiLh 356 + Ly8v+sNZEus5VudiKdiELFs+P2stkj00XaqPA5gQ1iCQp4e/Xx/Nt2lEcj3ixbDT 357 + 7B4K9MM= 358 + -----END CERTIFICATE----- 359 + ,2256:-----BEGIN CERTIFICATE----- 360 + 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 394 + -----END CERTIFICATE----- 395 + ,2378:-----BEGIN CERTIFICATE----- 396 + MIIGrzCCBJegAwIBAgIQMm9k6XA0xvejlGpQo+0E/jANBgkqhkiG9w0BAQsFADCB 397 + gjELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9u 398 + MRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNzA1BgNVBAMMLlNTTC5jb20gRVYg 399 + Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EgUjIwHhcNMjMxMTA3MTcy 400 + NTQ0WhcNMzgxMTAzMTcyNTQzWjBOMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NM 401 + IENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAy 402 + MDIyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0KQJck9AiBJhPjUj 403 + nu72dM8ve1g9zjwNECiQL5f3jEjYoNglsUywEUwXc1DQIkpju4HTKW7VtQk+Jhh/ 404 + shJ/k5i3r/A2v/LuGJ6cO1LFRxlddPNkZtVdx2i0vxscBqO8j0Ajth7GhL1RxBs5 405 + wZXSKexLrnstvzn9tGLelntBxpyg4AZy+/AHlwk5gXSv9zRZEVcKwlvBJPQxczCC 406 + xp26Avc+fERfgw3z8d0gaRYJUOLUVbbggHJ2bkxHt3VVWbRTdNmUxkGtWIoxZg8e 407 + ohspQE4v33vmFiwt/L/s87T6vhj2m0nU7gVu2TTznPHsAYvRIMYPoLW8F05Ie1HC 408 + /OlcaTdHZrNo+BUo8LnTpBXMWk+6UnCjEkXdxrpO+8LQ96hSJ21uebWM/HuMwRZM 409 + 7oB/vvB2vkFTEjOuWjhCq9cPPkGNdgcy1auJ9k5n2bFCdSNu881CsvxV9VOHFzvA 410 + M1jxUtL5gKTw6PA7izjMpMaQfw+c/YvRo8/ag6dpyVA21VwF0gpBdNtjETfBpaCW 411 + Sx6MFhJ3rpQ0ex5/wmYA5KqD6oqQrc42RE3RUem8H/NqBf3AdB8lGUBRbuqCUUDf 412 + m7kIKgYC1SMcE9bp29vGsHrLeyeb++DVRiTtEEtjS6UFj7q4HSum+pHiklK97Otn 413 + l22aLZ+BMgVnMvtICD/ZJbgEJS8CAwEAAaOCAVIwggFOMA8GA1UdEwEB/wQFMAMB 414 + Af8wHwYDVR0jBBgwFoAU+WC71OPVNPa49QaAJadz20ZpqJ4wcgYIKwYBBQUHAQEE 415 + ZjBkMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydC5zc2wuY29tL1NTTGNvbS1Sb290 416 + Q0EtRVYtUlNBLTQwOTYtUjIuY2VyMCAGCCsGAQUFBzABhhRodHRwOi8vb2NzcHMu 417 + c3NsLmNvbTARBgNVHSAECjAIMAYGBFUdIAAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG 418 + CCsGAQUFBwMBMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmxzLnNzbC5jb20v 419 + U1NMY29tLVJvb3RDQS1FVi1SU0EtNDA5Ni1SMi5jcmwwHQYDVR0OBBYEFPsuN+7j 420 + hHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC 421 + AgEABww8/EJeCfUTd8APb/yA2G0SfcBZ6tmWD/+XuQwoI81XaDh9w56fSfDJoRjf 422 + EFOjdkwyrQj2p/Rah9rfArC8S/DttURF0cWbLfxBdfNyomfO9QtEukNyRgtFYBai 423 + wbf/r21fm5ieukFA3/5A0vRxTlVJyrvAEMI+hML/HaeB8bkvXX61qKsN8YyeuZB8 424 + 0nS0iwXiM+qzOgr7dtlCvjwZRC+DqbWQreoVyibnXM99sgrb5cgMNQbud7TEZwEZ 425 + v+3Mf2Ld2oW38tivJbDAPtWvTovMN3qG5ch/UbGCbhYxZ+rBOKLgPUlBrjMkly8g 426 + CzbEYozmo+WuoBDapkJN06qJmIPQNJDyYikK0QztZjRtdlHzHCQKaPifcs2HJ79p 427 + IhZ6j1KfoMmEBMyIDZkj3oJ5aNpIDaN6FP95yBVwVrVXis6LmlxWsDsMDO8Xmusp 428 + rY80h8OfUwQsRf/noJX9wBeQ3gEgPiZEWXYgd0WMmraJM2ultEcYgNVlYcYFTrZc 429 + QxT7ULP/gopAUa1f/V4AJrxVvmHUfU02AnPoE2C9YprR77b9pSkBeyu1GAmLf24P 430 + Jzmbxl0TGvfbPennBaBKOFYvaPLTDLZyRkxJRWbZFnfsVz+7a/+HyqOzBo0J5zGE 431 + QPxsyeT4xKYKwjTrVyrIyFxfVyiWXZ7ZssN5cHqkX/3At4w= 432 + -----END CERTIFICATE----- 433 + ,2378:-----BEGIN CERTIFICATE----- 434 + MIIGrzCCBJegAwIBAgIQMm9k6XA0xvejlGpQo+0E/jANBgkqhkiG9w0BAQsFADCB 435 + gjELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9u 436 + MRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNzA1BgNVBAMMLlNTTC5jb20gRVYg 437 + Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EgUjIwHhcNMjMxMTA3MTcy 438 + NTQ0WhcNMzgxMTAzMTcyNTQzWjBOMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NM 439 + IENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAy 440 + MDIyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0KQJck9AiBJhPjUj 441 + nu72dM8ve1g9zjwNECiQL5f3jEjYoNglsUywEUwXc1DQIkpju4HTKW7VtQk+Jhh/ 442 + shJ/k5i3r/A2v/LuGJ6cO1LFRxlddPNkZtVdx2i0vxscBqO8j0Ajth7GhL1RxBs5 443 + wZXSKexLrnstvzn9tGLelntBxpyg4AZy+/AHlwk5gXSv9zRZEVcKwlvBJPQxczCC 444 + xp26Avc+fERfgw3z8d0gaRYJUOLUVbbggHJ2bkxHt3VVWbRTdNmUxkGtWIoxZg8e 445 + ohspQE4v33vmFiwt/L/s87T6vhj2m0nU7gVu2TTznPHsAYvRIMYPoLW8F05Ie1HC 446 + /OlcaTdHZrNo+BUo8LnTpBXMWk+6UnCjEkXdxrpO+8LQ96hSJ21uebWM/HuMwRZM 447 + 7oB/vvB2vkFTEjOuWjhCq9cPPkGNdgcy1auJ9k5n2bFCdSNu881CsvxV9VOHFzvA 448 + M1jxUtL5gKTw6PA7izjMpMaQfw+c/YvRo8/ag6dpyVA21VwF0gpBdNtjETfBpaCW 449 + Sx6MFhJ3rpQ0ex5/wmYA5KqD6oqQrc42RE3RUem8H/NqBf3AdB8lGUBRbuqCUUDf 450 + m7kIKgYC1SMcE9bp29vGsHrLeyeb++DVRiTtEEtjS6UFj7q4HSum+pHiklK97Otn 451 + l22aLZ+BMgVnMvtICD/ZJbgEJS8CAwEAAaOCAVIwggFOMA8GA1UdEwEB/wQFMAMB 452 + Af8wHwYDVR0jBBgwFoAU+WC71OPVNPa49QaAJadz20ZpqJ4wcgYIKwYBBQUHAQEE 453 + ZjBkMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydC5zc2wuY29tL1NTTGNvbS1Sb290 454 + Q0EtRVYtUlNBLTQwOTYtUjIuY2VyMCAGCCsGAQUFBzABhhRodHRwOi8vb2NzcHMu 455 + c3NsLmNvbTARBgNVHSAECjAIMAYGBFUdIAAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG 456 + CCsGAQUFBwMBMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmxzLnNzbC5jb20v 457 + U1NMY29tLVJvb3RDQS1FVi1SU0EtNDA5Ni1SMi5jcmwwHQYDVR0OBBYEFPsuN+7j 458 + hHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC 459 + AgEABww8/EJeCfUTd8APb/yA2G0SfcBZ6tmWD/+XuQwoI81XaDh9w56fSfDJoRjf 460 + EFOjdkwyrQj2p/Rah9rfArC8S/DttURF0cWbLfxBdfNyomfO9QtEukNyRgtFYBai 461 + wbf/r21fm5ieukFA3/5A0vRxTlVJyrvAEMI+hML/HaeB8bkvXX61qKsN8YyeuZB8 462 + 0nS0iwXiM+qzOgr7dtlCvjwZRC+DqbWQreoVyibnXM99sgrb5cgMNQbud7TEZwEZ 463 + v+3Mf2Ld2oW38tivJbDAPtWvTovMN3qG5ch/UbGCbhYxZ+rBOKLgPUlBrjMkly8g 464 + CzbEYozmo+WuoBDapkJN06qJmIPQNJDyYikK0QztZjRtdlHzHCQKaPifcs2HJ79p 465 + IhZ6j1KfoMmEBMyIDZkj3oJ5aNpIDaN6FP95yBVwVrVXis6LmlxWsDsMDO8Xmusp 466 + rY80h8OfUwQsRf/noJX9wBeQ3gEgPiZEWXYgd0WMmraJM2ultEcYgNVlYcYFTrZc 467 + QxT7ULP/gopAUa1f/V4AJrxVvmHUfU02AnPoE2C9YprR77b9pSkBeyu1GAmLf24P 468 + Jzmbxl0TGvfbPennBaBKOFYvaPLTDLZyRkxJRWbZFnfsVz+7a/+HyqOzBo0J5zGE 469 + QPxsyeT4xKYKwjTrVyrIyFxfVyiWXZ7ZssN5cHqkX/3At4w= 470 + -----END CERTIFICATE----- 471 + ,2114:-----BEGIN CERTIFICATE----- 472 + MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV 473 + BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE 474 + CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy 475 + dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy 476 + MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G 477 + A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD 478 + DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy 479 + MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq 480 + M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf 481 + OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa 482 + 4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 483 + HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR 484 + aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA 485 + b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ 486 + Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV 487 + PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO 488 + pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu 489 + UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY 490 + MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV 491 + HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 492 + 9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW 493 + s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 494 + Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg 495 + cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM 496 + 79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz 497 + /bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt 498 + ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm 499 + Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK 500 + QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ 501 + w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi 502 + S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 503 + mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== 504 + -----END CERTIFICATE----- 505 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:315fc37e-be90-4102-aec1-28414c12f338;8:sockname;25:13:10.14.147.142;5:54244#]8:peername;25:15:192.225.157.155;3:443#]}11:client_conn;491:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973975.520981^13:timestamp_end;0:~15:timestamp_start;17:1774973975.277525^3:sni;24:ddata.huntingtonbank.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:b666e1fc-3880-4e2c-a093-f3aa9deb36fd;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54240#]}5:error;0:~2:id;36:dc752b80-eadb-40ff-96e4-abd5bdafca08;4:type;4:http;7:version;2:21#}6937:9:websocket;0:~8:response;618:6:reason;12:Not Modified,11:status_code;3:304#13:timestamp_end;13:1774973976.09^15:timestamp_start;17:1774973976.089507^8:trailers;0:~7:content;0:,7:headers;429:35:12:Content-Type,15:application/zip,]50:13:Last-Modified,29:Tue, 03 Aug 2021 03:21:02 GMT,]62:4:ETag,51:"e56239d50e9e687aba78c252c5f1cd71:1627960862.98677",]33:13:Cache-Control,12:max-age=3600,]43:7:Expires,29:Tue, 31 Mar 2026 17:19:36 GMT,]40:4:Date,29:Tue, 31 Mar 2026 16:19:36 GMT,]28:10:Connection,10:keep-alive,]35:27:Access-Control-Allow-Origin,1:*,]36:22:X-Content-Type-Options,7:nosniff,]27:19:Timing-Allow-Origin,1:*,]]12:http_version;8:HTTP/1.1,}7:request;842:4:path;56:/163223eb44a4/0b491d3aa3b9/launch-9780717bf518-rules.zip,9:authority;0:,6:scheme;5:https,6:method;3:GET,4:port;3:443#4:host;19:assets.adobedtm.com;13:timestamp_end;18:1774973976.0365949^15:timestamp_start;17:1774973976.036006^8:trailers;0:~7:content;0:,7:headers;537:74:11:traceparent,55:00-8ac1ea31cf485dce1ff08ddce10bbef7-267c056a9bd4c6c2-00,]72:13:If-None-Match,51:"e56239d50e9e687aba78c252c5f1cd71:1627960862.98677",]101:10:User-Agent,83:Mozilla/5.0 (Linux; U; Android 14; en-US; sdk_gphone64_arm64 Build/UE1A.230829.050),]54:17:If-Modified-Since,29:Tue, 03 Aug 2021 03:21:02 GMT,]27:15:Accept-Language,5:en-US,]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_168_53,]30:4:Host,19:assets.adobedtm.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;17:1774973976.036195^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;4688:3:via;0:~19:timestamp_tcp_setup;17:1774973975.365005^7:address;29:19:assets.adobedtm.com;3:443#]19:timestamp_tls_setup;17:1774973975.393652^13:timestamp_end;0:~15:timestamp_start;18:1774973975.3214982^3:sni;19:assets.adobedtm.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;4131:2399:-----BEGIN CERTIFICATE----- 506 + MIIGvzCCBaegAwIBAgIQCIQZdk0udXsN5D8gQJsIkDANBgkqhkiG9w0BAQsFADBZ 507 + MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE 508 + aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjUw 509 + NjI0MDAwMDAwWhcNMjYwNzI1MjM1OTU5WjBoMQswCQYDVQQGEwJVUzETMBEGA1UE 510 + CBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxEzARBgNVBAoTCkFkb2Jl 511 + IEluYy4xHDAaBgNVBAMTE2Fzc2V0cy5hZG9iZWR0bS5jb20wWTATBgcqhkjOPQIB 512 + BggqhkjOPQMBBwNCAARK+9+RtTl1nRfyiW+Ixjek8B1nqz+MbsDoCEmzwFvJkOI1 513 + Rv0Sr8xTycJymrq4MVHTRy5zU0xRO6mnJGPBjM5Ao4IEPTCCBDkwHwYDVR0jBBgw 514 + FoAUdIWAwGbH3zfez70pN6oDHb7tzRcwHQYDVR0OBBYEFJmUyN5nSwVjglzIRvCt 515 + jfly+FatMIHLBgNVHREEgcMwgcCCE2Fzc2V0cy5hZG9iZWR0bS5jb22CH2NkbjEt 516 + c3RhZ2luZy5hZG9iZXJlc291cmNlcy5uZXSCGWFzc2V0cy5hZG9iZXJlc291cmNl 517 + cy5uZXSCIWFzc2V0cy1zdGFnaW5nLmFkb2JlcmVzb3VyY2VzLm5ldIIXY2RuMS5h 518 + ZG9iZXJlc291cmNlcy5uZXSCFWNvbW1lcmNlLmFkb2JlZHRtLmNvbYIabWFnZW50 519 + by1yZWNzLXNkay5hZG9iZS5uZXQwPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAnBggr 520 + BgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB/wQE 521 + AwIDiDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwgZ8GA1UdHwSBlzCB 522 + lDBIoEagRIZCaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFs 523 + RzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3JsMEigRqBEhkJodHRwOi8vY3JsNC5k 524 + aWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEt 525 + MS5jcmwwgYcGCCsGAQUFBwEBBHsweTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au 526 + ZGlnaWNlcnQuY29tMFEGCCsGAQUFBzAChkVodHRwOi8vY2FjZXJ0cy5kaWdpY2Vy 527 + dC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEtMS5jcnQw 528 + DAYDVR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYA1219ENGn 529 + 9XfCx+lf1wC/+YLJM1pl4dCzAXMXwMjFaXcAAAGXo1Z3bQAABAMARzBFAiEAuhPN 530 + sBkf8t2nYT96uqeicJqtncsdIl8oXKqQQBuI0c8CIE9MztelKlY/luYZtahKPqMm 531 + VgTCR++I/kSHI2LxeISZAHcAwjF+V0UZo0XufzjespBB68fCIVoiv3/Vta12mtkO 532 + Us0AAAGXo1Z3mQAABAMASDBGAiEAugvsuxTGUn2xsUNX7Vn7z9mcZ6iSHmvB6M75 533 + mpnre5cCIQDb5hxf7Df0yuvXaI39SGfeHgJTZB6VgnnBRNtUVThzhAB1AJROQ4f6 534 + 7MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABl6NWd6sAAAQDAEYwRAIgRonJ 535 + uTm8cPDrcQAkfy67A2WV5f7uBsKgwSrToM+SWgkCIBNgBRRsoxavX6q2ySEYaIUs 536 + IqJO5CrJN0r4x4/ezxIsMA0GCSqGSIb3DQEBCwUAA4IBAQCVaChsnRDPFKRfqxWn 537 + A1Q+/BhjEGqkcIXphRAvjdVGOcMtGGsysLf2QALP7cKKUGvx+gObPwxZCpyoNW35 538 + 6R/eoiwd4Jm8EgzfBtgGmRPiLbYHMRRvm9eLtkz8FtOfRKZuzSgfUsPHR3o10Swp 539 + 6c5t322A+tbLtqsdnTThze8QhwQw2U0xxAiWsMKm4CsrXNgi7SPdAZfpvwe4YFnm 540 + PTXvfYAs07xUokVarb+cB4CuCGeQD3K8qcwny7qhwlajUaF/f+NfCDxrfguv96FE 541 + L7UoJ2c3ppgmeGkbniEXIBgrfD8mb5PGwFnPawPAMz3JoaYgf7Xs8aklW6diRm+Z 542 + Vc3Y 543 + -----END CERTIFICATE----- 544 + ,1720:-----BEGIN CERTIFICATE----- 545 + MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh 546 + MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 547 + d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH 548 + MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT 549 + MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh 550 + bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD 551 + ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV 552 + cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy 553 + FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc 554 + 3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8 555 + osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT 556 + zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud 557 + EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G 558 + A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd 559 + BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG 560 + CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG 561 + NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH 562 + Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t 563 + L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC 564 + ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG 565 + 9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t 566 + wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS 567 + slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R 568 + bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4 569 + chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN 570 + JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA== 571 + -----END CERTIFICATE----- 572 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:7e645699-f941-410b-80d6-dbff61884698;8:sockname;25:13:10.14.147.142;5:54243#]8:peername;23:13:184.31.113.91;3:443#]}11:client_conn;486:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973975.410385^13:timestamp_end;0:~15:timestamp_start;17:1774973975.316479^3:sni;19:assets.adobedtm.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:35ba01e9-9d8d-40a2-bdff-b01d3746055a;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54242#]}5:error;0:~2:id;36:6edaa0be-3855-4c8b-9013-a6e3e46983a2;4:type;4:http;7:version;2:21#}47110:9:websocket;0:~8:response;34588:6:reason;0:,11:status_code;3:200#13:timestamp_end;17:1774973976.422364^15:timestamp_start;18:1774973976.3997388^8:trailers;0:~7:content;33163:�����������{�֕0��3폝��N���Mδ���S��1Q�<�`q� �lϼA�#cb (ə�_��m�-�����Y�}Y{������,��7�|�9o�.&�ahd�w���|�›Z;�����w�nnv���'���9���g���y���j���ѫy�{����'�K�����Q����O�v��2oS�ӯ�ēu��ŷ���m[a�8o�w���ѻ�9�}~�޻k[�ԣV*)p�~������F|�~n^�j�����ûY<��H�'��Cۜn�h9U͟h�fm�lSj�����v��]n�}~�6U�W�|�_�U��m���~�|w�)�}�����q����w����Z�(W�q5�5JU�]5�U㴍W�W3�S��g��v�nvߙa5s�1�s�^1ڂ��U�N�,W�Ŋ^��f ^D�]��h�̫���V�f��u����MM�D��{{ևAծ֬��ݷ�A>�'�E��Wm�kR�ZV��՛�˂�4 koχ񶯠�_uZa�F��/�`5�^����٪������u��=b�m��tj̞�SӁ�@� *:��s, 573 + ���՛W8�� 574 + ��?���w�0=F�H\X��AMU:���U ������ ��Z���wU��j^&�A$\V�_A�S��//��P5�U��j�d�g0����f/6�k,�ӫ�=ӆ{�����X%��!GY��=�Z0�nl�������.CR���j�ٍ������}̙m,fU��׀��݀��q��?~�;x�������4�ql��r=�˅�GE�Bz���& eF��,m�'���w���.e�����Q�8�˻��f���ߌo��~l}��6�gh�߀H�D��4h? �����!uR�{իi�&U�"�Y��k)�����\�f+N��6�� 575 + Q��cc ���jI_kb���ױY�7�M�I P�͵p���o/s��8�4~�}�c�>1k��ؼ`�XC��"�! �0�}�k |�^�����y,z�<F����K�|�m��B$/c�)6bs�'1���8�>��L}�ů����so�N�����uz�U懍8�=���� ���}Q�z�q�1��U��,k���S�xˎ1v�P�JeC� C�����(9LٶcC{=熞���}��ف��o�oo�F���cvs�d�n�=�j�;ṯ�{$�"�W@{=c��K�� 's�5�� ��g6ӇT�B�;��v��=�9F�1��+E� gC�Wj�ݧ"}G��P���c���1/�����#28t���&��6�i�_��=�qc����&M� >� �y:���<��ә<����s����K�MQUS���C���er :�rN�4�j����dЊ�l����GGD��!+�\=:�XY��//��cN��1g�u��XĩW' q\l��b7$�O�2ѭ�DtO����V7E��n������nެ�_��Z�,��i�Ok)���q�������T7����GS�͓�=K��^Ysf�y��ם�j�����8o��hv�f�7Gy3�sQ/o�b|�ɣ3�ё���a��o�J��ȴ��4��s��U^��(�����������4�b�y�qɣ��}q?�·�b ��F�_5�i�].��N��t�T����tn%� �CT���i�s�7[y�樲�� %,����~�\�� 576 + t�7�y��P�J�Cy��m*��y�i��y�� \��F��Fu�f�O3���X端�_�_M���K/������x��ˀJ��3����ٯҘ+�m{X�/}���R��%^��/ƛ� ���o�'x��j��7]�wx��e����5��M���Dx ��ॉ�2^��_o���T˚8M��������y�R���G��ƹrtw���̿޲hǼ����֡ �N"�4��b�����q��<ɛP�5gy�)o���A��y�<os��i~�>�hrJ���0� 7� ��?A�׺ �������� ��S�G����D��J4.���F��_�����F#سt;gb.ò��v=(�F��Z�{e |zq�H#�U���_qu �8� ���� ̘��zp^\�j��w'y�:t�:�S�O��,%_�!Ћ�� _������B���ΡO@-3L 577 + �W�?��}r�.�����������Pq�f���� 578 + MB�|�?K�z1H� �pW��D)��ԙ&2���玲�Q@EK!��nhF���nE~w��rFd�n�ޘ_��f��8rڡ,�6��+��J�h�zC�2#B�dx���P�Ʈ�tWO���*�� y`�� �P�>N�qψ��� ���S�n&8��[Ё?z-��zB�qU�$L4&�PC��(҂��������]�����6���e�.lht��X�� �B~�>�y�7ĺ�ź�҉���Z4�����&P����=�B`�����LT>�<�x>E��!��] 579 + ��P��2ԡ{ 580 + uߪ��[�5����@�a�<��=�ZlOë�0M�f�)�r�q^묔�����Cm�Pg�P�g�1�+gߔ��ސ� 581 + �/P�c�ٓ�{^�Ŀ.ՠ0����Q2�eP��xW�E*eI��ڧi�i�9�_$=]}5D����*9[xq��g����� �f=��������e�DL�+���ȾJ믺��PN=G�Q-��������tE7�1��a��Qln�d�U�E4C�Kw�J�/CuWIt_���x�+7m�b��^S�b�N��}�N�uS1Ե�`�I6����˜�VH)����&�?���[/S�}V(M���H�^*:I�l-u��v[�@����Pފ��(38�'d�����*���q� �Ȋ9h�7Z}�`�y���cV�#| ��H ?���[�»��" 3^b؈-���}���"��p���0��<������h~�<ն�#�,�uh�t8O��Ց�� �_N�0���-����*<n�EI �L�Q�H\��*���4�$������A� �n5{wW�$ ���m�����T�������`Sv4�¶Uz�l�����������FZwFV*]��OFM��m���#����� � ��͑���U��;~~w��������v�'܅��pgZˑ��D����K�j�l��R]�X��wF�^�AE(���Tم���j���6�0���_���X'�5AE����C�B��^#��G��A "(������=�Fp0��5���V���:��l?%�V����ќ�l����x ���(�!�;|�Å*��G_[@P.q�8t�1��aa� �<�A��U @������%���m��@�[���{�# ��l�,�ء%��DT�I`��M��U�_�L��N� �H�bkF�����b�:����tF{�S�h���C ��$k�T��!�{�>!zX�����\R ��`D.��z���2��Ր��mn�A������Z%� �0V��rWP��^֬*����@�8�*���!k9�n�i��[��x��d�%l"��*� �X�NC�q���FL�J��(&�\�•ʆ���������hju�o`<�" ߊ��"c#�����8D�T�]jU�Jއ�"7ؚᩍYq6̃���Y\�̀I����$H-$����G4��B�J��w~`6~������ 7ص/���&��Vs�4����."H:��rw��X0\s�����֬iЭ�c� �Ց;����@��R�X�Z�dŭ��G����J�rm�Ω�C�) �: �˘�^2H��߳Kc�<�4��� �cE$���r>*qǺ��XNF$jO�4��fF�Pp��V���_#7�U�i`���=0E��$��/�����//��g�y���y��ųk����hHO����Y�Z���m��t���i���i�!�����@8��G��aՀX.��Xd8�mOT��r�z�����"��s�V���#���N%�XDGc��l�Ԣ����*j����;�!{l��Т�ϳ��ze��Ml���� 582 + �e�ꢢ�"�2�l��'�k�I�]�ޖ�������uZU4�������#�b��T��C�� 583 + ̵����xf���U��YB� O��;xC��iu�V�"�P��m�����@� 584 + ! ސ��F�� �XЀ� b�ǀd��~�e��5�$�.��c�5&��dEU�[��V~��[:!Z��h�8�k���]�'�h�������j/��,��%0P9�i�9���7k3�=��ӧ�.��{���=�����g�z��gމ�?z�06.��C��Q؇�k��� ��F���4�����v51����J2���MQ�P�Id���N<q����f��u����d)��N�ɖ)�ݦH6��$�ut�5���|�,�"ق��O�z���˶��uR�[���6��)<��+u�D�;��*uhz����q��}�\� 585 + �m��d���^�V[����C� ��aͷ��-��l&�SĈ���$��]��L-U���yl��Tg�ov8�:B�AGm�~5:��aO�G�_��������V~R @uP;�xS�e���;�" �#��Ml��H�3BųK�Mh�q��Z��M1�hbE��t��; 586 + Z{>�jV8��c�Fh�#�K.d{rU���QJGTA��t�Ŧ񒒪YK¯�;�`4:�����V:��p]ʢÁ���-"#�N8z��O��H��9v�%��%�ݪw8�`)G� ���{$�Yh��.>�̬aG�,�8���M��j�]��+;.�s����]��h"fw�)�ȕ�qX��N�:�Б .b42�c=u$�d|��� �V�q��)��� 굓N� ���ቜ� ɷC��!ֺ%(�t��#F�Ԭ�*A&F��toeS��<�E�+�="vz�@���}D��W6�G 587 + =�W��^�\�GT�c���I���4n)�K�S���S���F�`l^�W� �����JY-�L�^���'�~ WS)^���ZF���,�VX]��VXAÛ��*M��(���E��2$�3�X ��C�3"�� @Kk�r ��.�u^B !���0�*��|�~�ؑK?�q����)�����(��e:y��"���-��S(l���p%� 588 + t��0����k�J�WJ�X��^ y�L_t�J�Ʃy豶(h�2�Uz��B�/Z����Mzq[}��3�����БW��+Z�\q���L���V� 589 + Yp��|n��M�<�RJ#X�kg�P���M���6t�+F��#@wk�)%�:��{c�O�X Q��^��JD�d�U'��Iv 4���4P��(�g]�D�QX�R<�7�x�PH� ���j�X �N�Za�����Wv$:���@�*�?b�]b�Ri �T�O+6�� ZV�:�F*y��F���8��K��V�`���G��Pw�V�OD[[gXf�l��r���-)��a�� �)���&a$Y52O{dnwq�D���qp��E��٥ r}9��(G��#�A�"�Sh��l��JQ���U����8B��.Z���d�h�nGWqtc�FCj�9J�������DI�Mr�adʠ�[0�8�ek�X�$i&��# *�ou�*�m�"���qoK�b ٔ�S$�u\��H�E� �H�1`�y~ds֐u�3�7�V�̈��īaf޲��`�)X nL14_A�w�ev)�m-"�=�'������!t��� ��>�� F�yk�:��<*�*�A ��}�*�O����DMSr}�a$�LR�^���3��N�vн��$�W��>��-̫��&����I��,.�ص�O:��q��! �dPh��S eU΀�(뱦*,��Y��s�{��� b��jj��m� +�� 590 + �m�Q��Σ�p}�����g��`�1Î9� 591 + ,����A^�Q1� $�NޡH�.g�a,Og�v)�����%��L���&� oP�qV�N�M�IH�X3ig���{���نo�����3�$������~����`�\�2����_v]��w���\�� _=Ѳ˚Dȹ�y�� �k���rx�S.;��J�Zm�NR��XW]Q��eQPcz� 592 + �#W�dB�c�N�l� 593 + ,���XB 86/М���9.��ʄ �d� 594 + -9�������T'�Q�.�U�rE��T̖z�,���v*L\N��p��t�e8f$'Ğ֬ �e� 595 + �*B�����۟Zg��,\�?�����M���ή]q�.4⦲qR(����h����!������9�ck�m��� �����1d��ͽˉ�= 596 + �Q ^VqV+��5ܴ��U*����kS�Af��)�a��� ڂ��ܕx�S���;a R��� �Q- �$�I�ڻ�u�J��^���~D?���Y&���z�(j�ݝ��?q7��ph�\�u�yD���09;��.[�Oy���Wy�6����59m�8B�u� �GM����T��0�SnJ����1�aF �7=� �Sj��DV�Q[�&�Bά��V�'R277� ͪ�/ԴI���B����l�R�SAeh�KS�E,hF+`FGM݌�'%BA3���6�I;Eи״#��XAw�BN�\�x���i�R`�].[Q3q��hf�r�v��Iak{�q�r�)�p����-��43V<���e�c�t�mK!�{���ĥ����C��nPq�O������xM���,��^-$�3�V�)��~YkŔ����X�v�$ �ra~ͺo�V��g[�΅ 597 + �ESd�m��)��� ̛<��|��u��(R��f������!;�<��]����92�i�.����}ny� 598 + {�b[MɜQ��l1E&cOR1���B��KH����)�2{&�A&�A�n��b��<l��l�)�ݶ���“��� 599 + �'^x��.{{]Ly���g�꡸>�X�javew �PM�G<ȽHr#�a���:��m�S��;. y�� 600 + �Z�Ȁ��򆋼���%�D�qZ����)X��>���V\:��{>������Of%�Y�^����\��os0�VXXcln���#��/�j��PŶ}qeŪ�M���Z�N��5�]�ceI+<J����="�:����d|��wI���[o��f`�h�1�����m/�@� lrc$�t|�G��T����)o�� 601 + �B���~�{���*jq����e���Q�jIu�|VŻ��!_G>;;䴦Mhγ�&&㙅=YT�b�_V`����a� I{A1��x��ul~�� E3��w�' S^ ʥ��r.�j��#�`����98��5R87���*�U���ۣx�j�P�Q�PiV�c���./ϼlg@n�ј|&����>�Dw��־��H|C��snGԿd�� 602 + �=}D����T��ϱ�����C�)6����>� 2{=��S��2� u�}�û�Z�9��y�}��l���(�� 603 + �\ODt^%"��P�C�C�d�Gu�ɚ9�G���0�XA���UJmƸ%�є4:T�Hr�i2�m��$�!W{��<��k���bx�Œ �%���r�{K �e ĉ�Gg�V�1�1�8�����-m`3�c�3o�>��f��5�1�I���������{�[��,�bk0�9�#�d�&�慆� �=�����U�����󌩅��� у2l-���Xj!�U��j�;��hUG���W�Zy^d��+�0(��jU�+���0��Dr{���jOx *Jv2�[ehe'��v�81E�8�[id��i�*1i��fqH8���hd�K��� ��j��z���ғ*�Noc�I�"K�Yd^Z�'��.Y�J�� ����L��Ⱥ�R��rV�6�u"��As�4"���)�R��f�JO�僉��9��&�d2����L�4/L@,�ekE%��ӪL+��*ð�u� ��=�`T�M�%s���?a�%I��8cB��Ƌ�w9�D(��1�yu�҇��-Y��a7'!_lL���D 9ʮS��t���e�j1ѣ$��x�6�d�ŮMҚM���|F:�'�uudU�zb'Z�qօ�wy �=��\1I�\P˴Ę�:R���#G�ML4��h�Y 604 + n '��N��p8 ��d^�6qR��I�E��� &Zp��P���j�‹��r 605 + �1P:��C���� ;咗{�Ȕ�H�����C�v��ܙr���͚5��� 606 + g��o�&��rd��5��j�ŋ������n���������n�ƻ*^�xq�2:�=�]�,��=�e���k᥏�!^�hc6ލ�H �ni��>�%ċ�/j 607 + /�X� />� ��x��S|\���-�V{�w>>>b3�\�c/w� 608 + ���G������b+��8ƻ��SG[۲:�ć �_�5�Ԧɸ�O��d�k�9ዤ�M8�eo WL�U�-��'2�C�����^)�'6�#ˍDr*���@Q��2Ilp,bՖ�pr��j��/R-��Ka,�#��R��p�� ֹ��E�u�e�����[�LM�k�e��:^�x�` ��w |l�lt�w����;��Ė�����Zxw��)~�`=,rK���3���� 609 + �5������9^"|פ�$�x����& "��y{_\�X��(��[���gʬ ��;���[ Yڸ��%[N(3¼82犞�K�݅��D��]@�^"��I��x���=q?� �6pA�&��F�»;�[%�S9�LH �@uI�𮌗)^"��[��]��>���$��c+m"^.����? �x�Dz��:�wu���F ?<9�n�.�R%6»i7,�ۖ�%�Z��-�ݣM��������L� ]i�wʉQ��-7INm�� ��hiˏ�e��3���/�}U�w��6Þ������^���y-�s���<�h9Ξ�`�L��:}aε����.!�g$�$����;/�H�%�]�^�d]H��,��!�A���G|wNl����Pod��H�X�t����c�5�rB̄���B��LR�+a�s�`+e� �W����!�! ��Lk�L9o_]zj !oo 6�rq/�C���b9`�Su����wQ(��e� ��6T �؊�!yc�(�)e�c�y�������{����)��vG9:b��wƶ�v����1ݜ��"�~8�#\4L���ͣ!m�L�1�S):�yߩl �-�nh^����X��f_o?T����/��٤1/<B���T����0U1ܠR�Ļ�q�+�ě�=G�������xS���h���\mtCg�׿���w���ȋ6e��������Q~\<2��ǹ�|>�K�����;Ǿz󯵿]�����xc��ů�?����h�{�t=��;�����}��⟜��u ��O�������]�wW׫��O��������-y~��O�W���]~��_~��$i[ף?�����b���g��/�2�����2�Y���O�����}���z�Y���͟��7�Q���<�չ�]O��?��_�������;���'� 610 + O�ד��:��Y�z���������-�:��g�o�_�ޖ�_��S��m���~r����?�{z�a�^����8�����s=���v�6���?���w��r���G߿��i���,������$�dp��z�����^\� �mv�_�����O��c��O�ן<�-���Sx:����:� 611 + w�/�rp�zp�╲����|�]/~ـ�+3��?��'���� �&��������_|}=y�>�^|��˷��/�ҋ±���2��]�~ ��x?�� 612 + ?����/;��؞�}��?�~��3<B����|��Ó�ӓ/�|q�� <��$��{�p��?֍Z����g�������/jv����/���z�ۯ/>���%`���_��q�{}����^U�w�ן�~R��?��_���~���_��:��{�������OL�S,����'���}yv��}��gף�/��~ں~��N��ҽ��������߽���~3���7�?����R�W޻\�����o��)A ��׳��w���z;p�u�����he^/~��$��_?m�QX��ןx�'�g�~�B><���m~q��븼����Q׻� 613 + ^������藿��3G�u���ί��gH�KBwT���G�?-��e����d�i����~�|��󳃟_��x7� �|Ԁ@77�`���Y~���_���\ʙ�K�_Ja��®���֓�l��y���^,�=p�v �v;v�N�{�}�8�ؗ<�D�08%���sq��e[+Q�Q�H�H͑�%�o�o�X���eۈ�����N3�u��|� �9����?��{�|��_�hs� 614 + p:��5�V ���뜆ƨDK�����.���ðW��g\}5w��J�����G���>W\���8� OP+�C����}��!����\D���yq^t��|x��-������\���� 615 + �pH_���J���k,6�\x�+tR۳W��El������??d��JeX �aq��A���+�ʼP|�� ��neEi��b�0/��΋~�9������� X�L�Z/�T�!�� 616 + ��z� 617 + ��+>8�F�� 618 + ��+�����"A_)������0D�+@zs��\� I���|�.T<�/V�>�<�����-���F!�a���>|�a ��ǡGt��so�V��a�d��|j�G��������E�\ �P�����A%(�~�*��'t��>�4�9�˼0h� �0~���"���ރ`#�x������[|^{�����u�+�`>T��@ 619 + 2`�ˆ��Ae���V�W�B���=<3��|�/<�V*Ы_)��P��V�C�P�x��J����<�T<�]he"�|;"� D��"����y��( �(/����C�����:�"�w�}����XpCMW 620 + HG(G���y��U+j��i^����"ѐ�jī�H\GM ��-��O�s����]�������f��W������r@ �Bv�e�/�&X�Rǥ�S)t:eaHy*�J��~�%�2��@;����h[ �K�ti�/7w&�!3��y�Bz���p��?�y��Lw>�ң������DPhm�{ ��Wx�� i��t 621 + �I�MVZ�!D}hE!���n ���ct�G �/a(ZΗ��k�|���q)��P�6��_��vkKosk�i�0��P��q8��ǥy��П�ҿ�6 ?|�%����p�о���`�Or��RE�OKK����%��7ܚ���m�z mrZ�#~\�?�\g�^�A 622 + �` ��J�<$�<���t��ti��c�^(QJH�K���U<�X��S����Φ�y����eL������ͷ�82i~�ל 9�B�5]��덇B����N��Yf)�J3߅�D8�50��������d �x2���62�>{P'DFm%�-??�7/���p ����̖�洀 �9ϖ������� z୵ �n��T�|ƾ#�ӄ�y�A�x��˃Ɔ��7�k؃Ɨ_�F��Ar�|b�o_����3��j���)c#WHcED��� 623 + l@���N��66����!��&�5 H�T�@�Ǟ�0����7� ����zB��aCɤ;� ����OY��(ê/%�%���1=RzU��iv�������LKg� fy��j@PT��g,��}<Vm��wO��yz*���j��x�Uww�m75�zf#|��.s��7�$m� E�!s� 9hسw��Q�/� � ��tX<�<���|9�����x�0�3����|�tÆ������Aj���?2<:~r�g�*�5H=���G �[��Vh��u����� z>Ae6����?��r�Q�tb�6�{��tUZ���;s�ikܛ�]�ؤZ��Q�a�MnFV�pd�P���Yr��a�|Z���X)���G�q���)�?��i��f@KO'J�ƇH�9 ���h�������V��0��QٜY�g�N6��р�C��;Rh��A�S����+u��r��uk��~�7p8�:n����8�Ɇ�?_� 624 + �<�pc#ō�9�aC�ΡQv��.0���#<4�#�B�<���ѡv��� 625 + ���pF=B��Qm�PC��n���6�[�05�� r�F�[P\Pl�54+���at�"X�-p��3/ ��Ѐ!Ġ����LJiF��ݖ��`,�<4-zd9�7ˬ���"��aN������,��WbwD��CrwR�`���p����pqG���{<� ~Y��|��4!�&[����Qߣm�7�t��n|������y���]@8id ��I2���@��.��7jT���:���=s�Q_z4��Y> �1� sݺ����t��I�����A6T��U_!�i�c|����4���7�:�+<~��+,s�n�;B�(�9��]����<CLG^7�w����=���dN��r�o��~�<;���Cc�D隐��7O���J�,�=���I4��5���`�7�<�`G�𺬃N�y�<��f#G��v��?���C/o��φ.��4�1�� � �r{���� hF�) �Ƭc.<�)��Cd0��5�^�8려4�(�U��B[��(t[���������N�IL{a]o)�3>����B�L�Z3���f�P�)�c�����؀�Z�b�W��S 6���3n;��*����髿�\C�/�( l��o�5��{���W*�Ĉ��@-:����5�L�U�$;�Z��u�Ʈ7��3c���][4��5��N|.u���X�{���̾�\����x__)�_4R^\ek��1l���:��� 626 + }�;$U� P�+���f��♸�@�������F#e�N^8Eo��g�"�d���>���c����bx��&�����m<n;��i���a<5��Oם�n���G��BX>�0䢍g��#FȈG�F��k�樭 �?-��@�O��M}��P�<����Z{�^��iߡa� ��j����_zU �Z�^u�����X�e]����QI~��)9'�����7�@�A��V7 ǽ$ ��w�DP|��������<I�{�B����5�D�G� Zq������a\%9�azP�N-]��� `�p�Yc��E?(D�y��$��R���j�,�Ƙ����60����D7떫h����V&��PqJG��z}��T6�Q�H>���Ы�^C$E������_"3��-gp3v;B�qhV����k��7\�D5��}�Z�n����h��Mf���� �� ��C�!DH��@(�� 627 + �&�4P4���QY�Ň��5�.��y�b��ɦT4�.�rÌ�,��[Z�0�d���9�32Asxu��3p�ϸ�+v���6W6 628 + �]1�uO;�'�lG8N������� �#�`� ��JbnS?��njÅ��7v�������'z����羉�u�M��(�6����N�퇀�1�ߊJW��M�;�V��v̩D��F1����w`<��g]���Y_�������<�t�[�� 1�H��q;��7���ܳ�NF�J�(��h����~O��Q�6��tX$6 l>�‚q��u���])���;�~P�P{S�2AQ��=&g����*��w 629 + 80刿 630 + S!�0E�U�� ��D"~p����!JL�`=2 631 + �����a�(� ��;��$k�A}�r����>��a� ܫ�/ �����!$us��\� h�G7�1�ëH����&��0.(�`�1�������;^�")�����z�1�y ���8g�z� Ph`4GH��*A����c��RΨ�1� �uUT���Y���?6�IQ�p� 3���|�3Z)�G�4&\3G��;�(��K��i,��NYx߽�J������W��qA��Gl���H�ڦk�'�oh����#��s�S�8u�� h{�D�n�C/� ]��Q���Q��I%6���] �u��k>����_����CwIu�Q%��� w57 632 + bM�+)��r@�����~E~�ί��J��v��gw7�yL���Q �xÒ�4� 633 + E�N%�u�GF��܇F���(�ʗ��;$T:�?�f%���x���6��l����%�!N㡑Tl����^��6*� )���pbO��������R~[��t�gm{q�%Ҏ��Oc��c�X'oi[0���WZ"�U3�c���k ����� Lu�)һt�  E_�uoȍdAq��}�^W -o 634 + 635 + �!�~0��M�\CF���y4��B�C��fD �)e��y\>i("����X�EM&:Z��u�q���.� ����jO@pu$Uy�kD ��H�X�൦�����C�a%�Ry�R����g�܇d� n�5íQ�+l?N+�y�P��vT�� 636 + ���'LO��Չw�?��0�*�#���k�K"4|u�Oe��2��eņVA+��7p�<�ώG�� u �s��Y��H��%y����7�G�au���O�V�l�T�:�)��+�����!�2k�r���<�4��d���_�A��D�`{����W^��[�3}�̟(�E��¦�*𺮋͍Ж�0q��<��?�oȻ9�X �>�a�ԤܬbC�}r7���T�#Z�iØa#�C��ė��Q:��>t�.���v{��Mf7K�|�Ì0(!�S8���7�a�"3X�(S���0���4{��w�7�m�{� �*�Xb����6����>���m%�� �O��C��P��f�.Z��������og�N�~��8�+��V�:,6 m����/������Ͷ{�o�.�Q[��E&!Y��H*���%���og����c���K��T�]Z�~˔6�P�,-��\� ����6; x��WCܔ�%;Ǽ�d^����5&�G&:�+�f��_�� ��_�\K��:2&.��^�y�`��PAJ�2w���d���\������hWt���_��q�[�+ս�]�jjx����x���e�Є)`l$k�5熐�q7��/�S��:���J��'�;j;����A 637 + ��ޡ'�P���l�n�~�n�� [ �i4��#�n��p�Cc.�f��l͘pಒ�����!I�m!�� =���^���wX=��� ��Ǭ�� .tu�AS��M�{�5�Eo>£�Wy�^���b[��:�O��JC��-�/��/�t�sa���^h�a�,%�&�����&7@���'�؀�����8�s�w���P�<c�0Fj=#g?RK���o���44 MK����и���h�:4����\�f�ny��O{���:i� 638 + ���^���|-!�}a��B~�T'Oːw�w'��ÅM^����ز�ǚ� j��k�bqU[�͍m�y�JBu�h��DE�f�]�4%���b�G�Сo�×�k�焦�F��������>��6 639 + ����$M���S/=((6��%��_ J[A��4�]r6^4�輊�R��t@i^�<��.��n��D|� 640 + MqY#����6m�a\ి 641 + ���]\l��}� 642 + 7 �L����¸X$f���d3�%�^ђ� ��\ז�W�������Z�K������6��#�l��ݗ�~Z�P�rqc��P��� ��i=�,T��Z��:D��2B�#ayU�ҤBj�KG4V}���vd�z�M���s��i�A���O q����o�~�����,�t=0QSDy`���� ?�QM5��,���(�Y�(g }E4{�h�t"�Lk����UBZ��7f����9S8�����G�(�H�m�'���ĸ�֮�m��Z��G�$�ְ��"Q��t���"c��R j��pQ�0���1���������}��z����_�7��-p�XəO)ж��j�����8juS��k/�7�����Ϸ������Ƒ��(C������n�g2�����W�Xmd�?��P'�Vf+J`�jb��_�[�W�.���Q�W&`��z<=[(iom�-�0����i�lbLX���³#t��Ty���N�|F�����H+ ԒB{��˓� ��2=��r�9��U]'ic�T{�4�u�����a}�XwZ:�G 643 + �D����4�k�h(x�6��^�7P��ټ��Z��)���|�n��mws� &� �'�]|M�:`m�M�����K�a�ڎ4��~# w�2VH��z���!��Bޤ#���ͫ<n'(�d��Zz�J���~;e���$G�8C{�� g�[���Z�6УK\p���G�!�hy�,-�8�a8����n���m�ɺ#1��e���N�$�:���+h��q��v ��(�U&������E-�ո��G3���+����6��O+�k�ⱁo��u)C��W�&VW�\ut�@�t nP<��0��Ƒ�>-�YS�yc�Apy%0�B$�Q+�5���c���ΡO�6O������D����M�,�wk�@V���wMDdFS��t���~��ԯޘ�'�?�H�m��;20)��ph��*��G�(�ϫr~�H�m��m�Cmd^�U��C�O�VIjU�Z��f�%�N�j y����g,Ɣ�$�*I�;�s�.���e�O�s����t�7/#��'I�� s'/�����РI�����)B�P ij�[Yu�p��τAx�?3i:�Z!6���2��i�SGF2�a�jaZ�HUɦr��qm-�_o ed���>�����wd̢�|21Ow��.���9��N'��Ɓ�uפ�2��^��`�s�pޘ�~�d�q�+s(mD`��eL���\�$8pӸn���V^*$���nn�I��*ͣt>�`NM�K.����)�\A�eCC���Y�2��q�ڣ��,��Կ1[t������\�]��O����q�i������>lQ�c����DL\{wC�iC4!�I3�У�� ��ud�[�iK�l��^��7�Je��N#ߵ ���� ��N���� [;*GFD��V�^��d^��7"�`/���<�T"6�`"b�KO�~�������̰e�����%��$���6.����H�G�SK�̟Z�C�z���u�Ժ�j���V*hzD8 l^�~i�A5�@0X�$�x����/x��� ,�� �R�d�l;�Ϸ @�@�d�ݣ-\����K��-h�� �V��FL^�Űo�4������ 644 + �^|Q����c������ȏfP@۲�t���"4�ۈg��d���UN;u��Q������W[�4���6u��b� ���ֲͼYri=4��ƴ�\�� �̞�z�(z�0 � %�Eu�Wq5y��0P -��e/[��o7Zf�oWZf�o/Zf�o�Zf�o������ԗ~K}�<�� 645 + ��}��7���� G!ݡE>�����ZW��� �;ބۯ �4��_�7f4j(��� ��D�E;*P�� 646 + }���U����� 647 + }~w�Ez� �Z��#�e�y 648 + ��AA.��!S)~۠M)a7��7���q?U�O;}����oA����>nކ�Z_�"s��}��H 649 + � �]���gHL�r�� Ƿr $,���5l؆���'��ҽ>�Kb� 0�#3�c@;�$\ 650 + i\M� �"ڨ�'Z�&��l��RO��aj�,��Ѐ?�]�� ������"�}����ϸ��������6�X�mh c���`����z�oJ��蠕V��� ,[����Z#mF�>5�hlCА�����#��.9��O��Iӕ��+��V��yd��J��b����G� x�\(=�E�`k�����[ە[I�>Wր����� ��֯5��n`�N�-}�8p�&>������� ������ ܁�c��P�y�0��Ɵ��?�������Np> \�����Zg�M��oO�M)��բ�8��F�uQ�e ϔ&���6�<��˾��:�-eW*|H{4�n��I 651 + a!�B�$'�9�?�H�)���I�60�B&P-�*y�מ����i�[jS��F5T���`�q�*e�)�b��Wֽ��v��T�כ_���I�@����9; O�H��mʾ�xI/x�e硋y� 652 + ��1N-.��e��:��:�0����`l(\�Я�dD9d����,@��B�gE�֓��}[-�+Q�K'�|���E j��J_f�N� ̅�v$�Ӏ�)Y��pq(�����zLGa�s��� �����.�km���a2��B��V��F�N��Q:g�]f�� 653 + ڔ�hK?����I����uk��3�`�. ֈ���"Ӹ���k���e��Tޚ�y�ys���w}�Q+]^jSc`Io�'�����=�������i��y���!q��}�-�&�~���h�_��0�C����>�3��I� ~���iʺ�X�>��+s���$�?K=�F1 �xd����(���6~�"�q�it��7T����ݤ��S\p������p�'�~�1i��������> e9�:䵓������ɟ:`71m�=龍c����q ���:��{k���&6:���<S���$�#LXENkP��`Z�� 654 + ����]o������~�� �kc�6K ٖ�^�n,�5�n�&Y��7BH��M9�=cES�-�e��/���M�:Mĩ��[?2p����l���?@`�#c��ŧ�������x�b  ��Y���_�?�$�O�^��m| 655 + =)K��z�ޞ�����"@��@�m��o�3�oj���%��o_l�lұ}���b8Xw���Vą������ ��":�6H8��4�����y�3�5��%0�]A����?�����`��8� 656 + ��xm{�F��3���Yۣ؀������ZK�q/)���~�Ps�[;�:����qs��R���+:�;^�x��jD��>�j��A3Zg����%r <Fk��>���N� �����0FM���M��k�_�M�.�����ծ���֗�(!R�� 657 + m{��4�2o���sm!ؚť�f3���,Hm��Ѣ�0L�[� >+{$��X��*�ʵ��h3)LC���(������D9_9��E�pVt��c��L �+k�&Y#J�����h��`9�D����� s�/'r��m�tiw-��������Q�A���`:4�4������P��"��bm��I���]�X:�=]��;���y_���A��)�)�:m���Y= �_����k����,����G?�2p{:�����8��I}��?��P�@�s�j�Q'-45�[ ܭW���mn����֖�a$E��Rb��m<" <�(��~�>L{��#:�]!7��!5����f]�'�=1#u��D}m�׉oTk�B�c���k[+0"�K 658 + $~��=����l�w)ٜ���=���l�����������?�='X�� M���#���r��Ɇ�W��7�<��^1� �ќ�h�7�I�6װZ�4�t�����he~1�&��3x-vH����|���5�`���<�@h�/k�% ܭe�������ey#����^L��(Ui�*Y�kb�pVi�U����1��P.A�����GF-$x�8��f�<���Nߍ��9�c��s:�A�k}'��6��<����n�' ����<$�<��0�o�ꊀ�ޅa�f1��7���!��S�<�Sn��:��t�"�`a_e��c3{h��C3g�٬Y4sY3{�׼y��rf���h�����>��e�P6� ч<���6q���,M���+z{���/ؗ��A(]�Ώ�����1���!�X#G�L*p���?�`fy@𢀀 T8����H" K��<1���LW�Ƶ�#t�-!�|sL P�Y슇v������$< >�k��c�c�K����#vK���W�|��O�b���A�D�����,a��)·>�ׂ������9�V��t�z�汢 ɔ�):ᷢ�σ9b< \�GN�� �!��}�R`BB--a�9�R3��c�_�q0����!�[��A�7��m��gV�x�mt�B 6WĊ�!�-�����%Nߗ���$��A<G��S�D���hL�9�őI�<�┥G"�3ҥ9�qs��И�������&�iy(��0J 659 + < "_�(�""�r�p�Y����%!j'D����&�y�[cMB8�������H`�E� ���d=' �˳Ph�� 660 + ) �'G|qd*�����Y��y����}��~�Y![ `J3/�MA!�PPK�)C�7Y�b�#V�8�j��QuEŐy�,<k���&8ke.�,�����*�FD�4�9Rd�'1`���,��<��O���"���1LL����',��7�\ 661 + �Y 3�D��8��g.��܄�c1.� R\��ԇ�9�Y��9�� 662 + w�� �U���a��Y����,PxgR�y�%�/=�);Ur�l�C�Yf��p���2��t=�����b��� G"e���6�TfI �pX�'E��r�q�u�f#�}�D<��24d4�L�C�XѾ&ɟ�tVb�-�@;��2��� 663 + ���?�]bm#7<\2$�;�t�� 4�M��UEZ���QA9%�G�c�UJ��6.�fb�*$JPt0�-�?�[�/�T(����Z ��+�sl��Q˱�͑�23��eL���Cf��+iȢ(`2�y6�yS8=���F/������$�>���f�\V��#fH�"��!��!�K�Y�5��t�ę#�$����{O4�C~�e�Q~���#V�E����QΦh�C��e��s5��or�L"�1�4f�"��De�u$���XY���X�ԁ������!sb���Hlm� 3�H�3�NEJ�Tt-(5^Tj��YV�����m�Ǒ�{��''X!T��3��Y �+Öx(�ʘscY�Y�~�Zpƍ����(8"������'H"@��keĥ'���p�*�A�)#|$~�طȜ#����Fd���3�X���"!)1�S�[���ق�x#G��W �y�"}$��P��Ѹ�lI �"qE�P�#1��+��s"7$v�T I@�����>{�yALA�&�R���"Y�} B�}�D� �>XH� 664 + �9�!�0���UpA��N+)ˬrO�U-��9�1USyn�H�U����ȏ�>�MN���HxV�AE���K!���4ѣfNT�_�X�bVY%0ӳ� ���Ml�!�O�-�l~�g6T���%bw�t{��q���ER���ˑrP 665 + �oV���x��Kcu%a}���%�ō�g���Py里E����� ���p��+Mv���Yk��h9ρ:�vq�rʙ.p���2`�B磍r-*���+�WLl��}_\G�� 666 + v�҆\9H!=|H�`UP�Xy��w&|�i*0�Y������-O�ܡ8�J�e����Z.*�W�j^���i_t�R 9�%�dy;��Y� 667 + b�ٹ��#��ϓ�^VA�� ,yl�s�����#���D�J�/��-��h1�{��$Ǿ�����eN��C�k8�q ��NP������SG�9�Ee&X1�����dE�8iR�����քa�5<4U��E\țU!��&9�L�}�6��ʰ/Wmq,�����qL� ��������;gǦ26Y iH))j��H�, �?��?O,�ʹ(�BA��C�tA9��� �?'I���-�"�C�2r8r�􋪿���:�=��XH��� ��Q͋>�Bf��} �z`*5q��j��.Hx�SҠ4�p�ؑ�(�n$�RQ%�����5ݡ��y�="�� �i�Q�x=�������2ޜ)1�>'�8*8���&B>6U2@�])>N��k��dN��TS�%���0+11$�*us���X�s*Qu����T�fT*��tE�Y@��Y�x�j,hl�T���ͪ�B�M�BGAB�� 668 + ��☩T۾�x�-�D�ofU:���>��R+E�\��@Ij� ��W.ӫ��{�Y:Ɋ�O�S�%��Sf9��o*�Z4U~g_4ԁ���cD��IR��c�����Ą�4���V;&I'�(�����D� 669 + �L�V�M�)�]�KU�KV�$���Z�A�\ V\J�gYNs�+\���Ă�(�4����S1��YU�@�� 670 + ���9k��F���J&�y�TѦ$��*��s��ij�Dc h*�%5�SS 671 + ���3��*�̳O/b ���W�(H�`Q� 672 + 673 + N�s��@9GYg��D7-�y$O���+��T�����j>�ل���J�R*���n��s�U%�)�������8�H<%H��qɊǟcT�����rf.�qV�[ �α�KR�YS�����TT�K�A¬Ä����'s@�q�Ϊ��<H4�1�g�]�b��@�G"@���쓝�)��h*_X�𾤏��m��y�T�A�n4##a�d���y�W)�㍫V �JR��U*AF� �ώ�9��Ab�}�ްM/(��O�F夨x��MDA\Vsq�)�*��$=�$�(lrY�p=f��s�W��.e�=s���WNŜ<��g���%�H^A����l>L��DW�9��ЫȮ�>�UI��M&��Gd��)��U��$���;d6��l��� o�o��iF\ 674 + � 7ۺnh�?��1��};�5\�:�������j��ߘ��32�]m����w�t������������y\�6��c�.�F����-lk�n���}�.z��Z��F���t���w��}��C��ʞC�i�ɉ��J[��?FQ�@�(������K~󴗜W�������?���@����W[��L�m��q�1-����U�}��'��Y��o�����8��k M?�н��By�]�������w߾���G��B 7L���y5��Z�Qk�o��)���߼���� �;B]<���.���ۊ�[���꼑�Zpw�]�$D�f�K���Q����;b�ꢩ���A;��$��T����K�bqu�^;�s� �:�9�7�tm�㡝�Ş��|�e��'e%�cg�:�d�P�Y��+:�e��������%�C��������]O�������T�s�����i#7i��pyu��Xo�e<�k�?�������p� Ī�^���ԥ�f�O��L��y:3�9[���F���`B+A��d�9�#jB�?��{����[�-�}Pg`k+,��Sc�Aݔs��4)r��XT��>�y�+?é-��Փ�7��/{ƺ�ƠV�G�e�U��ց����|+�ƁcLJ���@Ћ�U�r�m�ܨL������Iaמ��R���r���R�l�7����Nnn���U�6��u3��N� ?Z��]��rt�V���J��?�4���++��J�vOC�Wm�� hoڭ�E�|s�5/������4Ǻ̫���w����S7�z��|w�Sgq\�m�ju^��B�U�\�ya)ܞ�2h�Z5�:m������SМ�BسcMwh��J�'3�Q�v��cqSci��⫱�u�����X&4�n��X&��Lx,MK3=�f�SVn���" 9����H!M`�(�*u�QOV�>��O�q�U��ګ8��_A�JT8��R ܐ�{ �_@�um�t�A��}[J K������4֯�F�5'9:ȥ��=�i�h!�A� 675 + � r�1�3ދ�j�j��J^���z���x7��Mt\Gy�Kg��6��������B���-/s�)+�R,ֺN�UO �� ��(ֶ�A�J���St�⠡�Ұn��4����a�A� ͙�.��.�t�&�s��8��rS�.����]��4�y 676 + �;�]�<�!�� �Ӻy�@�����!?'��r��z!�ܗ@8,����\�:1�ݦ*A��I.��˺}Y��H��!o���)Q;fh_^�Ik�XZ��_A��K���j����ؑ�7m,? �#��r��H�f9�8!��Y�ٲdɧ�,�`9n"�����_;��Vr�{m1H��������h���x:�%���D��+�3�0�ǝB��%,��C@��A7�w 677 + �hh�ybh�y3��x�{�i~ٛ\U0U#���a7���E�<5l�IZU����a.������I g����.�<7[�G�E�cJ��T[Y3� 678 + 0<�l��`( 679 + �8��>0�����x��d�� [��fq�M�*��v�c�>�Iܸo�a�c"6�B8�B5>�z�#wQp���}I�A�9��yi���M�.��;q���fզQB��ܦ2 9��""��=�x-9���-�Ȓ����l� 680 + {�W"��C��4i�,��Si*Vꦐ�\��@}����ʿJs9��}f�Od�H+i�_�wPEe*'��b��e�4 �} �Q�Bu<2�����#��e����cW�C�d�ԑ���/�c\8ˠV����9[��M����,,��3��h�h�2mߧ����[L�|;�Wg�w򿓳���r�O��U�@�g�=L��#<.�a�j�D�̥� 6R,rZx�)EP Ē��F����i�B���l�Y4���Fv��$���_�Bvd�+��+ʼ�+����:����Q�)�7Sm� �0q�Y��=�F[eQ��D��(2gLJs�)��3�A�/��4����� 4��o߾�b\�Ã�{����L��ߦ?g��QB���?�,+���G����R��p�����l�HeV�*�[Di��9K�e\v�����/K s��+y z\����V>V��@���aVK��� �v��%/��������c�u�s�{�U�M�J���_� k�.�*�U�N�n�_�d���u�e��n�,�+ +�r�<>^�Y;D`+�S<"�t�����_��jݔ�HI�%�]*���]�$�uu2�ɲ�g��}��1��F~���� �ʖ��e׵������'E�Z�hM4l��/ի?�� >/n���)8�!�W��H[/��A�Z&煷��R�r��Ae'�oX��fݲ���7*����� ky�T��<˫���[r�jw/�)��]��-�F�l-�`��}�>t��m�o�#古H��߶����SF\Di��.�M���i��f~�{ Y�N�i����n���6�m�hǖ�񓏃����� ����b�:f�6 ����F���X~�ƚ�� ���u��eQ�%�� 681 + k���a_�X��=���#��k�6jϯ�Cn�꧊e�=�.�����+�f8X�~�nV6��E��u�r�����m�����URk*���v�~�׭�I��=�fū����:�4��&���Hn�����>���1.��?����� ���_�y�ݮ�����B��#S�z ��`Ͼ)��֤[|�������_���ltJ~���,)�'�W6��Fj_o!�X7�^{� �����%��~y���ի�+��W��wH�?׶��q���������G:pw�����a8 ��){0泼�}�fy��k�x�à4���h����Ao^�Rm���{���Wۚ�Hh�j����U����V�h��T��բ�<�/<�x���D!M��x��+���C�1�H��c��x$V�(��S�N�H���}�Y�O�}������ߥh  �C��l�Z��BG7in<��c96b��rF��/B��f�������oyI%��7.rx�U=\{ǍXv=SN��,�U�D3��4�Y��&ik̟+N�7t�g��5�n���(Z蔏%�nM�Q<�a�����GG3�c�@��� 1:�K��4<9�Pgu,{���� �Hv��)=���> �ֺ�!<jF�v�<��$����W�DQҢ�� ��J��T+ʚ�H�� U6����V� H4���uLK�d:B�>�EN6z:4i�P��urBc��ƛ-�H��``�J<br ��\m��"L:�47k�$��&:�G��"7�@�#���NSgcZ�P�C����p�}7� �,�HKv>�����tm�AY�4p��'^ ��X�5�jyr�n�N��I��<T�����\jğ��a�y����F28Čo0vB���@Lvء��I Lq��Vo�*�a i��\ 682 + ��!� ����~���{��Ƶ�YkG��� ��Hj�^��� ��[������M��_�Km� 683 + ���5�HD�I��L�N=0����7 U�����>��w `�Nt�p�vp�ޔاƃ�G�4.�Y'(:���1� ���0ӆ�!�il����N��+���&�r��ԛE�-D�+� nL���T��4��'޼귆4����TY�%�@� FB0�)kN��8&}X�B�m��i���J����*�(���X$ �����Fʣ�n0�G U��jsu������� �J��,`���@�ǩT����{�5ұZ���Y�^Jz��ѥюO}�㘊��`�iC0F��s��+�_KK�� 684 + �{ٚ-�4 t, �7SbW<�Ğx����>z�%��c���vOb�}G�)�-�,�}9���O��A uJ����Xe95��T��2��~����G?S~���Ӈ�Q��C5V�B�u5ԇ{��jn֒%����L�P���;�5��4�縟��C�Tӡ:q.J� ���?�� ��盩�I5�j� �A<\�iː�=;>7�3_v��{���$]�/K��0~ܜ��_Ao�Cg�x�� u)�̟�}G]1ׂ0��c'�����j'6,�=ҫ(�tJ�A��24ф���`��t��"�~��G�Du ����d�}�]�PV�9Q ���F��*�牓 L3U��vH�t�D�����s_�!��:M�*���zaBcǠn�������R��f�g��R�r�$��M��ږB5���Ӎ���1OpOIa��d~���Ǐ���uU���/  685 + 7:?Ԭ�}�����[ <���| ���ҳ{o���}�v���&�������� ��a�̍�l��7)kYLK���}r����\�VxZ�����""F�sO�*O-�N�����=r���x���%A�&bF���x��{�a�S���?�7c-Cj�n,<��ź5�c�ʕ;�����G�� �;�O?��>!WN���m�ħa�_�T�"<�Z���Z���Z�,?}��`Y�4R��=~d�m|���N��ף;O��"��g�I�Z��=>���?�r�~[}��.^�q�d�?@屶�%�W4��5������T�c[.���y�8-��*�T������_��W��oY�ekr��G�\Bu�a�8B u<�7�l-#�Ƿ�C �T���~h�j��#�m5188)�j �4����=���ۂe|�D�YoZv뱄�%�\����w��_��cc��-�0������x�qݲ֮�>{�O_]�J��SkR�@��Z�����w�(�Z�����rCۤc�mN�+��5�)�Y����[�|���0&�u�:2ս���->}d����[ֿ�Z����;��5ڡ,������k�g�]J� 686 + �}p�)��J�¶ˤS��>A��M2XX��z���5�t3Te�C��o/�}��=�m>�.Ѯbi��"�����m��x������?0����:X82�^J /�FF��� PUֽ�Y����5����ʳ�o��*3jY����c$�୏ ��P 687 + ���t��U��<�a1�x/Ι3uN'��=�`��ω����O����]���*Is�y�H���#�G �ؾ_e����z@d�(L�7+]�_1,FYq�:�H��-�De���0g�Fk�g�����Y�3Z�`E�Q�<Z�?��"�( �9�6G��67����Y D�ܛ�(��Y�dzP��z����X�#:7'���hq� $��n�J�/������8�dEi�I ��a����6WEZؘ�4��ނ��6��p�VUBP�P��u�d�� 2�8�F�wDD���J&ۜ��JΜl'D ���hJ�h3|eBf��Ӂ�h�uvD�f0��D�}��\+]ZH���A����"���a� &�d[� R��,����$�)pE�EĿ#H�ሶ8x�\t����t�2���j�![���E^��c�2�� 9:%� F���I��� e!d��6��"4<J�F UA�� ����c���0Y�9Q�B��hҢ#r�d��"��Q4 688 + 689 + ����T��ŧ�e:���]�C̘��AP�wQ�S �{�,�64���*85��72�� �3�L4�@Wؠ��'"�u4:=!�,�u�Z"�0��B[�0��� �T�%*@��5�C��l$Gp" L��1E���4F�����Li�uqv=Wg^B�2��R �!e�f����i���$��Ű�����w�����_��nG�(� }*O�&�"p�g%M��\Tm��v#�OC!��0��x�N$�8@5�nP��K�� 690 + %v�(\�sK��@I��1�����j‰��$'�FA ���K�� 691 + �H�l�E��)&'��D��Mq:����+��I��HU6���Hz�d�����J����tt�h.g�0a%���Y2qʇ 692 + ��u8�Mj�C���c�2����*f�� 693 + %���=��]���s�ϩ 694 + �ز�W��e�9�u.�c��X�'F�2� 695 + ')��N4^��Iu^Ӗ�6�4)�]�<�H�:�I���O4*ܐa(7�=.�>J� n��08� V �`�WJ�O�HW@F��v*D(A� W��r^��5�B�]+ie�v� � �D�:��$"~A�K?g�ϵpd�F�[�N�yE��?��@ ��ԅpX����?C�!Fb)کƸ(J�����d�� ,|�.������of8e�v�h�@���9��;|�p��p1�<��:g?�QFeM>�|�@%�� ��P�F8�D��E>��sb��pT#�jt�(��kwTA����S�R/>�5%��|���w3����1�E�H|[���QsB�s�7"�T��E�G��{Q,�~>�Y���+���� �����b�!�R���w"�U���{��X�vPЖ�\��c1:i˜b%�&NU>�>%�¦�G�"���J΅�?cT8��º��;�]1�ŊTC��)�p���2=\�M�q� �W�����t�G���. 696 + |I�C�>�xsN�/p��"r;��X[�u ��o��)r�7 �&�9���D� ���Р%�%�� c���n��H=�W)�%��������b8�m!BY*D�)�e�&�B� O\W;���?]r���Hq���y�D� �ۥ��G������PVcǺ��9���8k�"�p����#<�`Hі)vqxs�$�G��F]����C�-ᅞ�WV�q�U�2�a�F�z~f#=RT��yG����<��j����Z�δ�j�H��A����Z6�H(�'�������-(Ll�N�@�`$�`Z�<��)R:S��pr4xuG�9+ha59U�u�Vfj��M�g�����^YK�5(iL��ײe�ߍ��1iTQ�?+��{xI?��Ïc���L��9�Go�J�E��1wj�0�٘�B��f)���ӵ��>4����,��k1���8i��W����4�G����E�B�UYc�~�l䥸I�ч����*�y��4�(�ҙ�vJ6��w��TK��v�23%�"��r!bU-kj�;c5�g�������9�^�W�$_��w"E�\� ��ִ���V����NYk4S-�Я���X!�$��/�+�c蘼�>�Çb3���c��1f��h���2K�&QsUG��J ��Ph�hF��w��O+lӷ�f�����r�&���r3�Q��bo|����5Tj%���V���*� ^��f �l��ִ�f��bV[  697 + �Q$y��`�$�1� ���v)h*Aߠ������hmv�_ -����F�3�\� ��(���5� 1W�����lKٟ|II唯���tFU��4�/y�i+ߝ��i�S#� 698 + �НQ���B�Z�iP!�vO�0왂�)�r� ��?#�PD�[�K�_{�&�*�R��d}��$-�����?���yPk���Z�����ZRT���ui��Z;ل3mu��&$h��O5��ȅ��ƚT���x��$��a-+ܟ�ʩ��N��� 699 + *2't�߼9!��� 700 + '��a\0S��eٓ(�k�qJ��Gt��_� �9u*Ps��#��r��/�M����5Mkt�!G�Ȗ�ȐC�whȁ��d�#����/Vûbx7�/��4�v ���6�'��˸�?�f�L.�q3���8%H�`|��_��O轲�D�-��!`�1����ٜztBŗ��g=rO@ �!;���_]�$ݜ�ñ�-5aLzl@��������4DI�u?U6V.X�黎�ji����^�!�qS��՘�31 ?��Z�}$�ٱ������y��Z �"��Ƨ�i4��W��J!�&�֌�5Y���Gl�[����6�3��JJ)Hl��v��n� �:�37ӹdiGC���� �ԭZB��n���<�P�y�эP�_"0��C}#�_4����Q�6J �z5�\���I���)l�5���v�/M�Ӹ���p�q��q)���7�>�F��+ƪ����i�Ϻ�jS��o�m񒭴��k��/,����e=��yt��5鶾n[hP�� �+�Ytr�-}��6�e���8�(���jYf��z���/���d����3��i��{��P��O�(�Hխa3��X��+ˮ�� �&VW�Yvm�2���e��ɕO��Н�/�֮[C�B����������К���J��e�b����}���ۗh���ލ�Kk���+���ֳ���+�C ��޿�褩�Q7e��[-4�xP���N?�59(V���}S/�Z��kߞ�7������f�I��5˖I�������a�����uk|��3k��"�m;hdUi_)����l_ӭ�n�~ZZ�z�n����hv���w֞��5�/7� y�BC����Ώ�=2:�GX������k�Sk�E�Z��.N�7t�J������E�mZ�p�h���G�Ev����;hu��/ϋ��ӯ���X�w ��+�ƾ|�pa�ee!-��'���]��e��~���R՟~"d~�~� �����}d��s4JU���H�7>u���ws�;����fN �]��� ���P���[�fY�� +� �Nf�F��+�Z����闓S��k�N�!ZC�jpv��RW.�?�#Z�� 701 + q���-��\y1G�ʧ�o��b�p)g���Z���o���߽C��\�t����BTT���\�&�<!��_#�%v��P೵j�.�&���s�2ι`��$���ː-(J�]����d��ޣ�;dR�����{�V�f�(�X�/�#��6Yc�Gt���Y;a�.{+� ���7�{� ��m��v ���Yo8��};�e:"��_H��eʁ�e/���.�q�b��6��^���=����f�_��To�кJe[#�����A���e���`c,ٰw3[�{̚J%%�~T�y�~��1:��4G�m��n��g����.�‹�͕�o�����_�I����俕_��j*E 702 + >|������'�ߓ�����)�����̃�������G ,�OVG�[���=FHU�P��>��?`fSn���:9����]7|�}��N'�R���o��:�h�-Qp1,փ��/v����@��Ͼ��[��6���_����Ί�Н��ޮ�M�i�3a�Hyhwj�g�Č��o,G�8l��k�vd���s�;'�,����z� L*��U����P��k&�$�F��Lôb�7"�w�:�pr�sD�>*���Pb��8Gg�K��u)!�f�*&���1N�(;s�_�G�c� �T�~J�ۅx�?������3Ar�>6�S�a�}b�c:�1����),{ǟ��oΗ�8e���NiE�Ū~:_�Ma)�,S4zs#��fjI�������:<��2(��*��Cdi͝��@O�!~↜��'( ��@^�����&�k48#�(J�; )P%�h `:��p�_f��@K�~�)~т3��"�P�D8΀��c|�n=T���&��C���PU�����Pt�p`,@3%���� x��+0����}F"�E8�$@1U��]ȡ0OZ!���� � t2�g`䀨���� � �+�8PA"D��Ap�$�D8w`H:�� ��X�v4���G�� 4I�0 UѲ�t6�hI'x"xh��T��Zt��*P#="�t30A���#��d�h �@&��� 703 + pD�̀��@���iN�PF�<i]���E&"�mьt4Ȃ�r��� 704 + �рNH��g8'H:P&dQ@��PV@aD���@!$%�"��� �.���C��E 705 + 8%,D:�� P#xf��T�aB�`�@�v������>a6 �~5��SB 4���CBp��'���/B��!&�C�b�˱�t-�בM(nBC�� � �aل�&3�.��=�I�c��Hu�\�ٮ����N.�=S��3%՚�� ���n���m�s�ǧ�!ȮJ�� ����@]Y8��B�"��,f!LjD ���ף�U D���>Ƶ�m�u�N��Nh��*u@�q�P��Q�d��a� ��*�Z}��it����u�Ic0���% �SC~T���l���Bq�c2�f��_�cܭ����S���@��Nh�\��t�(�]ް�O}D3� %��P��+�I*a��~��z�r�֡�C��^'녯c���G>tT�]7TTO�*0�p! �N�B�I����Г�1�� T�pL �`����-;� d�� �u�[�ʡ&�)CCIQ�@s����B���b���\�`��tjCՆ� j�h&&�LțP7ᘴnC�߆� �)4�И�4q 706 + ��)�:�:Lu��P�a�CM���x=�z`�`ԃ<�ۆ� u�m8��kÙ '� G&t\h��pAr���п�=����'=hɠ����5A����L�2�d�P�����@>�z���� �,���� V:x:h::�t��P'#���>�>�>L}��W��±�a��d�ס����B ������܇���y�@3A6�4�5aJ� &L��%l���j���"������Z&�& _d�g��4z �@�Aɇ��=Z>�>>���ƞsa�Bх#�'��HM>H>�>8>>����ጼ�����C��B��{0&M�[�.�](UA �W���X���i�K-���nA�L��-Z�� �B[�s**x*h**�\ȓ�t1�� ]ل� }lz��Tȩ0T���y=�J�^�Z�F�r: �$��H���4Hy����;�P ��$@��v�� 707 + 708 + S�*d��P��-ù <\�.T�$��z��d"��S����B������Lf� $D�W51jY� ��fap,�m��藪�q�`��^���u2�2(2���N�� }�� m�]��๠��U�L��x:����g|�m�Jl�`����#�}T�- S�6T�<.W��P����n��~lK��g{�b:8����sp'Fj~��فA+ �}��?�~ kQ�,g��lP��gu�@ލ\t��ZR�� ��R���[~��3�,7:headers;1239:101:29:stored-attribute-sha-checksum,64:7627e1003fcd4e035cf9c7970786300f0c5a1c0682e999cdcd851e703522ffd6,]50:13:last-modified,29:Mon, 09 Mar 2026 15:49:13 GMT,]77:4:etag,66:"755f5c04ac3a1e90038040a1a72e0642f40a56d7451b639d84d8fcea2e35df0c",]42:12:content-type,22:application/javascript,]27:16:content-encoding,4:gzip,]26:14:content-length,5:33163,]43:7:expires,29:Tue, 31 Mar 2026 16:19:36 GMT,]20:6:pragma,8:no-cache,]40:4:date,29:Tue, 31 Mar 2026 16:19:36 GMT,]26:4:vary,15:Accept-Encoding,]14:7:expires,1:0,]56:13:cache-control,35:no-cache, no-store, must-revalidate,]34:13:cache-control,13:max-age=21600,]625:10:set-cookie,606:_abck=1ABCF11DDE503B8924309E220D7F23AC~-1~YAAQPjTVFwM9wvmcAQAAUH+xRA+ahGgl0Vva6JJNfJACz9g3cZy5nlcAdSAftAzz6Z8ybCIN7Bs+Nnmk4XXatjjHrtR0kjBhE/W68w6lkRxYwlkh8x2ue6mitb38LgIo2FGXn4rEQvQCSxuwOM+XrZ5S2s5vJ/3Fjn+ipNOC/THT8v7oxrASBE/Il8R1KBeVb5y0YuNxBkGcJDG1XP8ZEVCBm2XypyQoSiG67m5tICrqmEp7NJPQ5G3eknfBr4d+SYvYvsITd8ZZRSvo0sPJZ18aHmM6tOPhoStq0RslHyJAZLiehlDel4KkAHfXtLKELdL2q8fuSWwXfjfZY3vi8dM4mpgBLN+rFA==~-1~-1~-1~AASAAAAF%2f%2f%2f%2f%2f8nlcBvlMTd1UkWpesbyO+CgIrDHzGXOKXN+T2VKFU2n%2fVb2B31wogD1u7uV4H9N%2f7FHjNfY~-1; Domain=.huntington.com; Path=/; Expires=Wed, 31 Mar 2027 16:19:36 GMT; Max-Age=31536000; Secure,]]12:http_version;8:HTTP/2.0,}7:request;1322:4:path;565:/_sec/sdk_challenge.js?os=android&starttime=1774973904643&systemVersion=14&model=Pixel%2B6&deviceHardwareType=qcom&appIdentifier=com.huntington.m&deviceId=cf0580c86412f5e6&serverSideSignal=AAQAAAAF%252f%252f%252f%252f%252f9ptNRlq6g3zLta3C4OaIun8MU5lVhVzMKOHlKUSANYYDZAjZHyFuE%2BqdiuFS2TF5UDMTxNGZ8v%2BmyfAh%252fR2jrgK9S2BuYNDxnUZE6CbzRVBvPhv6%252f9FK9eQbt3n1XXdW76vL%252fL%2Bv82jD1UD%2BqbPHRlGAXvIzwFv48%2Bq4PXpZJKvFmeoqdluT5JvPpFin19zGBVHrl7sZJcTvnhozuhQRc6op%2BsHALcYKRUbQ5BdxDwlmeLmWxI2EfeXeu%252fdPsKtIpCjtmICjDfgSfYkPBRA3c12R1hzDAcMX%252fghyw%252fUhvfOofBFa9cj,9:authority;16:m.huntington.com,6:scheme;5:https,6:method;3:GET,4:port;3:443#4:host;16:m.huntington.com;13:timestamp_end;17:1774973976.234606^15:timestamp_start;17:1774973976.234118^8:trailers;0:~7:content;0:,7:headers;494:20:6:pragma,8:no-cache,]28:13:cache-control,8:no-cache,]190:10:user-agent,171:Mozilla/5.0 (Linux; Android 14; sdk_gphone64_arm64 Build/UE1A.230829.050; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.136 Mobile Safari/537.36,]15:6:accept,3:*/*,]40:16:x-requested-with,16:com.huntington.m,]32:14:sec-fetch-site,10:cross-site,]28:14:sec-fetch-mode,7:no-cors,]27:14:sec-fetch-dest,6:script,]36:15:accept-encoding,13:gzip, deflate,]37:15:accept-language,14:en-US,en;q=0.9,]]12:http_version;8:HTTP/2.0,}6:backup;0:~17:timestamp_created;17:1774973976.234262^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;10411:3:via;0:~19:timestamp_tcp_setup;17:1774973976.163105^7:address;26:16:m.huntington.com;3:443#]19:timestamp_tls_setup;17:1774973976.202825^13:timestamp_end;0:~15:timestamp_start;18:1774973976.1428092^3:sni;16:m.huntington.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;16:2:h2,8:http/1.1,]4:alpn;2:h2,16:certificate_list;9862:3158:-----BEGIN CERTIFICATE----- 709 + MIII7jCCB1agAwIBAgIRAKRYPxOsztWic1bCC83XC/AwDQYJKoZIhvcNAQELBQAw 710 + YDELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE 711 + AxMuU2VjdGlnbyBQdWJsaWMgU2VydmVyIEF1dGhlbnRpY2F0aW9uIENBIEVWIFIz 712 + NjAeFw0yNjAzMDUwMDAwMDBaFw0yNzAzMDUyMzU5NTlaMIG+MQ8wDQYDVQQFEwYz 713 + NTEzNjQxEzARBgsrBgEEAYI3PAIBAxMCVVMxFTATBgsrBgEEAYI3PAIBAhMET2hp 714 + bzEdMBsGA1UEDxMUUHJpdmF0ZSBPcmdhbml6YXRpb24xCzAJBgNVBAYTAlVTMQ0w 715 + CwYDVQQIEwRPaGlvMSswKQYDVQQKEyJIdW50aW5ndG9uIEJhbmNzaGFyZXMgSW5j 716 + b3Jwb3JhdGVkMRcwFQYDVQQDEw5odW50aW5ndG9uLmNvbTCCASIwDQYJKoZIhvcN 717 + AQEBBQADggEPADCCAQoCggEBAMBSqDahCjPx0mbE41Fak5gTl6p0JyhzL86j56NB 718 + Jkn0nQvgxjzGaudJjWOcGbRFXWB2UMfgpTg683vLWkOrANtM2eB13i5au2974HEn 719 + Wd2VIVcvvr1n29g0ia240PZIblrCytMx9wg6q25EQQ2/5nHH5G0vhM3mdDf9SXQa 720 + fD+nHtcJPwHpIKB/H/as9xRjTFHxOfiU5AQQopOdpW0sxac5Yr/Unj8jV2m8krAG 721 + y8lITux9Qf2ibOd3LPw+CM+PinVbOQQe6guJfF5Z3zpM4FiLX091NRkipaC4/R8m 722 + n+1mdWbevyzBTiP0gHX1BX14kL6lmNCHE1/CDAPAE9DEro0CAwEAAaOCBMIwggS+ 723 + MB8GA1UdIwQYMBaAFJgtXh6P61T0uf9Vla1Mx36kmK57MB0GA1UdDgQWBBQSkpdy 724 + hZgrGDcDLlY4QgSjTbp6iTAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAd 725 + BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA1BgwrBgEE 726 + AbIxAQIBBQEwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMw 727 + BwYFZ4EMAQEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5zZWN0aWdvLmNv 728 + bS9TZWN0aWdvUHVibGljU2VydmVyQXV0aGVudGljYXRpb25DQUVWUjM2LmNybDCB 729 + hAYIKwYBBQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28u 730 + Y29tL1NlY3RpZ29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvbkNBRVZSMzYuY3J0 731 + MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTCCAY4GCisGAQQB 732 + 1nkCBAIEggF+BIIBegF4AHYAHJ9oLOn68EVpUPgbloqH3dsyENhM5siy44JSSsTP 733 + WZ8AAAGcvqY7gAAABAMARzBFAiA1QVf5fYtmDEzNbNaVOaUL8Ce5yjyJUCde6qU2 734 + mvgDwAIhAOS7jClwoacgQag3CdsM87ZTfhrUyhMlvNFrhn9SU2bLAH8AjspHC6ze 735 + avOiBrCkeoS3Rv4fxr+VPiXmm07kAkjzxugAAAGcvqY9vgAIAAAFAAMG25oEAwBI 736 + MEYCIQC7kFXgzwHVSlm7TWAhd8VdFjaaRezsuoEf04cAo/A+ygIhAK94Jk2adeyO 737 + LO8HAeAfmuS9bE01VPA+URZNqLJsLEZ6AH0AWW5sM4aUsllyolbIoOjdkEp26Ag9 738 + 2oc7AQg4KBQ87lkAAAGcvqY62gAIAAAFAAAyRmoEAwBGMEQCIAJ3WjX8D8Vm3nwj 739 + N57eg+5UXazJzW++OSlQuMP5rfXTAiBFoQqRjDuvdIJBEilbPvh2YsdCFVTNQpW6 740 + qLx19TL4UTCCAYMGA1UdEQSCAXowggF2gg5odW50aW5ndG9uLmNvbYIUYXBwbHku 741 + aHVudGluZ3Rvbi5jb22CHWJ1c2luZXNzb25saW5lLmh1bnRpbmd0b24uY29tgiFi 742 + dXNpbmVzc29ubGluZWRlbW8uaHVudGluZ3Rvbi5jb22CLGJ1c2luZXNzb25saW5l 743 + aW50ZXJhY3RpdmVkZW1vLmh1bnRpbmd0b24uY29tghNieW9kLmh1bnRpbmd0b24u 744 + Y29tggloYmdvLm1vYmmCEG0uaHVudGluZ3Rvbi5jb22CGm1haW50ZW5hbmNlLmh1 745 + bnRpbmd0b24uY29tghxvbmxpbmViYW5raW5nLmh1bnRpbmd0b24uY29tghJwaHlz 746 + aWNpYW5sb2Fucy5jb22CFnByZXZpZXcuaHVudGluZ3Rvbi5jb22CGnNlbGZzZXJ2 747 + aWNlLmh1bnRpbmd0b24uY29tghJ3d3cuaHVudGluZ3Rvbi5jb22CFnd3dy5waHlz 748 + aWNpYW5sb2Fucy5jb20wDQYJKoZIhvcNAQELBQADggGBAJD5N3WoleCcxgKHEDSJ 749 + FOmfH6Z9jW21xVOj7+qFdUUoL/B723CdMItpXucYDlVdOMUSK/lu/SwgN08Q2iZL 750 + wKnB8+2bpJBOZcfR+HfhAiP8YgSRGp9ckWjaOGHnSYt7Mpxm08K3xFCLLKcBA5wJ 751 + dvDQIOnPculv9YewP8RytKKMVNUFj2z4ynqRII18uSTC/h09FWUZtcfF2qoyza5l 752 + 0MTj3IuJfSARlj5vRqQDI8COD2cKD8xTpTnSWSw6uAnpRLh1hGLoclgCySlAL+qQ 753 + heHfS4lCo3xlFS7QWVuXCF34D7MPKnO4JM3B/341+dn+iPEg7bXa2OQqe56l5TXd 754 + opvPXW7hpzKTvhdfXOE5WF3JxhbWzav0Y6WAlYERuh1H+MadNva5QFXajXVQ4+s+ 755 + CaK3z02hUie14LVgFfPHKJegB8KcUy60CHc/UnEH+jesUUxQjJnWS7LRQ2Exk5xf 756 + +d/jixRf+/eHORcqhCUeZ3qhPqLPmmSjP4u2fX7xkScJGg== 757 + -----END CERTIFICATE----- 758 + ,2244:-----BEGIN CERTIFICATE----- 759 + MIIGSzCCBDOgAwIBAgIQbU98rTNTd8jG4AHd4uLIjjANBgkqhkiG9w0BAQwFADBf 760 + MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD 761 + Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw 762 + HhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBgMQswCQYDVQQGEwJHQjEY 763 + MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFB1Ymxp 764 + YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRVYgUjM2MIIBojANBgkqhkiG9w0B 765 + AQEFAAOCAY8AMIIBigKCAYEApduwxkQH5noeb0k4yRXK47Fd+hVkH8twKWQF3FNm 766 + HHShQrOH7S0L3p8Aaf8P7OqojwyZgyqD5o/Sb95N45P/NfmL+lfAOkQ1Bpvz0OcZ 767 + VmwYhMWFYJe8parkz5w9Bk8mn/AtN65hIQF0NqBI6F+23/jzhlpl3E0zKkkUJSfT 768 + dgvwaJvTiPgLQ7CpYyLJvMpgdPHf+nnvA5YJjhae6olh6BRllvRhzKOq0gd60BrO 769 + Aos9QyOfYhUDG3eQovMA9fyiI2qNclCp6DY8hqt55lERoBS/Whza8Cx1bh6q8rTP 770 + nno2uI6FZb2UavIYblyGDamXAW/jv3qsMB42xz/p2mUHg0wQzn/8KAiyu2ZbDs7E 771 + OOwYx0V2ViNsCXGR/GCmJsUNPmhEEXBclOj6qF7rFf7nkST2bokSt9VF1NB1JgRl 772 + djZin1+v2Vm88UEgFxerQPPrPjAEMqDx44vKl22sGWnl+jOyxf/H59DHKbIezrIY 773 + rJpSnA3WEVaiXs1oIRy1ZziNAgMBAAGjggGAMIIBfDAfBgNVHSMEGDAWgBRWc1hk 774 + lfmSGrASKgRieaFAFYghSTAdBgNVHQ4EFgQUmC1eHo/rVPS5/1WVrUzHfqSYrnsw 775 + DgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI 776 + KwYBBQUHAwEGCCsGAQUFBwMCMBoGA1UdIAQTMBEwBgYEVR0gADAHBgVngQwBATBU 777 + BgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29Q 778 + dWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvblJvb3RSNDYuY3JsMIGEBggrBgEFBQcB 779 + AQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGln 780 + b1B1YmxpY1NlcnZlckF1dGhlbnRpY2F0aW9uUm9vdFI0Ni5wN2MwIwYIKwYBBQUH 781 + MAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqGSIb3DQEBDAUAA4ICAQA2 782 + LRCehSXiyw56alKt2aqDwDLEDmyu74lUmDG4rI1Jw3+ivLz+OK3NpE466a8yXu7b 783 + f326wkrrOCF2SVu3ItNjXqsgwXdIM9tapVEKjsEwbjcPUcxNeqzSpLSgHZIVhjJJ 784 + +QtdEL2n1NhDxqewlN+ZKWWBLGB0LA/S7SvCl9s7rsppo97uv6J3h//q4b2SgzHu 785 + KUu80Hofpjp2bILGHy4CqzKzyg3wn9sKFcX6Ufkcea/tuiWhIMPkiQCv5tXsRj+H 786 + n3CZql+wRPbjhNqncCkzrwOBrt7Gov46EHhqMUP/Euf8gSw7X+CzWEUJ0Q+Vn8VL 787 + ZDkiKcMSYMJI+6Trc5tVn9LQLI6tTzwagLhgcVtFpom3PVtEJRPN/d05L0ck7S1b 788 + xPaXcQhKUqdzFd09pt6fLx2vMmylBKXjKosSxjB12KRzLvI2CUUVdpl7OTFA32Fk 789 + +zQC2gJPGmPPCzRMRYfVOEIZxbG0nI9lpYZidLkQ/EyTtJ3JVj7cb3KRe/e1s+Xj 790 + rnHqbUwoizicfogtcKm5giwj74f+Rpr0RRy4xum1bC662fNHRJaTt5ErVR6gHjHM 791 + Zhp+tOeOvohq5XxIMCKuetnwcPeBsOzUBzmUPoxQNRVXEYbwV2rS3t2jJ0Zh/Dnn 792 + O96biaAsEnxbQyu4fvMx6D4J4Zbkc7Zp75T3GE/UjQ== 793 + -----END CERTIFICATE----- 794 + ,2342:-----BEGIN CERTIFICATE----- 795 + MIIGlTCCBH2gAwIBAgIRANJ/u8HeNZ5SFq1hSVhgmcQwDQYJKoZIhvcNAQEMBQAw 796 + gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK 797 + ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD 798 + VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIx 799 + MDMyMjAwMDAwMFoXDTM4MDExODIzNTk1OVowXzELMAkGA1UEBhMCR0IxGDAWBgNV 800 + BAoTD1NlY3RpZ28gTGltaXRlZDE2MDQGA1UEAxMtU2VjdGlnbyBQdWJsaWMgU2Vy 801 + dmVyIEF1dGhlbnRpY2F0aW9uIFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOC 802 + Ag8AMIICCgKCAgEAk77VNlJ12AEjoBxHQknuY7a3If3EldVIKyZ8FFMQ2nn9K7ct 803 + pNQs+uoy3UnCub0PSD17WphUr55dMXRPB/xQId2kz2hPGxJjbSWZTCqZ80gwYfqB 804 + fB6nCErcPiscHxhMcao1jK34bug7StnllALWiYQTqm3ITzPMUJY3kjPcX4jnn1TZ 805 + SPCYQ9Zm/Z8XOEPFAVEL1+MjDxRdWxTnS77d9MjaAzfR1jmhIVEwg7Bt1zBOlluR 806 + 8HAkq79FgWRDDb0hOi886Z4NyyC1QifM2m+b7mQwkDnNk2WBITG1I1AzNyLjOO34 807 + MTDMRf5i+dFdMnlCh99qzFYZQE3Oqrv5tXZJlPEn+JGlg+UGs2MOgNzgElWApjtm 808 + tDmHLcjw0NEU6eQNTQ72XVdyxTscR1ad4tX7gWGMzE2AkDRbt9cUddzYBEifwMEo 809 + iLTpHMqnsfFWt3tJTFnlIBWohAIp+jiUaZpJBo/NH3kUFxIMg3reH7GX7vmXeCik 810 + yESS6X0mBaZYcpt5E9gRX67FOGI0aLKGMI74kGGeMmz1BzbNokxu7Io27fLmmRVE 811 + cMN8vJw5wLTha/eDJSNX2RKA5UnwdQ/vjescm1QotCE8/HwK/+97a3X/ix2gGQWr 812 + +vgrgULoOLq7+6r9PeDzyt9Ol5cp7fMYVumllqy9w5CYsuD5otSmR0N8bc8CAwEA 813 + AaOCASAwggEcMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1Ud 814 + DgQWBBRWc1hklfmSGrASKgRieaFAFYghSTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T 815 + AQH/BAUwAwEB/zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYDVR0g 816 + BAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRy 817 + dXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1 818 + BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVz 819 + dC5jb20wDQYJKoZIhvcNAQEMBQADggIBADpvBIlq7bMU0cFDT/9P9+BsgCkRgQs0 820 + S6Bf7vJSlWMHwby0VGvxCS0hrbi0K2BINZbEbsVsgpQq04431yyoVn3Hldorgq24 821 + RldRDOOipEZDTFB9wC9HYt1thHF00XeG2C8KC1plwoEzKAIhPvefI/C3cT0CfTXJ 822 + uFjUbKIgSwjNjw6YHtLgoy/hd5+JLUlLco/gzFX/qWbT7tEquOMYpsNKWZj8TLqP 823 + q6zMiG4Na6feEZte6YPXGrMWlTWN341vDedc+yxQqSug79HJUQcOZs7KyDWztmae 824 + QxsPE49UV/8XwrfZtZaYyrs4FpD94Z4Q8dzXGL8+qEJjxgcza7W6PROaClubavd1 825 + VKPm8+aCW77u7SxpR2TFGL6kPdxsKyFijpcunR5V79sUyROfNdzjrAcFWZXK8sbb 826 + 9FlnwuVG677JLv+ZVTX5AxLvW5OB4zt5uS+zB62wJ/Wv+jXGAttSAcJec4iFgCWH 827 + Rvdi/jJoSzRLa3nEzx6pFIzclSCnh0u1xCeLcUBypSiPga8W+6PkuoyQq8U9qs9E 828 + oxG5NvrvlyshwUS9yvcZRGw7Ljlx4jJH/BhIPR8kIBCQj1vna9TziZOrw1Of8hDU 829 + bHKFG9Pm8Dp2vbjz/2JH39qvxshPKVllGfq+5klPm7yZRUYTiCMAbqwNdL/nsqF2 830 + Rnnyp58XRStJ 831 + -----END CERTIFICATE----- 832 + ,2094:-----BEGIN CERTIFICATE----- 833 + MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB 834 + iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl 835 + cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV 836 + BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw 837 + MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV 838 + BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU 839 + aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy 840 + dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK 841 + AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B 842 + 3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY 843 + tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ 844 + Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 845 + VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT 846 + 79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 847 + c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT 848 + Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l 849 + c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee 850 + UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE 851 + Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd 852 + BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G 853 + A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF 854 + Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO 855 + VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 856 + ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs 857 + 8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR 858 + iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze 859 + Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ 860 + XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ 861 + qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB 862 + VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB 863 + L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG 864 + jjxDah2nGN59PRbxYvnKkKj9 865 + -----END CERTIFICATE----- 866 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:3b8b734a-9412-4b76-b175-dace66cc7c8d;8:sockname;25:13:10.14.147.142;5:54262#]8:peername;22:12:23.213.53.76;3:443#]}11:client_conn;482:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973976.230648^13:timestamp_end;0:~15:timestamp_start;17:1774973976.138727^3:sni;16:m.huntington.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;16:2:h2,8:http/1.1,]4:alpn;2:h2,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:0ab46758-aaf5-4271-91a8-e0ce07608fff;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54261#]}5:error;0:~2:id;36:75ecf4d5-9191-4b6b-a7ee-61a7870d78f7;4:type;4:http;7:version;2:21#}17085:9:websocket;0:~8:response;558:6:reason;2:OK,11:status_code;3:200#13:timestamp_end;18:1774973977.1304471^15:timestamp_start;17:1774973977.129142^8:trailers;0:~7:content;0:,7:headers;375:40:4:Date,29:Tue, 31 Mar 2026 16:19:37 GMT,]18:6:Server,6:Apache,]20:6:Pragma,8:no-cache,]56:13:Cache-Control,35:no-cache, no-store, must-revalidate,]36:22:X-Content-Type-Options,7:nosniff,]37:16:X-XSS-Protection,13:1; mode=block,]43:7:Expires,29:Thu, 01 Jan 1970 00:00:00 GMT,]22:14:Content-Length,1:0,]35:10:Keep-Alive,17:timeout=2, max=99,]28:10:Connection,10:Keep-Alive,]]12:http_version;8:HTTP/1.1,}7:request;3408:4:path;54:/fp/clear.png;CIS3SID=AAF2A7414F01830AC43592DA1A612A56,9:authority;0:,6:scheme;5:https,6:method;4:POST,4:port;3:443#4:host;24:ddata.huntingtonbank.com;13:timestamp_end;18:1774973977.0643709^15:timestamp_start;17:1774973977.063842^8:trailers;0:~7:content;2300:���������X˒�� ��>�H����Fx&������dijz}��UI���2A��Ϸ�q~����������i��5۪G�n�YDX\Q�����f=�����q�-Q���#��9ɺe�(���s�a�\��ʋ���Vm׵U�xf��G�߱��+�����v<�}XŊX���*�c�ĵ��Gf�J��[��9˱7W�1���J,�> �����{���������wάV�f��ޚ7ز���;« W�M�� �v�g��%+v;0E����I8�0�lǾ@�p��k��{s?��}�Waӎ��g4�"n!���ͣ咆qw\ڋ�]V5�:�R@;�F�uӈ V9¸����Ӎ��xaoY�JO�'�:c�,�\Mw`�(�,�@�e�n�_��)�v��������O}~7朢������̞�Lr|7�e��5��#{�R�]�掕� �WXc��w ��?��L��so��}��V�=أ�%_��5VB���O,�� [;S �ƙ��?Fg����}� f8�4��ee1�7-e�UGB�60z��&�����t�#�땞1�ȺEq""O��_�yCuo��z��'vcM�;b���#PE������;0i�H���Y1�Gh5�F��������y�=Z�ߪ*���=�9�;��8�12Yh���yka�/��)J�[�#�}����l+vaAb(6�|���.lC�-sOD!��=?�b�g>K7���o��/�oV���+�O��y��}T��?��*/�W��͝~����dT�؈�џ���#R6�LV܅���ΰ�#��*��(F6����ӎ��k 867 + +�Q�@���P�߾��r�։?p=c��ͻ?�owK��;X_)���I�$;�B��x��>^��5y�_V{͘��+7j�&'�����xB 7��IKC�Z�_E9������J^W�F�[��h�z#�$�+��Ś�� hd+���X��򲓥B56�4 868 + �C���\� 869 + ����4*WxF�!sݪ�"����snr��aS�*��$���M����x�ʙ��Tr��!/������փo�-4W�{J��m����똠wp4b ��ԃ ��������J�fH�����h���+�LE����`�����Jv껐7�4���g ��W�,�����d)!�s0�p#f`w�ύ��IY�����e��7�R��B��T�U`>�����T�M>/�C؃�.Vw2�)�X�����P�n�?�D�'~�Idԭ���TFctD��n�`�hw�'�0c��76��v29ULz��*�=�e���BV�jX�|��1���W���.r�P�����T��� ��n���V7`C�����T=<�7�=s��� 870 + a}\�G�6�Mڙ����z��錙�&c�Ћy�����T��/��ٻ����v������̉�CU�r ����4�f����[&��<V��_�'��:��������,d��?B_�sG�ٻ~�x6�ZO'<T�+�E؏�6=Le��@�0���mT�_�G�7<����˃�S���7y��2vlaO߹hϗ�s�_�+�핱������&�vU�"���|���C/ {� 871 + ��*���KUJ���T��Ƭ��S���6�>:c�����i:���O�� ���R�o�=�7�o��ՃBs��O�v���ٻ�z�[�z����w�aO�SO�K�t�"aT�����A��O]v���N7�3�.Օ���l�Ʌ~�ʮQ����N�*=uz ^Q�D%��M��g�T�v�����������M�x&��n0 "ƫ�)���L��w�A���&1/��u���oF�0T���:;����cԟ*��9N2)=ڄ 872 + Ο�Vv��g%D�)��_��N�R�E 873 + &�xu�A&��{Q?t��j��jGPw?2� �=w��:1cs�u)B����h�ᯯ���\O������ɬX-է+����Z��wq!���������_`TU�����}�ODC��K��c��E)�3�^g�� :��l1OՃmyv㻓�p���̷!����,�N�]�3�v(�-�i��nC�G�=�{�< L��_F���4a}�����z����J޸�������+}r���c���q�F<�3-��"ܮD뎮�j��3���9T�U|C�mȣ��]߆������7�"���2*��oQ��<�ү���B���; �*��|l���#���C����|�����3�������2U< �Q��UO����������?��]"R�`���k-[9��b���dܞ�|?���pۏ�]fY���_���ޠ���,7:headers;796:74:11:traceparent,55:00-a659648ba1147a14c0e7a8c0b965e5b2-5249ff16b588a6dc-00,]54:6:Cookie,41:thx_guid=cf0580c86412f5e6e4d7568fab82646f,]70:13:Cache-Control,49:no-cache, no-store, must-revalidate, no-transform,]37:7:Referer,23:http://com.huntington.m,]199:10:User-Agent,180:Mozilla/5.0 (Linux; Android 14; sdk_gphone64_arm64 Build/UE1A.230829.050; wv) AppleWebKit/537.36+ (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.136 Mobile Safari/537.36+ 6.3-89,]27:16:Content-Encoding,4:gzip,]27:15:Accept-Language,5:en-US,]25:14:Content-Length,4:2300,]53:12:Content-Type,33:application/x-www-form-urlencoded,]88:11:x-dynatrace,69:MT_3_14_1301151187_11-0_17ae7ba7-0042-4938-be5f-dc3fe11352e0_0_152_65,]35:4:Host,24:ddata.huntingtonbank.com,]28:10:Connection,10:Keep-Alive,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;17:1774973977.064001^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;12323:3:via;0:~19:timestamp_tcp_setup;17:1774973975.418978^7:address;34:24:ddata.huntingtonbank.com;3:443#]19:timestamp_tls_setup;17:1774973975.501884^13:timestamp_end;0:~15:timestamp_start;17:1774973975.298006^3:sni;24:ddata.huntingtonbank.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;11754:2598:-----BEGIN CERTIFICATE----- 874 + MIIHUTCCBTmgAwIBAgIQBqIN+mjKKLaISM4gSfTdXjANBgkqhkiG9w0BAQsFADBR 875 + MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQD 876 + DB9FbnRydXN0IE9WIFRMUyBJc3N1aW5nIFJTQSBDQSAxMB4XDTI1MDYxODEzMjE0 877 + M1oXDTI2MDcxMjA0MDAwMFowfzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBE9oaW8x 878 + ETAPBgNVBAcMCENvbHVtYnVzMSswKQYDVQQKDCJIdW50aW5ndG9uIEJhbmNzaGFy 879 + ZXMgSW5jb3Jwb3JhdGVkMSEwHwYDVQQDDBhkZGF0YS5odW50aW5ndG9uYmFuay5j 880 + b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwpOF2DjJXejA1Rrfp 881 + ixLY4SwzK6ZQ7RFt3lvN5tbPCbAtQTTY46wrxC58rJ7FZ0DThEwBg8kDa9jgycU9 882 + /UjNf+zyDOfb4DL5rL2c0JrieHg2VK9srrbDOihVkLYE2Zk4tlz4qTmg5Eagr2b0 883 + sxfuTYx6FHtWBYSZXAlaYAxi3sooxtXLj2PO8k59n84sJ7f/3qJlsjg4iDUkELjb 884 + QLlAgIa+mlr1804TND23iytUhYusgOcMM0+HWojk0uWyzu4ie6F4mp9mmCzqX2GC 885 + 5QSiFw5TBzxo4ZcxgYTBvZEq9k+zSo1kAxr4k7EXEq/k+AekCibjZcaIvj8dx7Zr 886 + aIg7AgMBAAGjggL1MIIC8TAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFGgNRco1 887 + wueaG/CzhN3V2n8LicERMGgGCCsGAQUFBwEBBFwwWjA2BggrBgEFBQcwAoYqaHR0 888 + cDovL2NlcnQuc3NsLmNvbS9FbnRydXN0LU9WVExTLUktUjEuY2VyMCAGCCsGAQUF 889 + BzABhhRodHRwOi8vb2NzcHMuc3NsLmNvbTAjBgNVHREEHDAaghhkZGF0YS5odW50 890 + aW5ndG9uYmFuay5jb20wIwYDVR0gBBwwGjAIBgZngQwBAgIwDgYMKwYBBAGCqTAB 891 + AwECMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATA7BgNVHR8ENDAyMDCg 892 + LqAshipodHRwOi8vY3Jscy5zc2wuY29tL0VudHJ1c3QtT1ZUTFMtSS1SMS5jcmww 893 + HQYDVR0OBBYEFNTK//XZhMtkk0GFvOjCvWcvDigbMA4GA1UdDwEB/wQEAwIFoDCC 894 + AX8GCisGAQQB1nkCBAIEggFvBIIBawFpAHcAwjF+V0UZo0XufzjespBB68fCIVoi 895 + v3/Vta12mtkOUs0AAAGXgz0K9AAABAMASDBGAiEAu5XkajkMaNIHazusZAgdG3lw 896 + cawHSFfpX8lZNFZ9IzACIQCfh4HW+4vxb529tDtMmOJY9fXtuFdn9q1DrNnqVTK6 897 + qgB2AB9W0auUcEpB3T/q/fRpk1UwLBQxv+YTRgif/655XcwvAAABl4M9CyQAAAQD 898 + AEcwRQIhAJeDQrKeeQACGkMFpvA4EBF7rxSZIcgBs3u6hRMgIkctAiB3uegl6nFc 899 + 3hF3//XOtMQvrB7mn35SO95f0siY1m4USQB2ANdtfRDRp/V3wsfpX9cAv/mCyTNa 900 + ZeHQswFzF8DIxWl3AAABl4M9CvkAAAQDAEcwRQIhANHimp4YyK0EBrEIPgGK+hGS 901 + ErRZWq7qo+92Vb1w8b61AiA7oFagTqTnOsxKSL1m5tWpaWLdqnFHgTsX46r67qj0 902 + JTANBgkqhkiG9w0BAQsFAAOCAgEAM4t3Y7IiUXJh2iiV1uujAao/24CScjlaXznc 903 + naCDJgmHRwty91aKw4tT7QIDCRK6aZ51xnDZsR0fVhB+hTexzPPaZPrIkY9MSj7J 904 + sgRJNP0v1iP4rL4Go9Drct0kl4UYagny1L+NtQWYhncu0GvleZ8i086R2U/XH60b 905 + w7kNPLlwseZd/Ig2kQq+jLvsD+ANMwNyu+LJ1k8dlQOgAqJSUJGunvQN6ZbSk/ux 906 + Romf1NlqNzuY2a0f9eATK2pesCDt3qP5CmjeUYVAL6it/fkN43Ej4IbB/EowXs32 907 + o6TR2k/7QyT40fsuQzJCS2i1oe3QeXsB9Dw9oTzPunktLF4QMlkzRnbDDkq6lOXA 908 + ANhdkRN84MCz0+fqwDDWnBxH4GOV8s8KKn4n6+KYxT6koM/eT1wulYgNOxhvZP2K 909 + S9iODgIlNCoOl6Gv/IU9kWguP9s+jIwKTlSYnlp2J22efIJK4rRHIY9p5lLaiZHn 910 + CG7EzdChhGre6eJaqZQlZ4+R3XCFNPd4NCkkuv88SAycIQ9W7wAM93lNHens4+qG 911 + ALP5Xlt7ZkbKFDeGVtQ8Gsfzsqx0dD3hh9tQC3lEVSeY68KlT7aebyYkooqsWiLh 912 + Ly8v+sNZEus5VudiKdiELFs+P2stkj00XaqPA5gQ1iCQp4e/Xx/Nt2lEcj3ixbDT 913 + 7B4K9MM= 914 + -----END CERTIFICATE----- 915 + ,2256:-----BEGIN CERTIFICATE----- 916 + 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 950 + -----END CERTIFICATE----- 951 + ,2378:-----BEGIN CERTIFICATE----- 952 + MIIGrzCCBJegAwIBAgIQMm9k6XA0xvejlGpQo+0E/jANBgkqhkiG9w0BAQsFADCB 953 + gjELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9u 954 + MRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNzA1BgNVBAMMLlNTTC5jb20gRVYg 955 + Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EgUjIwHhcNMjMxMTA3MTcy 956 + NTQ0WhcNMzgxMTAzMTcyNTQzWjBOMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NM 957 + IENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAy 958 + MDIyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0KQJck9AiBJhPjUj 959 + nu72dM8ve1g9zjwNECiQL5f3jEjYoNglsUywEUwXc1DQIkpju4HTKW7VtQk+Jhh/ 960 + shJ/k5i3r/A2v/LuGJ6cO1LFRxlddPNkZtVdx2i0vxscBqO8j0Ajth7GhL1RxBs5 961 + wZXSKexLrnstvzn9tGLelntBxpyg4AZy+/AHlwk5gXSv9zRZEVcKwlvBJPQxczCC 962 + xp26Avc+fERfgw3z8d0gaRYJUOLUVbbggHJ2bkxHt3VVWbRTdNmUxkGtWIoxZg8e 963 + ohspQE4v33vmFiwt/L/s87T6vhj2m0nU7gVu2TTznPHsAYvRIMYPoLW8F05Ie1HC 964 + /OlcaTdHZrNo+BUo8LnTpBXMWk+6UnCjEkXdxrpO+8LQ96hSJ21uebWM/HuMwRZM 965 + 7oB/vvB2vkFTEjOuWjhCq9cPPkGNdgcy1auJ9k5n2bFCdSNu881CsvxV9VOHFzvA 966 + M1jxUtL5gKTw6PA7izjMpMaQfw+c/YvRo8/ag6dpyVA21VwF0gpBdNtjETfBpaCW 967 + Sx6MFhJ3rpQ0ex5/wmYA5KqD6oqQrc42RE3RUem8H/NqBf3AdB8lGUBRbuqCUUDf 968 + m7kIKgYC1SMcE9bp29vGsHrLeyeb++DVRiTtEEtjS6UFj7q4HSum+pHiklK97Otn 969 + l22aLZ+BMgVnMvtICD/ZJbgEJS8CAwEAAaOCAVIwggFOMA8GA1UdEwEB/wQFMAMB 970 + Af8wHwYDVR0jBBgwFoAU+WC71OPVNPa49QaAJadz20ZpqJ4wcgYIKwYBBQUHAQEE 971 + ZjBkMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydC5zc2wuY29tL1NTTGNvbS1Sb290 972 + Q0EtRVYtUlNBLTQwOTYtUjIuY2VyMCAGCCsGAQUFBzABhhRodHRwOi8vb2NzcHMu 973 + c3NsLmNvbTARBgNVHSAECjAIMAYGBFUdIAAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG 974 + CCsGAQUFBwMBMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmxzLnNzbC5jb20v 975 + U1NMY29tLVJvb3RDQS1FVi1SU0EtNDA5Ni1SMi5jcmwwHQYDVR0OBBYEFPsuN+7j 976 + hHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC 977 + AgEABww8/EJeCfUTd8APb/yA2G0SfcBZ6tmWD/+XuQwoI81XaDh9w56fSfDJoRjf 978 + EFOjdkwyrQj2p/Rah9rfArC8S/DttURF0cWbLfxBdfNyomfO9QtEukNyRgtFYBai 979 + wbf/r21fm5ieukFA3/5A0vRxTlVJyrvAEMI+hML/HaeB8bkvXX61qKsN8YyeuZB8 980 + 0nS0iwXiM+qzOgr7dtlCvjwZRC+DqbWQreoVyibnXM99sgrb5cgMNQbud7TEZwEZ 981 + v+3Mf2Ld2oW38tivJbDAPtWvTovMN3qG5ch/UbGCbhYxZ+rBOKLgPUlBrjMkly8g 982 + CzbEYozmo+WuoBDapkJN06qJmIPQNJDyYikK0QztZjRtdlHzHCQKaPifcs2HJ79p 983 + IhZ6j1KfoMmEBMyIDZkj3oJ5aNpIDaN6FP95yBVwVrVXis6LmlxWsDsMDO8Xmusp 984 + rY80h8OfUwQsRf/noJX9wBeQ3gEgPiZEWXYgd0WMmraJM2ultEcYgNVlYcYFTrZc 985 + QxT7ULP/gopAUa1f/V4AJrxVvmHUfU02AnPoE2C9YprR77b9pSkBeyu1GAmLf24P 986 + Jzmbxl0TGvfbPennBaBKOFYvaPLTDLZyRkxJRWbZFnfsVz+7a/+HyqOzBo0J5zGE 987 + QPxsyeT4xKYKwjTrVyrIyFxfVyiWXZ7ZssN5cHqkX/3At4w= 988 + -----END CERTIFICATE----- 989 + ,2378:-----BEGIN CERTIFICATE----- 990 + MIIGrzCCBJegAwIBAgIQMm9k6XA0xvejlGpQo+0E/jANBgkqhkiG9w0BAQsFADCB 991 + gjELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9u 992 + MRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNzA1BgNVBAMMLlNTTC5jb20gRVYg 993 + Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EgUjIwHhcNMjMxMTA3MTcy 994 + NTQ0WhcNMzgxMTAzMTcyNTQzWjBOMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NM 995 + IENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAy 996 + MDIyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0KQJck9AiBJhPjUj 997 + nu72dM8ve1g9zjwNECiQL5f3jEjYoNglsUywEUwXc1DQIkpju4HTKW7VtQk+Jhh/ 998 + shJ/k5i3r/A2v/LuGJ6cO1LFRxlddPNkZtVdx2i0vxscBqO8j0Ajth7GhL1RxBs5 999 + wZXSKexLrnstvzn9tGLelntBxpyg4AZy+/AHlwk5gXSv9zRZEVcKwlvBJPQxczCC 1000 + xp26Avc+fERfgw3z8d0gaRYJUOLUVbbggHJ2bkxHt3VVWbRTdNmUxkGtWIoxZg8e 1001 + ohspQE4v33vmFiwt/L/s87T6vhj2m0nU7gVu2TTznPHsAYvRIMYPoLW8F05Ie1HC 1002 + /OlcaTdHZrNo+BUo8LnTpBXMWk+6UnCjEkXdxrpO+8LQ96hSJ21uebWM/HuMwRZM 1003 + 7oB/vvB2vkFTEjOuWjhCq9cPPkGNdgcy1auJ9k5n2bFCdSNu881CsvxV9VOHFzvA 1004 + M1jxUtL5gKTw6PA7izjMpMaQfw+c/YvRo8/ag6dpyVA21VwF0gpBdNtjETfBpaCW 1005 + Sx6MFhJ3rpQ0ex5/wmYA5KqD6oqQrc42RE3RUem8H/NqBf3AdB8lGUBRbuqCUUDf 1006 + m7kIKgYC1SMcE9bp29vGsHrLeyeb++DVRiTtEEtjS6UFj7q4HSum+pHiklK97Otn 1007 + l22aLZ+BMgVnMvtICD/ZJbgEJS8CAwEAAaOCAVIwggFOMA8GA1UdEwEB/wQFMAMB 1008 + Af8wHwYDVR0jBBgwFoAU+WC71OPVNPa49QaAJadz20ZpqJ4wcgYIKwYBBQUHAQEE 1009 + ZjBkMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydC5zc2wuY29tL1NTTGNvbS1Sb290 1010 + Q0EtRVYtUlNBLTQwOTYtUjIuY2VyMCAGCCsGAQUFBzABhhRodHRwOi8vb2NzcHMu 1011 + c3NsLmNvbTARBgNVHSAECjAIMAYGBFUdIAAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG 1012 + CCsGAQUFBwMBMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmxzLnNzbC5jb20v 1013 + U1NMY29tLVJvb3RDQS1FVi1SU0EtNDA5Ni1SMi5jcmwwHQYDVR0OBBYEFPsuN+7j 1014 + hHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC 1015 + AgEABww8/EJeCfUTd8APb/yA2G0SfcBZ6tmWD/+XuQwoI81XaDh9w56fSfDJoRjf 1016 + EFOjdkwyrQj2p/Rah9rfArC8S/DttURF0cWbLfxBdfNyomfO9QtEukNyRgtFYBai 1017 + wbf/r21fm5ieukFA3/5A0vRxTlVJyrvAEMI+hML/HaeB8bkvXX61qKsN8YyeuZB8 1018 + 0nS0iwXiM+qzOgr7dtlCvjwZRC+DqbWQreoVyibnXM99sgrb5cgMNQbud7TEZwEZ 1019 + v+3Mf2Ld2oW38tivJbDAPtWvTovMN3qG5ch/UbGCbhYxZ+rBOKLgPUlBrjMkly8g 1020 + CzbEYozmo+WuoBDapkJN06qJmIPQNJDyYikK0QztZjRtdlHzHCQKaPifcs2HJ79p 1021 + IhZ6j1KfoMmEBMyIDZkj3oJ5aNpIDaN6FP95yBVwVrVXis6LmlxWsDsMDO8Xmusp 1022 + rY80h8OfUwQsRf/noJX9wBeQ3gEgPiZEWXYgd0WMmraJM2ultEcYgNVlYcYFTrZc 1023 + QxT7ULP/gopAUa1f/V4AJrxVvmHUfU02AnPoE2C9YprR77b9pSkBeyu1GAmLf24P 1024 + Jzmbxl0TGvfbPennBaBKOFYvaPLTDLZyRkxJRWbZFnfsVz+7a/+HyqOzBo0J5zGE 1025 + QPxsyeT4xKYKwjTrVyrIyFxfVyiWXZ7ZssN5cHqkX/3At4w= 1026 + -----END CERTIFICATE----- 1027 + ,2114:-----BEGIN CERTIFICATE----- 1028 + MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV 1029 + BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE 1030 + CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy 1031 + dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy 1032 + MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G 1033 + A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD 1034 + DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy 1035 + MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq 1036 + M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf 1037 + OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa 1038 + 4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 1039 + HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR 1040 + aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA 1041 + b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ 1042 + Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV 1043 + PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO 1044 + pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu 1045 + UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY 1046 + MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV 1047 + HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 1048 + 9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW 1049 + s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 1050 + Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg 1051 + cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM 1052 + 79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz 1053 + /bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt 1054 + ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm 1055 + Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK 1056 + QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ 1057 + w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi 1058 + S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 1059 + mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== 1060 + -----END CERTIFICATE----- 1061 + ,]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:315fc37e-be90-4102-aec1-28414c12f338;8:sockname;25:13:10.14.147.142;5:54244#]8:peername;25:15:192.225.157.155;3:443#]}11:client_conn;491:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;17:1774973975.520981^13:timestamp_end;0:~15:timestamp_start;17:1774973975.277525^3:sni;24:ddata.huntingtonbank.com;11:tls_version;7:TLSv1.3;11:cipher_list;0:]6:cipher;22:TLS_AES_256_GCM_SHA384;11:alpn_offers;11:8:http/1.1,]4:alpn;8:http/1.1,16:certificate_list;0:]3:tls;4:true!5:error;0:~18:transport_protocol;3:tcp;2:id;36:b666e1fc-3880-4e2c-a093-f3aa9deb36fd;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54240#]}5:error;0:~2:id;36:6560c4d5-3e36-4f4a-bb65-01a66d58ee30;4:type;4:http;7:version;2:21#}2013:9:websocket;0:~8:response;340:6:reason;10:No Content,11:status_code;3:204#13:timestamp_end;18:1774974023.1803389^15:timestamp_start;17:1774974023.179586^8:trailers;0:~7:content;0:,7:headers;148:22:14:Content-Length,1:0,]48:28:Cross-Origin-Resource-Policy,12:cross-origin,]40:4:Date,29:Tue, 31 Mar 2026 16:20:23 GMT,]22:10:Connection,5:close,]]12:http_version;8:HTTP/1.1,}7:request;498:4:path;13:/generate_204,9:authority;0:,6:scheme;4:http,6:method;3:GET,4:port;2:80#4:host;29:connectivitycheck.gstatic.com;13:timestamp_end;17:1774974023.109866^15:timestamp_start;18:1774974023.1090891^8:trailers;0:~7:content;0:,7:headers;228:22:10:Connection,5:close,]123:10:User-Agent,104:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36,]40:4:Host,29:connectivitycheck.gstatic.com,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;18:1774974023.1091971^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;473:3:via;0:~19:timestamp_tcp_setup;17:1774974023.156199^7:address;38:29:connectivitycheck.gstatic.com;2:80#]19:timestamp_tls_setup;0:~13:timestamp_end;0:~15:timestamp_start;17:1774974023.110535^3:sni;0:~11:tls_version;0:~11:cipher_list;0:]6:cipher;0:~11:alpn_offers;0:]4:alpn;0:~16:certificate_list;0:]3:tls;5:false!5:error;0:~18:transport_protocol;3:tcp;2:id;36:b1845f05-a7c3-4b4a-b927-dfe99b9c9857;8:sockname;25:13:10.14.147.142;5:54386#]8:peername;21:12:142.251.32.3;2:80#]}11:client_conn;399:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;0:~13:timestamp_end;0:~15:timestamp_start;17:1774974023.104898^3:sni;0:~11:tls_version;0:~11:cipher_list;0:]6:cipher;0:~11:alpn_offers;0:]4:alpn;0:~16:certificate_list;0:]3:tls;5:false!5:error;0:~18:transport_protocol;3:tcp;2:id;36:fde3af59-dbd3-4547-bfc1-cb7795584df7;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54385#]}5:error;0:~2:id;36:7ecabe58-5f75-48fe-801c-f86239a50692;4:type;4:http;7:version;2:21#}1984:9:websocket;0:~8:response;339:6:reason;10:No Content,11:status_code;3:204#13:timestamp_end;17:1774974023.326762^15:timestamp_start;17:1774974023.323061^8:trailers;0:~7:content;0:,7:headers;148:22:14:Content-Length,1:0,]48:28:Cross-Origin-Resource-Policy,12:cross-origin,]40:4:Date,29:Tue, 31 Mar 2026 16:20:23 GMT,]22:10:Connection,5:close,]]12:http_version;8:HTTP/1.1,}7:request;477:4:path;13:/generate_204,9:authority;0:,6:scheme;4:http,6:method;3:GET,4:port;2:80#4:host;19:play.googleapis.com;13:timestamp_end;17:1774974023.243434^15:timestamp_start;17:1774974023.243022^8:trailers;0:~7:content;0:,7:headers;218:22:10:Connection,5:close,]123:10:User-Agent,104:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36,]30:4:Host,19:play.googleapis.com,]26:15:Accept-Encoding,4:gzip,]]12:http_version;8:HTTP/1.1,}6:backup;0:~17:timestamp_created;18:1774974023.2431328^7:comment;0:;8:metadata;0:}6:marked;0:;9:is_replay;0:~11:intercepted;5:false!11:server_conn;466:3:via;0:~19:timestamp_tcp_setup;17:1774974023.304132^7:address;28:19:play.googleapis.com;2:80#]19:timestamp_tls_setup;0:~13:timestamp_end;0:~15:timestamp_start;18:1774974023.2438478^3:sni;0:~11:tls_version;0:~11:cipher_list;0:]6:cipher;0:~11:alpn_offers;0:]4:alpn;0:~16:certificate_list;0:]3:tls;5:false!5:error;0:~18:transport_protocol;3:tcp;2:id;36:6e5e35cd-00eb-41fa-8ec2-006548e205a8;8:sockname;25:13:10.14.147.142;5:54389#]8:peername;23:14:216.239.38.223;2:80#]}11:client_conn;399:10:proxy_mode;7:regular;8:mitmcert;0:~19:timestamp_tls_setup;0:~13:timestamp_end;0:~15:timestamp_start;17:1774974023.241497^3:sni;0:~11:tls_version;0:~11:cipher_list;0:]6:cipher;0:~11:alpn_offers;0:]4:alpn;0:~16:certificate_list;0:]3:tls;5:false!5:error;0:~18:transport_protocol;3:tcp;2:id;36:bb00f6a9-3cda-49af-8934-8cd23e1b1a73;8:sockname;19:9:127.0.0.1;4:8080#]8:peername;20:9:127.0.0.1;5:54388#]}5:error;0:~2:id;36:f2a9b280-f310-4d61-80dd-bdef38130a5a;4:type;4:http;7:version;2:21#}
+6 -2
huntington.xcodeproj/project.pbxproj
··· 249 249 0B468BFC2F7BD6EA0041D3AB /* Debug */ = { 250 250 isa = XCBuildConfiguration; 251 251 buildSettings = { 252 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 252 + ASSETCATALOG_COMPILER_APPICON_NAME = icon; 253 253 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 254 254 CODE_SIGN_STYLE = Automatic; 255 255 CURRENT_PROJECT_VERSION = 1; 256 256 DEVELOPMENT_TEAM = M67B42LX8D; 257 257 ENABLE_PREVIEWS = YES; 258 258 GENERATE_INFOPLIST_FILE = YES; 259 + INFOPLIST_KEY_CFBundleDisplayName = "Huntington::neo"; 260 + INFOPLIST_KEY_NSFaceIDUsageDescription = "Huntington::neo needs access to FaceID authenticate your account"; 259 261 INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; 260 262 INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 261 263 INFOPLIST_KEY_UILaunchScreen_Generation = YES; ··· 281 283 0B468BFD2F7BD6EA0041D3AB /* Release */ = { 282 284 isa = XCBuildConfiguration; 283 285 buildSettings = { 284 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 286 + ASSETCATALOG_COMPILER_APPICON_NAME = icon; 285 287 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 286 288 CODE_SIGN_STYLE = Automatic; 287 289 CURRENT_PROJECT_VERSION = 1; 288 290 DEVELOPMENT_TEAM = M67B42LX8D; 289 291 ENABLE_PREVIEWS = YES; 290 292 GENERATE_INFOPLIST_FILE = YES; 293 + INFOPLIST_KEY_CFBundleDisplayName = "Huntington::neo"; 294 + INFOPLIST_KEY_NSFaceIDUsageDescription = "Huntington::neo needs access to FaceID authenticate your account"; 291 295 INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; 292 296 INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 293 297 INFOPLIST_KEY_UILaunchScreen_Generation = YES;
+9
huntington/Assets.xcassets/AccentColor.colorset/Contents.json
··· 1 1 { 2 2 "colors" : [ 3 3 { 4 + "color" : { 5 + "color-space" : "srgb", 6 + "components" : { 7 + "alpha" : "1.000", 8 + "blue" : "0x01", 9 + "green" : "0xB4", 10 + "red" : "0x63" 11 + } 12 + }, 4 13 "idiom" : "universal" 5 14 } 6 15 ],
+43 -14
huntington/ContentView.swift
··· 1 1 import SwiftUI 2 2 3 3 struct ContentView: View { 4 - @StateObject private var session = HuntingtonSession() 4 + @State private var session = HuntingtonSession() 5 5 @State private var accounts: [Account] = [] 6 6 @State private var transactions: [Transaction] = [] 7 7 @State private var showLogin = false ··· 44 44 .refreshable { await loadData() } 45 45 } 46 46 } 47 - .navigationTitle("Huntington") 48 47 .toolbar { 48 + ToolbarItem(placement: .principal) { 49 + NeoWordmark() 50 + } 49 51 ToolbarItem(placement: .primaryAction) { 50 52 if session.isAuthenticated { 51 53 Button("Sign Out", role: .destructive) { session.signOut() } ··· 55 57 } 56 58 } 57 59 } 58 - // Hidden WKWebView kept in hierarchy for API calls 59 - .background(WebViewRepresentable(webView: session.webView).frame(width: 0, height: 0)) 60 60 .sheet(isPresented: $showLogin) { 61 61 LoginView(session: session) 62 62 } ··· 78 78 errorMessage = nil 79 79 defer { isLoading = false } 80 80 do { 81 - let response = try await client.getAccounts() 82 - accounts = response.result.entities 83 - .flatMap { $0.userConnection.accounts } 84 - .filter { $0.active && !$0.closed } 81 + accounts = try await client.getAccounts() 85 82 transactions = try await client.getRecentTransactions(accounts: accounts) 86 83 } catch { 87 84 errorMessage = error.localizedDescription ··· 113 110 var body: some View { 114 111 HStack { 115 112 VStack(alignment: .leading, spacing: 2) { 116 - Text(transaction.name).lineLimit(1) 113 + HStack(spacing: 4) { 114 + Text(transaction.name).lineLimit(1) 115 + if transaction.isPending { 116 + Text("Pending") 117 + .font(.caption2) 118 + .foregroundStyle(.secondary) 119 + .padding(.horizontal, 5) 120 + .padding(.vertical, 1) 121 + .background(.quaternary, in: Capsule()) 122 + } 123 + } 117 124 Text(transaction.date).font(.caption).foregroundStyle(.secondary) 118 125 } 119 126 Spacer() ··· 128 135 let allTransactions: [Transaction] 129 136 130 137 private var transactions: [Transaction] { 131 - allTransactions.filter { $0.accId == account.id } 138 + allTransactions.filter { $0.accountId == account.id } 132 139 } 133 140 134 141 var body: some View { ··· 142 149 Text("Available Balance") 143 150 .font(.caption) 144 151 .foregroundStyle(.secondary) 145 - if account.availableBalance != account.balance { 146 - Text("\(account.balance, format: .currency(code: "USD")) current") 152 + if account.availableBalance != account.currentBalance { 153 + Text("\(account.currentBalance, format: .currency(code: "USD")) current") 147 154 .font(.caption2) 148 155 .foregroundStyle(.tertiary) 149 156 } ··· 156 163 157 164 Section("Account Info") { 158 165 LabeledContent("Account", value: account.number) 159 - LabeledContent("Type", value: account.huntingtonType) 166 + LabeledContent("Type", value: account.accountType) 160 167 } 161 168 162 169 if transactions.isEmpty { ··· 184 191 let accounts: [Account] 185 192 186 193 private var account: Account? { 187 - accounts.first { $0.id == transaction.accId } 194 + accounts.first { $0.id == transaction.accountId } 188 195 } 189 196 190 197 private var isCredit: Bool { transaction.amount >= 0 } ··· 218 225 LabeledContent("Account", value: "\(account.alias) \(account.number)") 219 226 } 220 227 LabeledContent("Type", value: isCredit ? "Credit" : "Debit") 228 + if let city = transaction.merchantCity, let state = transaction.merchantState { 229 + LabeledContent("Location", value: "\(city), \(state)") 230 + } else if let city = transaction.merchantCity { 231 + LabeledContent("Location", value: city) 232 + } 233 + if let balance = transaction.runningBalance { 234 + LabeledContent("Balance After", value: balance, format: .currency(code: "USD")) 235 + } 221 236 LabeledContent("Transaction ID", value: String(transaction.id)) 222 237 } 223 238 } 224 239 .navigationTitle(transaction.name) 225 240 .navigationBarTitleDisplayMode(.inline) 241 + } 242 + } 243 + 244 + struct NeoWordmark: View { 245 + var font: Font = .headline 246 + 247 + var body: some View { 248 + HStack(spacing: 0) { 249 + Text("huntington") 250 + Text("::").foregroundStyle(Color.accentColor) 251 + Text("neo") 252 + } 253 + .font(font) 254 + .fontDesign(.monospaced) 226 255 } 227 256 } 228 257
+18 -68
huntington/HuntingtonClient.swift
··· 3 3 @MainActor 4 4 class HuntingtonClient { 5 5 private let session: HuntingtonSession 6 - private let bankingHost = "https://m.huntington.com" 6 + private let base = "https://m.huntington.com" 7 + private let apiBase = "/api/mobile-customer-accounts/1.11" 7 8 8 9 init(session: HuntingtonSession) { 9 10 self.session = session ··· 11 12 12 13 // MARK: - Accounts 13 14 14 - func getAccounts() async throws -> AccountsResponse { 15 - try await session.fetch("\(bankingHost)//dmm/fm-p/accounts/get/all.action?_=\(ts())") 15 + func getAccounts() async throws -> [Account] { 16 + let url = "\(base)\(apiBase)/contexts/\(session.contextId)/customers/\(session.customerId)/accounts?refresh=false" 17 + let response: AccountsResponse = try await session.fetch(url) 18 + return response.groups.flatMap { $0.accounts }.map { Account(raw: $0) } 16 19 } 17 20 18 21 // MARK: - Transactions 19 22 20 - func getTransactions(accountIds: [Int], startDate: String, endDate: String) async throws -> CalendarResponse { 21 - let ids = accountIds.map { "productIds=\($0)" }.joined(separator: "&") 22 - let url = "\(bankingHost)//dmm/fm-p/financialcalendar/get.action" 23 - + "?startStr=\(startDate)&endStr=\(endDate)&\(ids)" 24 - + "&includeBalances=false&includeSystemPatterns=false&_=\(ts())" 25 - return try await session.fetch(url) 26 - } 27 - 28 - func getRecentTransactions(accounts: [Account], days: Int = 30) async throws -> [Transaction] { 29 - let eligibleIds = accounts 30 - .filter { $0.eligibleWidgets.contains("financial-calendar") } 31 - .map { $0.id } 32 - guard !eligibleIds.isEmpty else { return [] } 33 - 34 - let fmt = DateFormatter() 35 - fmt.dateFormat = "yyyy-MM-dd" 36 - let end = Date() 37 - let start = Calendar.current.date(byAdding: .day, value: -days, to: end)! 38 - 39 - let calendar = try await getTransactions( 40 - accountIds: eligibleIds, 41 - startDate: fmt.string(from: start), 42 - endDate: fmt.string(from: end) 43 - ) 44 - return flatten(calendar) 45 - } 46 - 47 - // MARK: - Categories 48 - 49 - func getCategories() async throws -> CategoriesResponse { 50 - try await session.fetch("\(bankingHost)//dmm/fm-p/categories/get/all.action?_=\(ts())") 23 + func getTransactions(account: Account) async throws -> [Transaction] { 24 + let encodedId = account.id.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? account.id 25 + let url = "\(base)\(apiBase)/contexts/\(session.contextId)/customers/\(session.customerId)/deposits/\(encodedId)/transactions" 26 + let response: TransactionsResponse = try await session.fetch(url) 27 + return response.items.enumerated().map { Transaction(raw: $0.element, accountId: account.id, index: $0.offset) } 51 28 } 52 29 53 - // MARK: - Helpers 54 - 55 - private func flatten(_ response: CalendarResponse) -> [Transaction] { 56 - guard let result = response.result else { return [] } 57 - return result.days 58 - .flatMap { date, day in 59 - day.transactions.map { 60 - Transaction( 61 - id: $0.id, accId: $0.accId, name: $0.name, 62 - amount: $0.amount, catId: $0.catId, 63 - transactionType: $0.transactionType, 64 - date: String(date.prefix(10)) 65 - ) 66 - } 67 - } 68 - .sorted { $0.date > $1.date } 30 + func getRecentTransactions(accounts: [Account]) async throws -> [Transaction] { 31 + var all: [Transaction] = [] 32 + for account in accounts { 33 + let txs = (try? await getTransactions(account: account)) ?? [] 34 + all.append(contentsOf: txs) 35 + } 36 + return all.sorted { $0.date > $1.date } 69 37 } 70 - 71 - private func ts() -> Int { Int(Date().timeIntervalSince1970 * 1000) } 72 - } 73 - 74 - // MARK: - Categories types (minimal) 75 - 76 - struct CategoriesResponse: Decodable { 77 - let result: [Category] 78 - } 79 - 80 - struct Category: Decodable, Identifiable { 81 - let catId: Int 82 - let catName: String 83 - let catHexrgbcolor: String 84 - let catIsIncome: Bool 85 - let categories: [Category] 86 - 87 - var id: Int { catId } 88 38 }
+437 -151
huntington/HuntingtonSession.swift
··· 1 - import WebKit 2 - import Combine 1 + import Foundation 2 + import Observation 3 3 4 4 enum HuntingtonError: LocalizedError { 5 5 case invalidResponse 6 6 case httpError(Int, String) 7 + case authFailed(String) 7 8 8 9 var errorDescription: String? { 9 10 switch self { 10 11 case .invalidResponse: return "Invalid response from server" 11 - case .httpError(let code, let body): return "HTTP \(code): \(body)" 12 + case .httpError(let code, let body): return "HTTP \(code): \(body.prefix(200))" 13 + case .authFailed(let msg): return msg 12 14 } 13 15 } 14 16 } 15 17 16 18 @MainActor 17 - class HuntingtonSession: NSObject, ObservableObject { 18 - @Published var isAuthenticated = false 19 - @Published var loginDidComplete = false // fires when auto-detect dismisses login sheet 19 + @Observable 20 + class HuntingtonSession { 21 + var isAuthenticated = false 22 + 23 + private(set) var contextId = "" 24 + private(set) var authReceipt = "" 25 + private(set) var customerId = "" 20 26 21 - let webView: WKWebView 22 - private let cookiesKey = "huntington_cookies" 23 - private var pendingNavigation: CheckedContinuation<Void, Error>? 24 - private var isInLoginFlow = false 27 + private let base = "https://m.huntington.com" 28 + private let stateKey = "huntington_auth_state_v2" 29 + private let cookieStorage = HTTPCookieStorage.shared 30 + private let session: URLSession 31 + private let noRedirectSession: URLSession 25 32 26 - override init() { 27 - let config = WKWebViewConfiguration() 28 - config.userContentController.addUserScript(HuntingtonSession.loginResponsiveScript) 29 - webView = WKWebView(frame: .zero, configuration: config) 30 - super.init() 31 - webView.navigationDelegate = self 33 + init() { 34 + let cookies = HTTPCookieStorage.shared 35 + let cfg = URLSessionConfiguration.default 36 + cfg.httpCookieStorage = cookies 37 + cfg.httpCookieAcceptPolicy = .always 38 + cfg.httpShouldSetCookies = true 39 + session = URLSession(configuration: cfg) 40 + 41 + let nrCfg = URLSessionConfiguration.default 42 + nrCfg.httpCookieStorage = cookies 43 + nrCfg.httpCookieAcceptPolicy = .always 44 + nrCfg.httpShouldSetCookies = true 45 + noRedirectSession = URLSession(configuration: nrCfg, delegate: NoRedirectDelegate(), delegateQueue: nil) 32 46 } 33 47 34 - private static let loginResponsiveScript: WKUserScript = { 35 - let css = """ 36 - html, body { min-width: 0 !important; width: 100% !important; overflow-x: hidden !important; } 37 - *, *::before, *::after { box-sizing: border-box !important; } 38 - #header, #footerNav, #footerBottom, hr, .Messages, .buttonsCentered img, #fab-area, #site-survey { display: none !important; } 39 - #container, .container_16 { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; } 40 - .grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16 { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; display: block !important; } 41 - #content { padding: 32px 20px !important; } 42 - .login { width: 100% !important; max-width: 100% !important; } 43 - .login .widget { max-width: 360px !important; margin: 0 auto !important; border-radius: 12px !important; overflow: hidden !important; box-shadow: 0 2px 12px rgba(0,0,0,0.12) !important; } 44 - div.widget-title { padding: 20px 20px 16px !important; height: auto !important; line-height: normal !important; } 45 - div.widget-title h3 { height: auto !important; font-size: 20px !important; line-height: 1.3 !important; white-space: normal !important; } 46 - #removebottomborder { padding: 20px !important; background: #fff !important; border: none !important; } 47 - dl.loginForm { width: 100% !important; margin: 0 !important; } 48 - dl.loginForm dt { float: none !important; width: 100% !important; font-size: 14px !important; font-weight: 600 !important; margin-bottom: 6px !important; color: #444 !important; } 49 - dl.loginForm dd { margin: 0 0 16px 0 !important; } 50 - dl.loginForm dd input { width: 100% !important; font-size: 16px !important; padding: 12px !important; border: 1px solid #ccc !important; border-radius: 8px !important; background: #f9f9f9 !important; } 51 - dl.loginForm dd input:focus { outline: none !important; border-color: #5ba63c !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(91,166,60,0.15) !important; } 52 - .widget-footer { padding: 0 20px 20px !important; background: #fff !important; } 53 - .buttonsCentered { padding: 0 !important; margin: 0 !important; } 54 - .buttonsCentered input[type=submit] { display: block !important; width: 100% !important; padding: 14px !important; font-size: 16px !important; font-weight: 600 !important; margin-top: 4px !important; border-radius: 8px !important; border: none !important; background: #5ba63c !important; color: #fff !important; cursor: pointer !important; } 55 - .signonLinks { width: 100% !important; text-align: center !important; margin-top: 20px !important; line-height: 2.2 !important; } 56 - """ 57 - let js = """ 58 - (function() { 59 - if (!window.location.href.includes('Auth') && !window.location.href.includes('login')) return; 60 - const s = document.createElement('style'); 61 - s.textContent = `\(css)`; 62 - (document.head || document.documentElement).appendChild(s); 63 - })(); 64 - """ 65 - return WKUserScript(source: js, injectionTime: .atDocumentEnd, forMainFrameOnly: true) 66 - }() 67 - 68 48 // MARK: - Lifecycle 69 49 70 50 func initialize() async { 71 - guard let cookies = loadSavedCookies(), !cookies.isEmpty else { return } 72 - await restoreCookies(cookies) 73 - try? await navigate(to: URL(string: "https://m.huntington.com/")!) 74 - isAuthenticated = await checkAuthenticated() 51 + guard let saved = loadState() else { return } 52 + contextId = saved.contextId 53 + authReceipt = saved.authReceipt 54 + customerId = saved.customerId 55 + restoreCookies(saved.cookies) 56 + 57 + do { 58 + let url = base + "/api/mobile-customer-accounts/1.11/contexts/\(contextId)/customers/\(customerId)/accounts?refresh=false" 59 + let _: AccountsResponse = try await fetch(url) 60 + isAuthenticated = true 61 + } catch { 62 + clearState() 63 + } 75 64 } 76 65 77 - func startLogin() async { 78 - isInLoginFlow = true 79 - try? await navigate(to: URL(string: "https://onlinebanking.huntington.com/rol/Auth/login.aspx")!) 66 + enum LoginResult { 67 + case success 68 + case needsDeliverySelection([OTPDeliveryOption]) 80 69 } 81 70 82 - func completeLogin() async { 83 - isInLoginFlow = false 84 - let cookies = await webView.configuration.websiteDataStore.httpCookieStore.allCookies() 85 - saveCookies(cookies) 86 - try? await navigate(to: URL(string: "https://m.huntington.com/")!) 71 + struct OTPDeliveryOption: Identifiable { 72 + let id: String 73 + let value: String 74 + var isEmail: Bool { value.contains("@") } 75 + } 76 + 77 + // Persisted across the OTP step 78 + private var pendingCtx = "" 79 + private var pendingReceipt = "" 80 + private var pendingCustId = "" 81 + private var pendingSecondFactorId = "" 82 + private var pendingFraudId = "" 83 + private var pendingUsername = "" 84 + 85 + func beginLogin(username: String, password: String) async throws -> LoginResult { 86 + var ctx = UUID().uuidString.lowercased() 87 + let fraudId = UUID().uuidString.replacingOccurrences(of: "-", with: "").lowercased() 88 + 89 + try await seedCookies() 90 + var lastError: Error? 91 + for attempt in 1...3 { 92 + do { 93 + try await mobileInit(contextId: ctx) 94 + try await pkmsLogin(username: username, password: password, contextId: ctx) 95 + lastError = nil 96 + break 97 + } catch let err as NSError where err.code == NSURLErrorNetworkConnectionLost { 98 + lastError = err 99 + ctx = UUID().uuidString.lowercased() 100 + } 101 + } 102 + if let err = lastError { throw err } 103 + let (receipt, custId) = try await authReceipt(contextId: ctx, username: username) 104 + let (sfId, passed) = try await secondFactors( 105 + contextId: ctx, authReceipt: receipt, username: username, fraudId: fraudId) 106 + 107 + if passed { 108 + try await activateCustomer( 109 + contextId: ctx, authReceipt: receipt, 110 + customerId: custId, secondFactorId: sfId, fraudId: fraudId) 111 + contextId = ctx 112 + self.authReceipt = receipt 113 + self.customerId = custId 114 + saveState() 115 + isAuthenticated = true 116 + return .success 117 + } else { 118 + // New device — server requires OTP before trusting 119 + pendingCtx = ctx; pendingReceipt = receipt; pendingCustId = custId 120 + pendingSecondFactorId = sfId; pendingFraudId = fraudId; pendingUsername = username 121 + let options = try await fetchDeliveryOptions(contextId: ctx, authReceipt: receipt, secondFactorId: sfId) 122 + return .needsDeliverySelection(options) 123 + } 124 + } 125 + 126 + func selectDelivery(_ option: OTPDeliveryOption) async throws { 127 + try await sendOTP(contextId: pendingCtx, authReceipt: pendingReceipt, 128 + secondFactorId: pendingSecondFactorId, optionId: option.id) 129 + } 130 + 131 + func submitOTP(_ code: String) async throws { 132 + let receipt1 = try await verifyOTP( 133 + contextId: pendingCtx, authReceipt: pendingReceipt, 134 + secondFactorId: pendingSecondFactorId, code: code) 135 + let receipt2 = try await iaChallengeQuestion( 136 + contextId: pendingCtx, authReceipt: receipt1, 137 + secondFactorId: pendingSecondFactorId) 138 + try await activateCustomer( 139 + contextId: pendingCtx, authReceipt: receipt2, 140 + customerId: pendingCustId, secondFactorId: pendingSecondFactorId, fraudId: pendingFraudId) 141 + let ctx = pendingCtx; let sfId = pendingSecondFactorId 142 + contextId = pendingCtx 143 + self.authReceipt = receipt2 144 + self.customerId = pendingCustId 145 + saveState() 87 146 isAuthenticated = true 88 - loginDidComplete = true 147 + Task { await registerDevice(contextId: ctx, authReceipt: receipt2, secondFactorId: sfId) } 89 148 } 90 149 91 150 func signOut() { 92 - UserDefaults.standard.removeObject(forKey: cookiesKey) 151 + clearState() 93 152 isAuthenticated = false 94 - Task { 95 - await webView.configuration.websiteDataStore.removeData( 96 - ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), 97 - modifiedSince: .distantPast 98 - ) 153 + } 154 + 155 + // MARK: - Auth steps 156 + 157 + private func seedCookies() async throws { 158 + // Load the homepage so Akamai bot-management sets ak_bmsc and related cookies 159 + // before pkmslogin.form, which rejects requests without them. 160 + var req = URLRequest(url: URL(string: base + "/")!) 161 + req.setValue("HuntingtonMobileBankingIOS/6.74.115", forHTTPHeaderField: "user-agent") 162 + _ = try? await session.data(for: req) 163 + } 164 + 165 + private func mobileInit(contextId: String) async throws { 166 + var req = agwRequest("POST", "/api/mobile-authentication/1.8/mobile-init", ctx: contextId) 167 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 168 + req.httpBody = Data("{}".utf8) 169 + let (data, resp) = try await session.data(for: req) 170 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 171 + guard status == 201 else { 172 + print("[auth] mobile-init failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 173 + throw HuntingtonError.authFailed("Could not start session (mobile-init \(status))") 99 174 } 100 175 } 101 176 102 - // MARK: - Fetch 103 - 104 - func fetch<T: Decodable>(_ url: String) async throws -> T { 105 - let js = """ 106 - const res = await fetch(url, { 107 - headers: { 108 - 'accept': 'application/json, text/javascript, */*; q=0.01', 109 - 'x-requested-with': 'XMLHttpRequest', 110 - 'referer': 'https://m.huntington.com/' 177 + private func pkmsLogin(username: String, password: String, contextId: String) async throws { 178 + var req = agwRequest("POST", "/pkmslogin.form", ctx: contextId) 179 + req.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type") 180 + req.setValue("no-cache", forHTTPHeaderField: "cache-control") 181 + req.httpBody = Data("login-form-type=pwd&userName=\(username.urlEncoded)&password=\(password.urlEncoded)".utf8) 182 + let (data, resp) = try await noRedirectSession.data(for: req) 183 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 184 + let cookieNames = cookieStorage.cookies?.map(\.name) ?? [] 185 + guard cookieNames.contains("PD-ID") else { 186 + print("[auth] pkmslogin failed (\(status)), body: \(String(data: data, encoding: .utf8)?.prefix(500) ?? "")") 187 + if status == 200 || status == 302 { 188 + throw HuntingtonError.authFailed("Incorrect username or password") 111 189 } 112 - }); 113 - if (!res.ok) { 114 - const body = await res.text(); 115 - throw new Error('HTTP_' + res.status + ':' + body.slice(0, 300)); 190 + throw HuntingtonError.authFailed("Login blocked by server (\(status)) — try again") 116 191 } 117 - return JSON.stringify(await res.json()); 118 - """ 192 + } 119 193 120 - let result = try await callJS(js, arguments: ["url": url]) 194 + private func authReceipt(contextId: String, username: String) async throws -> (String, String) { 195 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/authentication-receipt" 196 + + "?olbLoginId=\(username.urlEncoded)&loginType=USER_PASS" 197 + let req = agwRequest("GET", path, ctx: contextId) 198 + let (data, resp) = try await session.data(for: req) 199 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 200 + guard let http = resp as? HTTPURLResponse, status == 200 else { 201 + print("[auth] authentication-receipt failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 202 + throw HuntingtonError.authFailed("Could not obtain auth receipt (\(status))") 203 + } 204 + guard let receipt = http.value(forHTTPHeaderField: "x-auth-receipt") else { 205 + throw HuntingtonError.authFailed("Auth receipt missing from response") 206 + } 207 + let body = try JSONDecoder().decode(AuthReceiptBody.self, from: data) 208 + return (receipt, body.customerId) 209 + } 121 210 122 - guard let jsonString = result as? String else { 123 - throw HuntingtonError.invalidResponse 211 + private func secondFactors(contextId: String, authReceipt: String, 212 + username: String, fraudId: String) async throws -> (String, Bool) { 213 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors" 214 + var req = agwRequest("POST", path, ctx: contextId, receipt: authReceipt) 215 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 216 + let body = SecondFactorsRequest( 217 + fingerprint: .init(attributes: .makeForDevice()), 218 + olbLoginId: username, 219 + policy: "ANDROID", 220 + profile: "MOBILE", 221 + deviceId: persistentDeviceId(), 222 + token: storedDeviceToken() ?? "", 223 + fraudSessionId: fraudId, 224 + loginType: "USER_PASS", 225 + flowId: "" 226 + ) 227 + req.httpBody = try JSONEncoder().encode(body) 228 + let (data, resp) = try await session.data(for: req) 229 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 230 + guard status == 201 else { 231 + print("[auth] second-factors failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 232 + throw HuntingtonError.authFailed("Device verification failed (\(status))") 124 233 } 125 - 126 - return try JSONDecoder().decode(T.self, from: Data(jsonString.utf8)) 234 + let result = try JSONDecoder().decode(SecondFactorsResponse.self, from: data) 235 + if let token = result.registrationData?.token, !token.isEmpty { 236 + UserDefaults.standard.set(token, forKey: "huntington_device_token") 237 + } 238 + return (result.secondFactorId, result.passed) 127 239 } 128 240 129 - private func callJS(_ functionBody: String, arguments: [String: Any]) async throws -> Any? { 130 - try await withCheckedThrowingContinuation { continuation in 131 - webView.callAsyncJavaScript(functionBody, arguments: arguments, in: nil, in: .page) { result in 132 - switch result { 133 - case .success(let value): continuation.resume(returning: value) 134 - case .failure(let error): continuation.resume(throwing: error) 135 - } 136 - } 241 + private func fetchDeliveryOptions(contextId: String, authReceipt: String, 242 + secondFactorId: String) async throws -> [OTPDeliveryOption] { 243 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors/\(secondFactorId)/otp/delivery-options" 244 + let req = agwRequest("GET", path, ctx: contextId, receipt: authReceipt) 245 + let (data, resp) = try await session.data(for: req) 246 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 247 + guard status == 200 || status == 201 else { 248 + print("[auth] delivery-options failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 249 + throw HuntingtonError.authFailed("Could not fetch delivery options (\(status))") 250 + } 251 + let raw = try JSONDecoder().decode(DeliveryOptionsResponse.self, from: data) 252 + let emails = (raw.emailAddresses ?? []).map { OTPDeliveryOption(id: $0.id, value: $0.value) } 253 + let phones = (raw.phoneNumbers ?? []).map { OTPDeliveryOption(id: $0.id, value: $0.value) } 254 + let all = emails + phones 255 + guard !all.isEmpty else { 256 + throw HuntingtonError.authFailed("No delivery options available for verification code") 137 257 } 258 + return all 138 259 } 139 260 140 - // MARK: - Navigation 261 + private func sendOTP(contextId: String, authReceipt: String, 262 + secondFactorId: String, optionId: String) async throws { 263 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors/\(secondFactorId)/otp/delivery-options/\(optionId)" 264 + var req = agwRequest("PUT", path, ctx: contextId, receipt: authReceipt) 265 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 266 + req.httpBody = Data("{}".utf8) 267 + let (data, resp) = try await session.data(for: req) 268 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 269 + guard status == 200 || status == 201 else { 270 + print("[auth] send-otp failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 271 + throw HuntingtonError.authFailed("Could not send verification code (\(status))") 272 + } 273 + } 141 274 142 - private func navigate(to url: URL) async throws { 143 - try await withCheckedThrowingContinuation { continuation in 144 - pendingNavigation = continuation 145 - webView.load(URLRequest(url: url)) 275 + private func verifyOTP(contextId: String, authReceipt: String, 276 + secondFactorId: String, code: String) async throws -> String { 277 + let trimmed = code.trimmingCharacters(in: .whitespaces) 278 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors/\(secondFactorId)/otp/status" 279 + var req = agwRequest("PUT", path, ctx: contextId, receipt: authReceipt) 280 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 281 + let body = try! JSONSerialization.data(withJSONObject: ["otpValue": trimmed, "flowId": ""]) 282 + req.httpBody = body 283 + let (data, resp) = try await session.data(for: req) 284 + let http = resp as? HTTPURLResponse 285 + let status = http?.statusCode ?? 0 286 + // 201 = correct code (empty body), 200 = correct code with passed field 287 + guard status == 200 || status == 201 else { 288 + print("[auth] verify-otp failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 289 + throw HuntingtonError.authFailed("Incorrect or expired verification code (\(status))") 290 + } 291 + if let result = try? JSONDecoder().decode(OTPStatusResponse.self, from: data), !result.passed { 292 + throw HuntingtonError.authFailed("Incorrect verification code") 146 293 } 294 + return http?.value(forHTTPHeaderField: "x-auth-receipt") ?? authReceipt 147 295 } 148 296 149 - private func checkAuthenticated() async -> Bool { 150 - let url = "https://m.huntington.com//dmm/fm-p/accounts/get/all.action?_=\(timestamp())" 151 - let js = """ 152 - try { 153 - const res = await fetch(url, { 154 - headers: { 'accept': 'application/json', 'x-requested-with': 'XMLHttpRequest' } 155 - }); 156 - return res.ok; 157 - } catch { return false; } 158 - """ 159 - let result = try? await callJS(js, arguments: ["url": url]) 160 - return result as? Bool ?? false 297 + private func registerDevice(contextId: String, authReceipt: String, secondFactorId: String) async { 298 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors/\(secondFactorId)/registrations" 299 + var req = agwRequest("POST", path, ctx: contextId, receipt: authReceipt) 300 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 301 + req.httpBody = try? JSONSerialization.data(withJSONObject: ["deviceName": "iPhone"]) 302 + guard let (data, resp) = try? await session.data(for: req) else { return } 303 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 304 + if let reg = try? JSONDecoder().decode(RegistrationResponse.self, from: data), 305 + let token = reg.registrationData?.token, !token.isEmpty { 306 + UserDefaults.standard.set(token, forKey: "huntington_device_token") 307 + } 161 308 } 162 309 163 - // MARK: - Cookie persistence 310 + private func iaChallengeQuestion(contextId: String, authReceipt: String, 311 + secondFactorId: String) async throws -> String { 312 + let path = "/api/mobile-authentication/1.8/contexts/\(contextId)/second-factors/\(secondFactorId)/v2/ia-challenge-question" 313 + let req = agwRequest("GET", path, ctx: contextId, receipt: authReceipt) 314 + let (_, resp) = try await session.data(for: req) 315 + let http = resp as? HTTPURLResponse 316 + let status = http?.statusCode ?? 0 317 + return http?.value(forHTTPHeaderField: "x-auth-receipt") ?? authReceipt 318 + } 164 319 165 - private func saveCookies(_ cookies: [HTTPCookie]) { 166 - let data = cookies.compactMap { cookie -> [String: Any]? in 167 - guard let props = cookie.properties else { return nil } 168 - return Dictionary(uniqueKeysWithValues: props.map { ($0.key.rawValue, $0.value) }) 320 + private func activateCustomer(contextId: String, authReceipt: String, 321 + customerId: String, secondFactorId: String, fraudId: String) async throws { 322 + let path = "/api/mobile-customer-accounts/1.11/contexts/\(contextId)/customers/\(customerId)/customers" 323 + var req = agwRequest("POST", path, ctx: contextId, receipt: authReceipt) 324 + req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "content-type") 325 + let bodyObj: [String: Any] = ["secondFactorId": secondFactorId, "fraudSessionId": fraudId] 326 + req.httpBody = try? JSONSerialization.data(withJSONObject: bodyObj) 327 + let (data, resp) = try await session.data(for: req) 328 + let status = (resp as? HTTPURLResponse)?.statusCode ?? 0 329 + guard status == 200 || status == 201 else { 330 + print("[auth] activate-customer failed (\(status)): \(String(data: data, encoding: .utf8) ?? "")") 331 + throw HuntingtonError.authFailed("Could not activate session (\(status))") 169 332 } 170 - UserDefaults.standard.set(data, forKey: cookiesKey) 171 333 } 172 334 173 - private func loadSavedCookies() -> [HTTPCookie]? { 174 - guard let data = UserDefaults.standard.array(forKey: cookiesKey) as? [[String: Any]] else { 175 - return nil 335 + // MARK: - Fetch (used by HuntingtonClient) 336 + 337 + func fetch<T: Decodable>(_ urlString: String) async throws -> T { 338 + var req = URLRequest(url: URL(string: urlString)!) 339 + req.setValue("MOBILE", forHTTPHeaderField: "x-channel") 340 + req.setValue("application/json, text/javascript, */*; q=0.01", forHTTPHeaderField: "accept") 341 + req.setValue("XMLHttpRequest", forHTTPHeaderField: "x-requested-with") 342 + req.setValue("https://m.huntington.com/", forHTTPHeaderField: "referer") 343 + req.setValue("HuntingtonMobileBankingIOS/6.74.115", forHTTPHeaderField: "user-agent") 344 + if !contextId.isEmpty { req.setValue(contextId, forHTTPHeaderField: "x-context-id") } 345 + if !authReceipt.isEmpty { req.setValue(authReceipt, forHTTPHeaderField: "x-auth-receipt") } 346 + 347 + let (data, resp) = try await session.data(for: req) 348 + guard let http = resp as? HTTPURLResponse else { throw HuntingtonError.invalidResponse } 349 + guard http.statusCode == 200 else { 350 + throw HuntingtonError.httpError(http.statusCode, String(data: data, encoding: .utf8) ?? "") 176 351 } 177 - return data.compactMap { dict in 178 - let props = Dictionary(uniqueKeysWithValues: dict.map { 179 - (HTTPCookiePropertyKey($0.key), $0.value) 180 - }) 181 - return HTTPCookie(properties: props) 352 + return try JSONDecoder().decode(T.self, from: data) 353 + } 354 + 355 + // MARK: - Request builder 356 + 357 + private func agwRequest(_ method: String, _ path: String, 358 + ctx: String, receipt: String? = nil) -> URLRequest { 359 + var req = URLRequest(url: URL(string: base + path)!) 360 + req.httpMethod = method 361 + req.setValue("MOBILE", forHTTPHeaderField: "x-channel") 362 + req.setValue(ctx, forHTTPHeaderField: "x-context-id") 363 + req.setValue("application/json", forHTTPHeaderField: "accept") 364 + req.setValue("HuntingtonMobileBankingIOS/6.74.115", forHTTPHeaderField: "user-agent") 365 + if let r = receipt { req.setValue(r, forHTTPHeaderField: "x-auth-receipt") } 366 + return req 367 + } 368 + 369 + // MARK: - Persistence 370 + 371 + private struct AuthState: Codable { 372 + let contextId: String 373 + let authReceipt: String 374 + let customerId: String 375 + let cookies: [SavedCookie] 376 + } 377 + 378 + private struct SavedCookie: Codable { 379 + let name: String; let value: String; let domain: String; let path: String 380 + } 381 + 382 + private func saveState() { 383 + let saved = (cookieStorage.cookies ?? []) 384 + .filter { ["PD-ID", "PD-S-SESSION-ID"].contains($0.name) } 385 + .map { SavedCookie(name: $0.name, value: $0.value, domain: $0.domain, path: $0.path) } 386 + let state = AuthState(contextId: contextId, authReceipt: authReceipt, 387 + customerId: customerId, cookies: saved) 388 + if let data = try? JSONEncoder().encode(state) { 389 + UserDefaults.standard.set(data, forKey: stateKey) 182 390 } 183 391 } 184 392 185 - private func restoreCookies(_ cookies: [HTTPCookie]) async { 186 - let store = webView.configuration.websiteDataStore.httpCookieStore 187 - for cookie in cookies { 188 - await store.setCookie(cookie) 393 + private func loadState() -> AuthState? { 394 + guard let data = UserDefaults.standard.data(forKey: stateKey) else { return nil } 395 + return try? JSONDecoder().decode(AuthState.self, from: data) 396 + } 397 + 398 + private func clearState() { 399 + UserDefaults.standard.removeObject(forKey: stateKey) 400 + contextId = ""; authReceipt = ""; customerId = "" 401 + cookieStorage.cookies? 402 + .filter { $0.domain.contains("huntington.com") } 403 + .forEach { cookieStorage.deleteCookie($0) } 404 + } 405 + 406 + private func restoreCookies(_ saved: [SavedCookie]) { 407 + for c in saved { 408 + if let cookie = HTTPCookie(properties: [ 409 + .name: c.name, .value: c.value, .domain: c.domain, .path: c.path, 410 + ]) { cookieStorage.setCookie(cookie) } 189 411 } 190 412 } 191 413 192 - private func timestamp() -> Int { 193 - Int(Date().timeIntervalSince1970 * 1000) 414 + private func persistentDeviceId() -> String { 415 + let key = "huntington_device_id" 416 + if let id = UserDefaults.standard.string(forKey: key) { return id } 417 + let id = UUID().uuidString.replacingOccurrences(of: "-", with: "").lowercased() 418 + UserDefaults.standard.set(id, forKey: key) 419 + return id 420 + } 421 + 422 + private func storedDeviceToken() -> String? { 423 + UserDefaults.standard.string(forKey: "huntington_device_token") 424 + } 425 + 426 + private func ts() -> Int { Int(Date().timeIntervalSince1970 * 1000) } 427 + } 428 + 429 + // MARK: - Redirect delegate 430 + 431 + private final class NoRedirectDelegate: NSObject, URLSessionTaskDelegate, @unchecked Sendable { 432 + nonisolated func urlSession(_ session: URLSession, task: URLSessionTask, 433 + willPerformHTTPRedirection response: HTTPURLResponse, 434 + newRequest request: URLRequest, 435 + completionHandler: @escaping @Sendable (URLRequest?) -> Void) { 436 + completionHandler(nil) 194 437 } 195 438 } 196 439 197 - // MARK: - WKNavigationDelegate 440 + // MARK: - Private auth models 441 + 442 + private struct AuthReceiptBody: Decodable { 443 + let customerId: String 444 + } 198 445 199 - extension HuntingtonSession: WKNavigationDelegate { 200 - func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { 201 - pendingNavigation?.resume() 202 - pendingNavigation = nil 446 + private struct SecondFactorsRequest: Encodable { 447 + struct Fingerprint: Encodable { 448 + struct Attributes: Encodable { 449 + let os: String 450 + let osname: String 451 + let numberOfProcessors: Int 452 + let localeName: String 453 + let rooted: Bool 454 + let appVersion: String 203 455 204 - // Auto-detect login completion: once we leave the auth pages, we're in 205 - if isInLoginFlow, let url = webView.url?.absoluteString, 206 - url.contains("onlinebanking.huntington.com"), 207 - !url.contains("/Auth/"), !url.contains("/login") { 208 - Task { await completeLogin() } 456 + static func makeForDevice() -> Attributes { 457 + Attributes( 458 + os: "ios", osname: "ios", 459 + numberOfProcessors: ProcessInfo.processInfo.processorCount, 460 + localeName: Locale.current.identifier, 461 + rooted: false, 462 + appVersion: "6.74.115" 463 + ) 464 + } 209 465 } 466 + let attributes: Attributes 210 467 } 468 + let fingerprint: Fingerprint 469 + let olbLoginId: String 470 + let policy: String 471 + let profile: String 472 + let deviceId: String 473 + let token: String 474 + let fraudSessionId: String 475 + let loginType: String 476 + let flowId: String 477 + } 211 478 212 - func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { 213 - pendingNavigation?.resume(throwing: error) 214 - pendingNavigation = nil 215 - } 479 + private struct SecondFactorsResponse: Decodable { 480 + struct RegistrationData: Decodable { let token: String } 481 + let secondFactorId: String 482 + let passed: Bool 483 + let registrationData: RegistrationData? 484 + } 216 485 217 - func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { 218 - pendingNavigation?.resume(throwing: error) 219 - pendingNavigation = nil 486 + private struct DeliveryOptionsResponse: Decodable { 487 + struct Option: Decodable { let id: String; let value: String } 488 + let phoneNumbers: [Option]? 489 + let emailAddresses: [Option]? 490 + } 491 + 492 + private struct OTPStatusResponse: Decodable { 493 + let passed: Bool 494 + } 495 + 496 + private struct RegistrationResponse: Decodable { 497 + struct RegistrationData: Decodable { let token: String? } 498 + let registrationData: RegistrationData? 499 + } 500 + 501 + // MARK: - Helpers 502 + 503 + private extension String { 504 + var urlEncoded: String { 505 + addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? self 220 506 } 221 507 }
+223 -28
huntington/LoginView.swift
··· 1 1 import SwiftUI 2 - import WebKit 3 2 4 3 struct LoginView: View { 5 - @ObservedObject var session: HuntingtonSession 4 + var session: HuntingtonSession 6 5 @Environment(\.dismiss) var dismiss 7 - @State private var isCompleting = false 6 + 7 + @State private var username = "" 8 + @State private var password = "" 9 + @State private var otp = "" 10 + @State private var isLoading = false 11 + @State private var errorMessage: String? 12 + @State private var deliveryOptions: [HuntingtonSession.OTPDeliveryOption] = [] 13 + @State private var phase: Phase = .credentials 14 + 15 + enum Phase { case credentials, deliverySelection, codeEntry } 8 16 9 17 var body: some View { 10 18 NavigationStack { 11 - WebViewRepresentable(webView: session.webView) 12 - .ignoresSafeArea(edges: .bottom) 13 - .navigationTitle("Sign In") 14 - .navigationBarTitleDisplayMode(.inline) 15 - .toolbar { 16 - ToolbarItem(placement: .confirmationAction) { 17 - Button("Done") { 18 - isCompleting = true 19 - Task { 20 - await session.completeLogin() 21 - isCompleting = false 22 - dismiss() 23 - } 19 + VStack(spacing: 0) { 20 + // Header 21 + VStack(spacing: 8) { 22 + Image(systemName: "building.columns.fill") 23 + .font(.system(size: 48)) 24 + .foregroundStyle(Color.accentColor) 25 + NeoWordmark(font: .title2.bold()) 26 + Text(headerSubtitle) 27 + .font(.subheadline) 28 + .foregroundStyle(.secondary) 29 + .multilineTextAlignment(.center) 30 + .animation(.default, value: phase) 31 + } 32 + .padding(.top, 48) 33 + .padding(.bottom, 40) 34 + 35 + switch phase { 36 + case .credentials: 37 + credentialsBody 38 + case .deliverySelection: 39 + deliveryBody 40 + case .codeEntry: 41 + codeEntryBody 42 + } 43 + 44 + // Error 45 + if let error = errorMessage { 46 + HStack(spacing: 6) { 47 + Image(systemName: "exclamationmark.circle.fill") 48 + Text(error).font(.footnote) 49 + } 50 + .foregroundStyle(.red) 51 + .padding(.horizontal, 24) 52 + .padding(.top, 16) 53 + } 54 + 55 + if phase != .credentials { 56 + Button("Back") { 57 + phase = phase == .codeEntry ? .deliverySelection : .credentials 58 + errorMessage = nil 59 + } 60 + .padding(.top, 12) 61 + .foregroundStyle(.secondary) 62 + } 63 + 64 + Spacer() 65 + } 66 + .navigationBarTitleDisplayMode(.inline) 67 + .toolbar { 68 + ToolbarItem(placement: .cancellationAction) { 69 + Button("Cancel") { dismiss() } 70 + } 71 + 72 + } 73 + .contentShape(Rectangle()) 74 + .onTapGesture { hideKeyboard() } 75 + } 76 + } 77 + 78 + private var headerSubtitle: String { 79 + switch phase { 80 + case .credentials: return "Sign in to your account" 81 + case .deliverySelection: return "How would you like to receive\nyour verification code?" 82 + case .codeEntry: return "Enter the code we sent you" 83 + } 84 + } 85 + 86 + @ViewBuilder 87 + private var credentialsBody: some View { 88 + VStack(spacing: 12) { 89 + inputField(icon: "person", placeholder: "Username") { 90 + TextField("Username", text: $username) 91 + .textContentType(.username) 92 + .autocorrectionDisabled() 93 + .textInputAutocapitalization(.never) 94 + } 95 + inputField(icon: "lock", placeholder: "Password") { 96 + SecureField("Password", text: $password) 97 + .textContentType(.password) 98 + } 99 + } 100 + .padding(.horizontal, 24) 101 + 102 + Button { 103 + Task { await signIn() } 104 + } label: { 105 + buttonLabel("Sign In") 106 + } 107 + .buttonStyle(.borderedProminent) 108 + .tint(Color.accentColor) 109 + .disabled(isLoading || username.isEmpty || password.isEmpty) 110 + .padding(.horizontal, 24) 111 + .padding(.top, 24) 112 + } 113 + 114 + @ViewBuilder 115 + private var deliveryBody: some View { 116 + VStack(spacing: 10) { 117 + ForEach(deliveryOptions) { option in 118 + Button { 119 + Task { await selectDelivery(option) } 120 + } label: { 121 + HStack(spacing: 12) { 122 + Image(systemName: option.isEmail ? "envelope" : "phone") 123 + .foregroundStyle(Color.accentColor) 124 + .frame(width: 24) 125 + Text(option.value) 126 + .foregroundStyle(.primary) 127 + Spacer() 128 + if isLoading { 129 + ProgressView() 130 + } else { 131 + Image(systemName: "chevron.right") 132 + .foregroundStyle(.tertiary) 133 + .font(.caption) 24 134 } 25 - .disabled(isCompleting) 26 - } 27 - ToolbarItem(placement: .cancellationAction) { 28 - Button("Cancel") { dismiss() } 29 135 } 136 + .padding() 137 + .background(Color(.secondarySystemBackground), in: RoundedRectangle(cornerRadius: 12)) 30 138 } 139 + .disabled(isLoading) 140 + } 31 141 } 32 - .task { await session.startLogin() } 33 - .onChange(of: session.loginDidComplete) { _, completed in 34 - if completed { dismiss() } 142 + .padding(.horizontal, 24) 143 + } 144 + 145 + @ViewBuilder 146 + private var codeEntryBody: some View { 147 + VStack(spacing: 12) { 148 + inputField(icon: "key", placeholder: "One-time code") { 149 + TextField("Code", text: $otp) 150 + .textContentType(.oneTimeCode) 151 + .keyboardType(.numberPad) 152 + } 153 + } 154 + .padding(.horizontal, 24) 155 + 156 + Button { 157 + Task { await submitOTP() } 158 + } label: { 159 + buttonLabel("Verify") 160 + } 161 + .buttonStyle(.borderedProminent) 162 + .tint(Color.accentColor) 163 + .disabled(isLoading || otp.isEmpty) 164 + .padding(.horizontal, 24) 165 + .padding(.top, 24) 166 + } 167 + 168 + @ViewBuilder 169 + private func buttonLabel(_ title: String) -> some View { 170 + Group { 171 + if isLoading { 172 + ProgressView().tint(.white) 173 + } else { 174 + Text(title).fontWeight(.semibold) 175 + } 176 + } 177 + .frame(maxWidth: .infinity) 178 + .frame(height: 50) 179 + } 180 + 181 + @ViewBuilder 182 + private func inputField<F: View>(icon: String, placeholder: String, @ViewBuilder field: () -> F) -> some View { 183 + HStack { 184 + Image(systemName: icon) 185 + .foregroundStyle(.secondary) 186 + .frame(width: 20) 187 + field() 35 188 } 189 + .padding() 190 + .background(Color(.secondarySystemBackground), in: RoundedRectangle(cornerRadius: 12)) 36 191 } 37 - } 38 192 39 - struct WebViewRepresentable: UIViewRepresentable { 40 - let webView: WKWebView 193 + private func signIn() async { 194 + isLoading = true 195 + errorMessage = nil 196 + defer { isLoading = false } 197 + do { 198 + let result = try await session.beginLogin(username: username, password: password) 199 + switch result { 200 + case .success: 201 + dismiss() 202 + case .needsDeliverySelection(let options): 203 + deliveryOptions = options 204 + phase = .deliverySelection 205 + } 206 + } catch { 207 + errorMessage = error.localizedDescription 208 + } 209 + } 41 210 42 - func makeUIView(context: Context) -> WKWebView { webView } 43 - func updateUIView(_ uiView: WKWebView, context: Context) {} 211 + private func selectDelivery(_ option: HuntingtonSession.OTPDeliveryOption) async { 212 + isLoading = true 213 + errorMessage = nil 214 + defer { isLoading = false } 215 + do { 216 + try await session.selectDelivery(option) 217 + phase = .codeEntry 218 + } catch { 219 + errorMessage = error.localizedDescription 220 + } 221 + } 222 + 223 + private func submitOTP() async { 224 + isLoading = true 225 + errorMessage = nil 226 + defer { isLoading = false } 227 + do { 228 + try await session.submitOTP(otp) 229 + dismiss() 230 + } catch { 231 + errorMessage = error.localizedDescription 232 + } 233 + } 234 + 235 + private func hideKeyboard() { 236 + UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), 237 + to: nil, from: nil, for: nil) 238 + } 44 239 }
+83 -39
huntington/Models.swift
··· 3 3 // MARK: - Accounts 4 4 5 5 struct AccountsResponse: Decodable { 6 - let result: AccountsResult 6 + let groups: [AccountGroup] 7 7 } 8 8 9 - struct AccountsResult: Decodable { 10 - let amount: Double 11 - let entities: [AccountEntity] 9 + struct AccountGroup: Decodable { 10 + let accounts: [RawAccount] 12 11 } 13 12 14 - struct AccountEntity: Decodable { 15 - let id: Int 16 - let name: String 17 - let userConnection: UserConnection 13 + struct RawAccount: Decodable { 14 + let accountId: String 15 + let accountType: String 16 + let nickName: String 17 + let availableBalance: String 18 + let currentBalance: String 19 + let maskedAccountNumber: String 20 + let routingNumber: String 18 21 } 19 22 20 - struct UserConnection: Decodable { 21 - let accounts: [Account] 22 - } 23 - 24 - struct Account: Decodable, Identifiable { 25 - let id: Int 23 + struct Account: Identifiable { 24 + let id: String 26 25 let alias: String 27 26 let number: String 28 27 let availableBalance: Double 29 - let balance: Double 30 - let eligibleWidgets: [String] 31 - let active: Bool 32 - let closed: Bool 33 - let huntingtonType: String 28 + let currentBalance: Double 29 + let accountType: String 30 + let routingNumber: String 31 + 32 + init(raw: RawAccount) { 33 + id = raw.accountId 34 + alias = raw.nickName 35 + number = raw.maskedAccountNumber 36 + availableBalance = Double(raw.availableBalance) ?? 0 37 + currentBalance = Double(raw.currentBalance) ?? 0 38 + accountType = raw.accountType.capitalized 39 + routingNumber = raw.routingNumber 40 + } 34 41 } 35 42 36 43 // MARK: - Transactions 37 44 38 - struct CalendarResponse: Decodable { 39 - let result: CalendarResult? 40 - } 41 - 42 - struct CalendarResult: Decodable { 43 - let days: [String: CalendarDay] 44 - } 45 - 46 - struct CalendarDay: Decodable { 47 - let transactions: [RawTransaction] 45 + struct TransactionsResponse: Decodable { 46 + let items: [RawTransaction] 48 47 } 49 48 50 49 struct RawTransaction: Decodable { 51 - let id: Int 52 - let accId: Int 53 - let name: String 54 - let amount: Double 55 - let catId: Int 56 - let transactionType: String 50 + let transactionCategory: String 51 + let postedDate: String 52 + let runningBalance: String? 53 + // history 54 + let transactionAmount: String? 55 + let payeeName: String? 56 + let transactionTypeDescription: String? 57 + let imageId: String? 58 + let referenceNumber: String? 59 + let merchantCity: String? 60 + let merchantState: String? 61 + // pending 62 + let totalTransactionDebitAmount: String? 63 + let postedTransactionCreditAmount: String? 64 + let transactionTypeDesc: String? 65 + let transactionType: String? 66 + let memo: String? 57 67 } 58 68 59 69 struct Transaction: Identifiable { 60 - let id: Int 61 - let accId: Int 70 + let id: String 71 + let accountId: String 62 72 let name: String 63 73 let amount: Double 64 - let catId: Int 74 + let date: String 65 75 let transactionType: String 66 - let date: String 76 + let isPending: Bool 77 + let merchantCity: String? 78 + let merchantState: String? 79 + let runningBalance: Double? 80 + 81 + init(raw: RawTransaction, accountId: String, index: Int) { 82 + self.accountId = accountId 83 + isPending = raw.transactionCategory == "pending" 84 + date = raw.postedDate 85 + runningBalance = raw.runningBalance.flatMap(Double.init) 86 + merchantCity = raw.merchantCity?.trimmingCharacters(in: .whitespaces).nilIfEmpty 87 + merchantState = raw.merchantState?.trimmingCharacters(in: .whitespaces).nilIfEmpty 88 + 89 + if isPending { 90 + if let debit = raw.totalTransactionDebitAmount.flatMap(Double.init) { 91 + amount = -debit 92 + } else if let credit = raw.postedTransactionCreditAmount.flatMap(Double.init) { 93 + amount = credit 94 + } else { 95 + amount = 0 96 + } 97 + name = raw.transactionTypeDesc ?? raw.transactionType ?? raw.memo?.trimmingCharacters(in: .whitespaces) ?? "Pending" 98 + transactionType = raw.transactionType ?? "" 99 + id = "\(accountId)_p_\(date)_\(transactionType)_\(index)" 100 + } else { 101 + amount = Double(raw.transactionAmount ?? "0") ?? 0 102 + name = raw.payeeName?.trimmingCharacters(in: .whitespaces) ?? raw.transactionTypeDescription ?? "Transaction" 103 + transactionType = raw.transactionTypeDescription ?? "" 104 + id = raw.imageId ?? "\(accountId)_h_\(date)_\(raw.referenceNumber ?? "")_\(index)" 105 + } 106 + } 107 + } 108 + 109 + private extension String { 110 + var nilIfEmpty: String? { isEmpty ? nil : self } 67 111 }
+8
huntington/icon.icon/Assets/huntington.svg
··· 1 + <svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 + <path d="M759 214.4L669.899 163V448.938L401 604.025V886.446L490.101 938V655.425L669.899 551.739V860.012L759 808.807V214.4Z" fill="white"/> 3 + <path d="M535 938L624 886.394V630L535 681.413V938Z" fill="white"/> 4 + <path d="M489 86L401 137.285V397L489 345.758V86Z" fill="white"/> 5 + <path d="M221 783V241L147.103 283.67C137.752 289.101 132 299.079 132 309.876V714.145C132 724.942 137.752 734.919 147.103 740.35L221 783Z" fill="white"/> 6 + <path d="M267 215.054V808.849L355.857 860V578.376L624 423.453V137.346L535.164 86V372.086L355.857 475.662V163.708L267 215.054Z" fill="white"/> 7 + <path d="M892 714.145V309.876C892 299.079 886.244 289.101 876.884 283.67L803 241V783L876.884 740.35C886.244 734.919 892 724.942 892 714.145Z" fill="white"/> 8 + </svg>
+37
huntington/icon.icon/icon.json
··· 1 + { 2 + "fill" : "system-dark", 3 + "groups" : [ 4 + { 5 + "layers" : [ 6 + { 7 + "fill" : { 8 + "solid" : "display-p3:0.56787,0.80371,0.27002,1.00000" 9 + }, 10 + "image-name" : "huntington.svg", 11 + "name" : "huntington", 12 + "position" : { 13 + "scale" : 0.88, 14 + "translation-in-points" : [ 15 + 0, 16 + 0 17 + ] 18 + } 19 + } 20 + ], 21 + "shadow" : { 22 + "kind" : "neutral", 23 + "opacity" : 0.5 24 + }, 25 + "translucency" : { 26 + "enabled" : true, 27 + "value" : 0.5 28 + } 29 + } 30 + ], 31 + "supported-platforms" : { 32 + "circles" : [ 33 + "watchOS" 34 + ], 35 + "squares" : "shared" 36 + } 37 + }