{"scan":{"id":"d6d84c56-f43a-44ae-a926-fdee1e960abd","inputUrl":"https://alpesmaritimes.cidff.info/","url":"https://alpesmaritimes.cidff.info/","site":"alpesmaritimes.cidff.info","collectionId":"74e55664-7c15-4c39-bfa3-88d7686c3094","status":"success","error":null,"pageTitle":"Accueil - Alpes-Maritimes — CIDFF","finalUrl":"https://alpesmaritimes.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://alpesmaritimes.cidff.info/","https://alpesmaritimes.cidff.info/adhesion-don/","https://alpesmaritimes.cidff.info/qui-sommes-nous/"],"device":"mobile","phase":"pre","postOf":null,"consentResult":null,"consentCmp":null,"language":"fr-FR","languageSource":"html-lang","acceptLanguage":"en-US","languageDocument":true,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"tcfCmpId":null,"blocked":null,"blockedBy":null,"totalTrackingRequests":0,"analysisVersion":10,"trackerdbVersion":"1.0.920","maxmindDate":"2026-06-17","collectorVersion":"3.11.0","wikidataQid":null,"wikidataConfidence":null,"priority":0,"runnerId":null,"leaseExpiresAt":null,"requiredTag":null,"avoidRunnerId":null,"attempts":1,"createdAt":"2026-08-21T13:00:01.336Z","startedAt":"2026-08-22T05:55:08.836Z","finishedAt":"2026-08-22T05:55:22.309Z"},"pageAfterConsent":false,"half":{"id":"d6d84c56-f43a-44ae-a926-fdee1e960abd","status":"success","at":"2026-08-21T13:00:01.336Z","pages":["https://alpesmaritimes.cidff.info/","https://alpesmaritimes.cidff.info/adhesion-don/","https://alpesmaritimes.cidff.info/qui-sommes-nous/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0},"other":{"id":"a21c991b-4b49-4a59-8812-f8da3cfe4a1c","status":"success","at":"2026-08-22T05:55:22.355Z","pages":["https://alpesmaritimes.cidff.info/","https://alpesmaritimes.cidff.info/adhesion-don/","https://alpesmaritimes.cidff.info/qui-sommes-nous/"],"consentResult":"nopopup","consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0,"phase":"post","trackerRows":[]},"trackers":[],"unidentified":[],"hosts":[{"id":98375,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"alpesmaritimes.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":98376,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"unpkg.com","party":"third","addresses":["104.18.1.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":98377,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.24.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":98378,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"b.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":98379,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"c.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":98380,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","hostname":"a.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null}],"consentManagers":[],"signals":[{"id":46290,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"behaviour","label":"MOUSE","source":"https://alpesmaritimes.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4","details":["scroll"]},{"id":46291,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNzc1NTEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTkyNDM0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDZW50cmUgc29jaWFsIFBhc3NlcmVsbGUgUC5BLlIuSSBNaXhcJ0NpdMOpYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTQ0NSIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiQ2VudHJlIHNvY2lhbCBQYXNzZXJlbGxlIFAuQS5SLkkgTWl4J0NpdFx1MDBlOSIsIm5vbV9zbHVnIjoiY2VudHJlLXNvY2lhbC1wYXNzZXJlbGxlLXBhcmktbWl4Y2l0ZSIsImFkcmVzc2UiOiIxNSBiaXMgcnVlIGR1IEJvc3F1ZXQiLCJjcCI6IjA2NTEwIiwidmlsbGUiOiJDYXJyb3MiLCJ2aWxsZV9zbHVnIjoiY2Fycm9zIiwiY2l0eV9pZCI6IjE5NjUiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IiIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6IkZyYW5jZSBzZXJ2aWNlIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkpVUklESVFVRSBMdW5kaSA5aC0xMmggZXQgMTNoMzAtMTZoMzAgc2VtYWluZSBpbXBhaXJlID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgTGEgUGFzc2VyZWxsZSBvdSAwNCA5MyAwOCA3OCAwMyBcL1wvIFBTWUNIT0xPR0lRVUUgTWFyZGkgOWgtMTJoIGV0IDEzaDMwLTE2aDMwID0+IHByaXNlIGRlIHJkdiBhdSBDSURGRjA2IG91IDA0IDkzIDcxIDU1IDY5XG4iLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjc3NTUxMywibG9uIjo3LjE5MjQzNCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43NzU1MTMsNy4xOTI0MzQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjU0ODkxNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Ljk4MDIxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQW50ZW5uZSBkZSBKdXN0aWNlIGRlIENhbm5lcy1sYS1Cb2NjYWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NDYiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkFudGVubmUgZGUgSnVzdGljZSBkZSBDYW5uZXMtbGEtQm9jY2EiLCJub21fc2x1ZyI6ImFudGVubmUtZGUtanVzdGljZS1kZS1jYW5uZXNsYWJvY2NhIiwiYWRyZXNzZSI6IjIgcnVlIGRlIGxhIFZlcnJlcmllIiwiY3AiOiIwNjE1MCIsInZpbGxlIjoiQ2FubmVzIiwidmlsbGVfc2x1ZyI6ImNhbm5lcyIsImNpdHlfaWQiOiIxOTYxIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA4OSA4MiAyMiAwMCIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFudGVubmUgZGUgSnVzdGljZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKZXVkaSAxM2gzMC0xN2giLCJ2b2xfaHJfaGViZG8iOiIzaDMwIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjU0ODkxNywibG9uIjo2Ljk4MDIxMiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NDg5MTcsNi45ODAyMTIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjcwNjMzOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI2MzQwMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQ2VudHJlIHNvY2lhbCBMYSBSdWNoZSAoc2VtZXVzZSlgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDUxIiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJDZW50cmUgc29jaWFsIExhIFJ1Y2hlIChzZW1ldXNlKSIsIm5vbV9zbHVnIjoiY2VudHJlLXNvY2lhbC1sYS1ydWNoZS0oc2VtZXVzZSkiLCJhZHJlc3NlIjoiNSBydWUgVHJhY2hlbCIsImNwIjoiMDYwMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ2aWxsZV9zbHVnIjoibmljZSIsImNpdHlfaWQiOiIyMDIwIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIxIiwienJyIjoiMCIsImFjY3VlaWwiOiJBc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKVVJJRElRVUUgTWFyZGkgOWgtMTJoID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgbGEgUnVjaGUgXC9cLyBQU1lDSE9MT0dJUVVFIE1hcmRpIDE0aC0xOGggPT4gcHJpc2UgZGUgcmR2IGF1IENJREZGMDYgb3UgMDQgOTMgNzEgNTUgNjkiLCJ2b2xfaHJfaGViZG8iOiI2aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjoiQXV0cmUiLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjcwNjMzOCwibG9uIjo3LjI2MzQwMywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43MDYzMzgsNy4yNjM0MDMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjczNzQzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjMwMjU4MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTUpEIE5pY2VgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDU0IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJNSkQgTmljZSIsIm5vbV9zbHVnIjoibWpkLW5pY2UiLCJhZHJlc3NlIjoiNTIgcnVlIEFuYXRvbGUgZGUgTW9uemllIiwiY3AiOiIwNjMwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6Im1qZC1uaWNlQGp1c3RpY2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA5NyAwMCAwMyA5MCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6Ik1haXNvbiBkZSBKdXN0aWNlIGV0IGR1IERyb2l0IiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkpldWRpIDloLTE3aCBzZW1haW5lIHBhaXJlID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgbGEgTUpEIGRlIE5pY2Ugb3UgMDQgOTcgMDAgMDMgOTAgb3UgbWpkLW5pY2VAanVzdGljZS5mciIsInZvbF9ocl9oZWJkbyI6IjdoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My43Mzc0MzEsImxvbiI6Ny4zMDI1ODIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNzM3NDMxLDcuMzAyNTgyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My41NDU1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Ljk2Mjk2MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGFyY291cnMgZGUgZmVtbWVzIC0gRVNDQUxgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDU2IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJQYXJjb3VycyBkZSBmZW1tZXMgLSBFU0NBTCIsIm5vbV9zbHVnIjoicGFyY291cnMtZGUtZmVtbWVzLS1lc2NhbCIsImFkcmVzc2UiOiJBdmVudWUgZHUgY2VudHJlIiwiY3AiOiIwNjE1MCIsInZpbGxlIjoiQ2FubmVzIiwidmlsbGVfc2x1ZyI6ImNhbm5lcyIsImNpdHlfaWQiOiIxOTYxIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJBc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKZXVkaSA5aC0xN2ggPT4gcHJpc2UgZGUgcmR2IDA0IDkzIDcxIDU1IDY5Iiwidm9sX2hyX2hlYmRvIjoiM2giLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My41NDU1NSwibG9uIjo2Ljk2Mjk2MywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NDU1NSw2Ljk2Mjk2MywxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNzIyNjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjg3MDcxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBFc3BhY2UgbXVsdGkgc2VydmljZXMgUGFzdGV1cmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NjAiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkVzcGFjZSBtdWx0aSBzZXJ2aWNlcyBQYXN0ZXVyIiwibm9tX3NsdWciOiJlc3BhY2UtbXVsdGktc2VydmljZXMtcGFzdGV1ciIsImFkcmVzc2UiOiIxODEgUXVhaSBkdSBNYXJcdTAwZTljaGFsIEx5YXV0ZXkgIiwiY3AiOiIwNjAwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IiIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkVzcGFjZSBNdWx0aSBTZXJ2aWNlcyBQYXN0ZXVyIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6Ik1lcmNyZWRpIHNlbWFpbmUgcGFpcmUgOWgtMTJoID0+IHByaXNlIGRlIHJkdiBhdSBDSURGRjA2IG91IDA0IDkzIDcxIDU1IDY5Iiwidm9sX2hyX2hlYmRvIjoiMWgxNSIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My43MjI2NTYsImxvbiI6Ny4yODcwNzEsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNzIyNjU2LDcuMjg3MDcxLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My42OTUxNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIyODc2MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIGRlIHNhbnTDqSBkZXMgRmVtbWVzIGRlcyBBbHBlcy1NYXJpdGltZXNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDY3IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJNYWlzb24gZGUgc2FudFx1MDBlOSBkZXMgRmVtbWVzIGRlcyBBbHBlcy1NYXJpdGltZXMiLCJub21fc2x1ZyI6Im1haXNvbi1kZS1zYW50ZS1kZXMtZmVtbWVzLWRlcy1hbHBlc21hcml0aW1lcyIsImFkcmVzc2UiOiIxNTEgcm91dGUgZGUgU2FpbnQgQW50b2luZSBkZSBHaW5lc3RpZXJlIiwiY3AiOiIwNjIwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6Im1haXNvbmRlc2ZlbW1lczA2QGNodS1uaWNlLmZyIiwidGVsZXBob25lIjoiMDQgOTIgMDMgMjEgMTAiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJIXHUwMGY0cGl0YWwiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiSmV1ZGkgMTNoIC0gMTdoIiwidm9sX2hyX2hlYmRvIjoiM2gzMCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjY5NTE3LCJsb24iOjcuMjI4NzYyLCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjY5NTE3LDcuMjI4NzYyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My43MDQ5ODUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yNjgxMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBhc3NcJ1JcJ0VsbGVzYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTQ2OCIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiUGFzcydSJ0VsbGVzIiwibm9tX3NsdWciOiJwYXNzcmVsbGVzIiwiYWRyZXNzZSI6IkNDQVMgZGUgTmljZSIsImNwIjoiMDYwMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ2aWxsZV9zbHVnIjoibmljZSIsImNpdHlfaWQiOiIyMDIwIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA5NyAxMyAzOSA0NiIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFjY3VlaWwgZGUgam91ciBwb3VyIGxlcyBGZW1tZXMgdmljdGltZXMgZGUgdmlvbGVuY2VzIGNvbmp1Z2FsZXMiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTHVuZGkgOWgtMTdoID0+IHByaXNlIGRlIHJkdiBzdXIgcGxhY2Ugb3UgMDQgOTcgMTMgMzkgNDYiLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjcwNDk4NSwibG9uIjo3LjI2ODExMiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43MDQ5ODUsNy4yNjgxMTIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjY5ODU2NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI1NzgxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgU2nDqGdlIENJREZGYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTgzNiIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiU2lcdTAwZThnZSBDSURGRiIsIm5vbV9zbHVnIjoic2llZ2UtY2lkZmYiLCJhZHJlc3NlIjoiMiwgcnVlIEd1aWdsaWEiLCJjcCI6IjA2MDAwIiwidmlsbGUiOiJOaWNlIiwidmlsbGVfc2x1ZyI6Im5pY2UiLCJjaXR5X2lkIjoiMjAyMCIsImVtYWlsIjoiY29udGFjdEBjaWRmZjA2LmNvbSIsInRlbGVwaG9uZSI6IjA0IDkzIDcxIDU1IDY5IiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiU2lcdTAwZThnZSBhc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMdW5kaSBhdSB2ZW5kcmVkaSA4aDMwLTEyaDE1IGV0IDEzaC0xN2ggKEhPUlMgVkVORFJFREkgTUFUSU4pIiwidm9sX2hyX2hlYmRvIjoiMzhoNDUiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjpudWxsLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjY5ODU2NiwibG9uIjo3LjI1NzgxNiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My42OTg1NjYsNy4yNTc4MTYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjU3ODAxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjA1NTA5NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQW50ZW5uZSBkZSBqdXN0aWNlIGRlIFZhbGxhdXJpc2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjIxNTkiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkFudGVubmUgZGUganVzdGljZSBkZSBWYWxsYXVyaXMiLCJub21fc2x1ZyI6ImFudGVubmUtZGUtanVzdGljZS1kZS12YWxsYXVyaXMiLCJhZHJlc3NlIjoiNiwgYm91bGV2YXJkIEphY3F1ZXMgVWdvIiwiY3AiOiIwNjIyMCIsInZpbGxlIjoiVmFsbGF1cmlzIiwidmlsbGVfc2x1ZyI6InZhbGxhdXJpcyIsImNpdHlfaWQiOiIyMDg3IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA5MiAxOSA3NiAyMCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFudGVubmUgZGUganVzdGljZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJNZXJjcmVkaSA5aC0xMmgzMCBldCAxM2gzMC0xN2hcblNlbWFpbmUgcGFpcmUiLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjoiQXV0cmUiLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjU3ODAxNiwibG9uIjo3LjA1NTA5NiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NzgwMTYsNy4wNTUwOTYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjcyMTk5NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjExNzQ4NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTGEgU291cmNlLCBjZW50cmUgc29jaWFsIElTSSBNb250am95ZWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjI0NjciLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkxhIFNvdXJjZSwgY2VudHJlIHNvY2lhbCBJU0kgTW9udGpveWUiLCJub21fc2x1ZyI6ImxhLXNvdXJjZSwtY2VudHJlLXNvY2lhbC1pc2ktbW9udGpveWUiLCJhZHJlc3NlIjoiMTc3LCBib3VsZXZhcmQgQWxwaG9uc2UgVG9yZWlsbGUiLCJjcCI6IjA2MTQwIiwidmlsbGUiOiJWZW5jZSIsInZpbGxlX3NsdWciOiJ2ZW5jZSIsImNpdHlfaWQiOiIyMDg5IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJDZW50cmUgc29jaWFsIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6Ik1hcmRpIDEzaDMwLTE3aCA9PiBwcmlzZSBkZSByZHYgYXUgQ0lERkYwNiBvdSAwNCA5MyA3MSA1NSA2OSIsInZvbF9ocl9oZWJkbyI6IjNoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOiJBdXRyZSIsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOiJBdXRyZSIsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1NYXJpdGltZXMiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuNzIxOTk3LCJsb24iOjcuMTE3NDg0LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjcyMTk5Nyw3LjExNzQ4NCwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNjk4NTY2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjU3ODE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBBbHBlcy1NYXJpdGltZXMsIE5pY2VgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiI5OSIsIm5vbSI6IkFscGVzLU1hcml0aW1lcywgTmljZSIsImFkcmVzc2UiOiIyIHJ1ZSBHdWlnbGlhICIsImNwIjoiMDYwMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ0ZWxlcGhvbmUiOiIwNCA5MyA3MSA1NSA2OSIsIm1haWwiOiJjb250YWN0QGNpZGZmMDYuY29tIiwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8iLCJhY2Nlc19kcm9pdCI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImVtcGxvaSI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwidmlvbGVuY2VzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsInBhcmVudGFsaXRlIjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImF1dHJlIjoiQXV0cmUiLCJzaWVnZSI6dHJ1ZSwiY29vcmRzIjp7ImxhdCI6NDMuNjk4NTY2LCJsb24iOjcuMjU3ODE2LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjY5ODU2Niw3LjI1NzgxNiwxNXoifSwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRab29tID0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbU1vYmlsZSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWluWm9vbSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4Wm9vbSA9IDIwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbWFwID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCA9IG5ldyBMLm1hcChtYXBJZCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwuY29udHJvbC56b29tKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b21yaWdodCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3tzfS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vbGlnaHRfYWxsL3t6fS97eH0ve3l9e3J9LnBuZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblpvb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhab29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmFkZFRvKG1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkxID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTIgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk0ID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTUgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VycyA9IG5ldyBMLm1hcmtlckNsdXN0ZXJHcm91cCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwaWRlckxlZ1BvbHlsaW5lT3B0aW9uczogeyB3ZWlnaHQ6IDYwMCwgY29sb3I6ICcjMjIyJywgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDbHVzdGVyUmFkaXVzOiA0MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWluTWFya2VycyA9IG5ldyBMLmxheWVyR3JvdXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzUG9pbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBhZGRyZXNzUG9pbnRzW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGFbMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhWzNdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZHMgPSBuZXcgTC5MYXRMbmcoYVswXSwgYVsxXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VyID0geyBkYXRhOiBuZXcgTC5tYXJrZXIoY29vcmRzLCB7IHRpdGxlIH0pLCBzaWVnZTogZGF0YS5zaWVnZSB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTEnXSB8fCBkYXRhWydhY2Nlc19kcm9pdCddICkgbGF5ZXJDYXRlZ29yeTEucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMiddIHx8IGRhdGFbJ3Zpb2xlbmNlcyddICkgbGF5ZXJDYXRlZ29yeTIucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMyddIHx8IGRhdGFbJ2VtcGxvaSddICkgbGF5ZXJDYXRlZ29yeTMucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNCddIHx8IGRhdGFbJ3BhcmVudGFsaXRlJ10gKSBsYXllckNhdGVnb3J5NC5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmU1J10gfHwgZGF0YVsnYXV0cmUnXSApIGxheWVyQ2F0ZWdvcnk1LnB1c2gobWFya2VyKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlci5kYXRhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5wYW5Ubyhjb29yZHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdvbi1tYXJrZXItaW50ZXJhY3QnLCB7IGRldGFpbDogZGF0YSB9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFpbk1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRMYXllcihtYXJrZXJzKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJzVG9EaXNwbGF5ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygyKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDMpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyg1KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEsIC4uLmxheWVyQ2F0ZWdvcnkyLCAuLi5sYXllckNhdGVnb3J5MywgLi4ubGF5ZXJDYXRlZ29yeTQsIC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2Vyc1RvU2hvdyA9IFsuLi5uZXcgU2V0KGxheWVyc1RvRGlzcGxheSldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcmtlcnNUb1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbSA9IG1hcmtlcnNUb1Nob3dbaV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobS5zaWVnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRaSW5kZXhPZmZzZXQoMTAwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0SWNvbihjcmVhdGVNYWluTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIG1hcmtlcnMuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5maXRCb3VuZHMobWFya2Vycy5nZXRCb3VuZHMoKSwgeyBwYWRkaW5nOiBbIDEwLCAxMCBdIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1haW5NYXJrZXJzLmdldExheWVycygpWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXS5nZXRMYXRMbmcoKSwgNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zZXRWaWV3KFs0Ni41LCAyLjM0NTQ5MjNdLCAzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJhY3Rpb24gcnVsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsgLy8gRGlzYWJsZSBzY3JvbGwgaW50ZXJhY3Rpb24gYXQgZmlyc3QKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZW5hYmxlKCk7IC8vIFJlZW5hYmxlIHNjcm9sbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZGlzYWJsZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBSZWYuYWRkRXZlbnRMaXN0ZW5lcignb24tbWFya2VyLWludGVyYWN0JywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2l0ZURldGFpbHMoZS5kZXRhaWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoaWRlRGV0YWlsc0V2ZW50cyA9IFsnY2xpY2snLCAnbW92ZXN0YXJ0J10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRGV0YWlsc0V2ZW50cy5mb3JFYWNoKGUgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcihlLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAiRXNjYXBlIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU1hcmtlcihjbGFzc05hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1zZWNvbmRhcnktZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzE4LCAyM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC1zaGFkb3cud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1NpemU6IFsyNSwgMjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dBbmNob3I6IFs0LCAxNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYWluTWFya2VyKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTC5pY29uKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyOCwgMzNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdodHRwczovL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMzAsIDMwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2l0ZURldGFpbHMoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaXRlRGV0YWlscygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlTW9yZUtleSA9IGRhdGEuc2llZ2UgPyBgJHtuZXcgU3RyaW5nKGRhdGEubm9tKS5yZXBsYWNlKC9cXHxcLHxccy9naSwgJy0nKS50b0xvd2VyQ2FzZSgpfS0ke2RhdGEuaWR9YCA6IGAke2RhdGEubm9tX3NsdWd9LSR7ZGF0YS5pZH1gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRpdGxlJ10iKS5pbm5lckhUTUwgPSBkYXRhLm5vbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtc2VlLW1vcmUnXSIpLmhyZWYgPSBgaHR0cHM6Ly9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvL2xpc3RlLWRlcy1wZXJtYW5lbmNlcy8/ZGVwYXJ0ZW1lbnQ9JHtkYXRhLmRlcGFydGVtZW50fSZjZW50cmUtaWQ9JHtzZWVNb3JlS2V5fWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmhvcmFpcmVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMnXSIpLmlubmVySFRNTCA9IGRhdGEuaG9yYWlyZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtbG9jYXRpb24nXSIpLmlubmVySFRNTCA9IGAke2RhdGEuYWRyZXNzZX0sICR7ZGF0YS5jcH0gJHtkYXRhLnZpbGxlfWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnRlbGVwaG9uZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwnXSIpLmlubmVySFRNTCA9IGRhdGEudGVsZXBob25lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMSB8fCBkYXRhLmFjY2VzX2Ryb2l0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0xJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMiB8fCBkYXRhLmVtcGxvaSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMiddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTMgfHwgZGF0YS52aW9sZW5jZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTMnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmU0IHx8IGRhdGEucGFyZW50YWxpdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTQnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBoaWRlU2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dTaXRlRGV0YWlscygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVzZXRNYXBMYXlvdXQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLm9mZigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tbWFwLXJlZnJlc2giLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0TWFwTGF5b3V0KCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0Q2F0ZWdvcmllcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0LWZpbHRlci1jYXRlZ29yaWVzJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0Q2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Q2F0ZWdvcmllcyA9IEpTT04ucGFyc2UobGFzdENhdGVnb3JpZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAobGFzdENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tY2F0ZWdvcnktZmlsdGVyLWNoYW5nZSIsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDYXRlZ29yaWVzID0gZS5kZXRhaWw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIA==","details":["keydown"]}],"cookies":[],"software":[],"platforms":[{"id":2427,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":39786,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"first","kind":"image","requests":45,"bytes":1840821},{"id":39787,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"third","kind":"image","requests":6,"bytes":197404},{"id":39788,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"third","kind":"script","requests":4,"bytes":182139},{"id":39789,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"first","kind":"font","requests":12,"bytes":172599},{"id":39790,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"first","kind":"script","requests":29,"bytes":120094},{"id":39791,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"first","kind":"style","requests":13,"bytes":56724},{"id":39792,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"first","kind":"document","requests":3,"bytes":34993},{"id":39793,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","party":"third","kind":"style","requests":3,"bytes":11823}],"dependencies":[],"pixels":[],"headers":[{"id":10457,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","name":"x-content-type-options","value":"nosniff"},{"id":10455,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":10456,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","name":"server","value":"Apache"}],"identifiers":[],"domain":{"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","domain":"cidff.info","dnssec":"signed","ipv6":false,"ipv6Reachable":null,"ipv6Reason":"no-aaaa","spf":false,"dmarcPolicy":null,"dnsError":null,"tlsProtocol":"TLSv1.3","tlsCipher":"TLS_AES_256_GCM_SHA384","tlsAlpn":"h2","tlsIssuer":"Let's Encrypt","tlsValidFrom":"2026-08-04T07:01:57.000Z","tlsValidTo":"2026-11-02T07:01:56.000Z","tlsAuthorized":true,"tlsError":null,"registrar":null,"registeredAt":null,"expiresAt":null,"holderCountry":null,"rdapSource":"rdap.identitydigital.services","rdapError":"réponse 400 du registre","robotsFound":false,"robotsAllows":true,"adsFound":false,"adsPartners":0,"securityFound":false,"securityContact":null,"probedAt":"2026-08-22T05:55:22.330Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":27734,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":27735,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":27736,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":27737,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":27738,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":40581,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":40582,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":40583,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"allowed","note":null},{"id":40584,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":40585,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":40586,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":40587,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":40588,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":40589,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":40590,"scanId":"d6d84c56-f43a-44ae-a926-fdee1e960abd","resolver":"OpenDNS Famille","resolverIp":"208.67.222.123","kind":"family","verdict":"unknown","note":"EREFUSED"}],"threats":[],"wayback":null,"cnames":[],"reputation":[],"webcompat":{"consulted":false,"rules":0,"updatedAt":null,"flags":[]},"wikidata":{"entities":{"Q34045622":{"qid":"Q34045622","label":"Fastly","description":"entreprise américaine de cloud computing","officialWebsite":"https://www.fastly.com","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Fastly%20logo.svg","tosdrId":"9951","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Fastly","fr":"https://fr.wikipedia.org/wiki/Fastly"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:56.758Z"},"Q568183":{"qid":"Q568183","label":"OVHcloud","description":"hébergeur de sites web français","officialWebsite":"https://www.ovhcloud.com/en/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Logo%20OVH.svg","tosdrId":null,"influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/OVHcloud","fr":"https://fr.wikipedia.org/wiki/OVHcloud"},"parentQid":null,"countryCode":"FR","countryLabel":"France","fetchedAt":"2026-10-18T15:08:27.232Z"},"Q4778915":{"qid":"Q4778915","label":"Cloudflare","description":"entreprise américaine spécialisée dans la sécurité et les services web","officialWebsite":"https://www.cloudflare.com/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Cloudflare%20Logo.svg","tosdrId":"894","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Cloudflare","fr":"https://fr.wikipedia.org/wiki/Cloudflare"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:57.236Z"}},"asnToQid":{"13335":"Q4778915","16276":"Q568183","54113":"Q34045622"}},"siteMatch":{"qid":null,"confidence":null,"decided":false}}