{"scan":{"id":"42c523d4-5337-4337-b42d-8a3a1194beb6","inputUrl":"http://www.cidff04.org","url":"http://www.cidff04.org/","site":"cidff04.org","collectionId":"74e55664-7c15-4c39-bfa3-88d7686c3094","status":"success","error":null,"pageTitle":"Accueil - Alpes Haute Provence — CIDFF 04","finalUrl":"https://alpeshauteprovence.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/nos-formations/","https://alpeshauteprovence.cidff.info/services/lutte-contre-les-violences-sexistes/"],"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":11,"trackerdbVersion":"1.0.945","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:13:09.683Z","startedAt":"2026-09-01T13:22:53.972Z","finishedAt":"2026-09-01T13:23:09.128Z"},"pageAfterConsent":false,"half":{"id":"42c523d4-5337-4337-b42d-8a3a1194beb6","status":"success","at":"2026-08-21T13:13:09.683Z","pages":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/nos-formations/","https://alpeshauteprovence.cidff.info/services/lutte-contre-les-violences-sexistes/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0},"other":{"id":"ef12bd9b-0521-441f-87d3-74620c676108","status":"success","at":"2026-09-01T13:23:09.195Z","pages":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/nos-formations/","https://alpeshauteprovence.cidff.info/services/lutte-contre-les-violences-sexistes/"],"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":451064,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"www.cidff04.org","party":"first","addresses":["213.186.33.5"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":451065,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"alpeshauteprovence.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":451066,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"unpkg.com","party":"third","addresses":["104.18.0.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":451067,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.25.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":451068,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"c.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":451069,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"a.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":451070,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","hostname":"b.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":781647,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"behaviour","label":"MOUSE","source":"https://alpeshauteprovence.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4","details":["scroll"]},{"id":781648,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQuMTk0MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45NDI0MTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1GUyAoTUFJU09OIEZSQU5DRSBTRVJWSUNFUykgU0lTVEVST05gLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDM0IiwiY2VudHJlX2lkIjoiOTgiLCJub20iOiJNRlMgKE1BSVNPTiBGUkFOQ0UgU0VSVklDRVMpIFNJU1RFUk9OIiwibm9tX3NsdWciOiJtZnMtKG1haXNvbi1mcmFuY2Utc2VydmljZXMpLXNpc3Rlcm9uIiwiYWRyZXNzZSI6IjIyIGF2ZW51ZSBkZXMgQXJjYWRlcyIsImNwIjoiMDQyMDAiLCJ2aWxsZSI6IlNpc3Rlcm9uIiwidmlsbGVfc2x1ZyI6InNpc3Rlcm9uIiwiY2l0eV9pZCI6IjE3MjkiLCJlbWFpbCI6ImxhdGlsLXBAc2lzdGVyb24uZnIiLCJ0ZWxlcGhvbmUiOiIwNCA5MiAzMiAxNSA2OSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6Im5vbiByZW5zZWlnblx1MDBlOSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiI5aC0xMmggNFx1MDBlOCBqZXVkaSAoZHJvaXQgZGUgbGEgZmFtaWxsZSlcbjEzaDMwLTE3aCA0XHUwMGU4IGpldWRpICAoZW1wbG9pKVxuIiwidm9sX2hyX2hlYmRvIjoibm9uIHJlbnNlaWduXHUwMGU5IiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjEiLCJ2IjoiMCIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1kZS1IdGUtUGNlIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQ0LjE5NDIzLCJsb24iOjUuOTQyNDE1LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ0LjE5NDIzLDUuOTQyNDE1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My45NTgzODUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS43NzYyOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTVNBUCBGT1JDQUxRVUlFUiAoIE1haXNvbiBkZXMgU2VydmljZXMgYXUgUHVibGljIClgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDM4IiwiY2VudHJlX2lkIjoiOTgiLCJub20iOiJNU0FQIEZPUkNBTFFVSUVSICggTWFpc29uIGRlcyBTZXJ2aWNlcyBhdSBQdWJsaWMgKSIsIm5vbV9zbHVnIjoibXNhcC1mb3JjYWxxdWllci0oLW1haXNvbi1kZXMtc2VydmljZXMtYXUtcHVibGljLSktIiwiYWRyZXNzZSI6IjQgIEF2ZW51ZSBkZSBsJ09ic2VydmF0b2lyZSIsImNwIjoiMDQzMDAiLCJ2aWxsZSI6IkZvcmNhbHF1aWVyIiwidmlsbGVfc2x1ZyI6ImZvcmNhbHF1aWVyIiwiY2l0eV9pZCI6IjE2MjQiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IjA0IDkyIDc1IDQ2IDIxIiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiTWFpc29uIGRlIFNlcnZpY2UgYXUgUHVibGljIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlBlcm1hbmVuY2UgbWVuc3VlbGxlIHN1ciByZHYgdW5pcXVlbWVudCBwcmlzIGF1IENJREZGXG4yZW1lIGpldWRpIGR1IG1vaXMiLCJ2b2xfaHJfaGViZG8iOiIzSFwvIE1PSVMiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuOTU4Mzg1LCJsb24iOjUuNzc2MjgsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuOTU4Mzg1LDUuNzc2MjgsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LjA5MTgzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjIzOTUzNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgVHJpYnVuYWwgZGUgRGlnbmVzLWxlcy1CYWluc2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NDEiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6IlRyaWJ1bmFsIGRlIERpZ25lcy1sZXMtQmFpbnMiLCJub21fc2x1ZyI6InRyaWJ1bmFsLWRlLWRpZ25lc2xlc2JhaW5zIiwiYWRyZXNzZSI6IjYgUGxhY2UgZGVzIFJcdTAwZTljb2xsZXRzIiwiY3AiOiIwNDAwMCIsInZpbGxlIjoiRGlnbmUtbGVzLUJhaW5zIiwidmlsbGVfc2x1ZyI6ImRpZ25lbGVzYmFpbnMiLCJjaXR5X2lkIjoiMTYxMSIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgMzEgMDUgMjEiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJUcmlidW5hbCBkZSBHcmFuZGUgSW5zdGFuY2UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiOWggLTEyaCAxZXIsIDNcdTAwZThtZSBldCA1XHUwMGU4bWUgdmVuZHJlZGkiLCJ2b2xfaHJfaGViZG8iOiIzLjUiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDQuMDkxODMyLCJsb24iOjYuMjM5NTM2LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ0LjA5MTgzMiw2LjIzOTUzNiwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC93d3cuY2lkZmYwNC5vcmcifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQuMzg2Mzg2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuNjUwMjk0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBQRVJNIFZJU0lPIE1GUyBCQVJDRUxPYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjIzOCIsImNlbnRyZV9pZCI6Ijk4Iiwibm9tIjoiUEVSTSBWSVNJTyBNRlMgQkFSQ0VMTyIsIm5vbV9zbHVnIjoicGVybS12aXNpby1tZnMtYmFyY2VsbyIsImFkcmVzc2UiOiJQbGFjZSBWYWxsZSBkZSBCcmF2byIsImNwIjoiMDQ0MDAiLCJ2aWxsZSI6IkJhcmNlbG9ubmV0dGUiLCJ2aWxsZV9zbHVnIjoiYmFyY2Vsb25uZXR0ZSIsImNpdHlfaWQiOiIxNTY4IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJNQUlTT04gRlJBTkNFIFNFUlZJQ0UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiOWgtMTJoIDNcdTAwZTggbWVyY3JlZGkiLCJ2b2xfaHJfaGViZG8iOiIzSCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOm51bGwsInR5cGUyIjpudWxsLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1kZS1IdGUtUGNlIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQ0LjM4NjM4NiwibG9uIjo2LjY1MDI5NCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0NC4zODYzODYsNi42NTAyOTQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjgzMzg3OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Ljc4Mzc0MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIFNpbW9uZSBWZWlsYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjQ4OCIsImNlbnRyZV9pZCI6Ijk4Iiwibm9tIjoiTWFpc29uIFNpbW9uZSBWZWlsIiwibm9tX3NsdWciOiJtYWlzb24tc2ltb25lLXZlaWwiLCJhZHJlc3NlIjoiMTUsIHJ1ZSBKZWFuIEphY3F1ZXMgUm91c3NlYXUiLCJjcCI6IjA0MTAwIiwidmlsbGUiOiJNYW5vc3F1ZSIsInZpbGxlX3NsdWciOiJtYW5vc3F1ZSIsImNpdHlfaWQiOiIxNjQ0IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJDSURGRiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiI5SC0xMkggMTNIMzAgMTdIIiwidm9sX2hyX2hlYmRvIjoiMzFIIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOm51bGwsImFjY2Vzc2liaWxpdGUzIjpudWxsLCJhY2Nlc3NpYmlsaXRlNCI6bnVsbCwiYWNjZXNzaWJpbGl0ZTUiOiJDZXR0ZSBwZXJtYW5lbmNlIG5cdTIwMTllc3QgcGFzIGFjY2Vzc2libGUgYXV4IHBlcnNvbm5lcyBlbiBzaXR1YXRpb24gZGUgaGFuZGljYXAiLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtZGUtSHRlLVBjZSIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My44MzM4NzksImxvbiI6NS43ODM3NDIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuODMzODc5LDUuNzgzNzQyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NC4wNzE5OTksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45OTQwODEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1BSVNPTiBGUkFOQ0UgU0VSVklDRSBTVCBBVUJBTmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjI1MTgiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6Ik1BSVNPTiBGUkFOQ0UgU0VSVklDRSBTVCBBVUJBTiIsIm5vbV9zbHVnIjoibWFpc29uLWZyYW5jZS1zZXJ2aWNlLXN0LWF1YmFuIiwiYWRyZXNzZSI6IjcgY291cnMgUFx1MDBlOWNoaW5leSIsImNwIjoiMDQ2MDAiLCJ2aWxsZSI6IkNoXHUwMGUydGVhdS1Bcm5vdXgtU2FpbnQtQXViYW4iLCJ2aWxsZV9zbHVnIjoiY2hhdGVhdWFybm91eHNhaW50YXViYW4iLCJjaXR5X2lkIjoiMTU5NCIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgMzcgMjUgOTQiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJtYWlzb24gZnJhbmNlIHNlcnZpY2UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiMlx1MDBlOG1lIGV0IDRcdTAwZThtZSB2ZW5kcmVkaSBhcHJcdTAwZThzIG1pZGkgKGRyb2l0IGRlIGxhIGZhbWlsbGUpXG40XHUwMGU4IGpldWRpIG1hdGluIChlbXBsb2kpIiwidm9sX2hyX2hlYmRvIjoiMTRIIDE3SCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjAiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6bnVsbCwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjpudWxsLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiQWxwZXMtZGUtSHRlLVBjZSIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0NC4wNzE5OTksImxvbiI6NS45OTQwODEsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDQuMDcxOTk5LDUuOTk0MDgxLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My44MzQwNzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS43ODEzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQ0NBUyBNYW5vc3F1ZSAoQ2VudHJlIENvbW11bmFsIGRcJ0FjdGlvbiBTb2NpYWxlKWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjMxNTEiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6IkNDQVMgTWFub3NxdWUgKENlbnRyZSBDb21tdW5hbCBkJ0FjdGlvbiBTb2NpYWxlKSIsIm5vbV9zbHVnIjoiY2Nhcy1tYW5vc3F1ZS0oY2VudHJlLWNvbW11bmFsLWRhY3Rpb24tc29jaWFsZSktIiwiYWRyZXNzZSI6IjE2IEJvdWxldmFyZCBDYXNpbWlyIFBlbGxvdXRpZXIgIiwiY3AiOiIwNDEwMCIsInZpbGxlIjoiTWFub3NxdWUiLCJ2aWxsZV9zbHVnIjoibWFub3NxdWUiLCJjaXR5X2lkIjoiMTY0NCIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgNzQgNDcgNDAiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoibWVyY3JlZGkgZGUgOWggXHUwMGUwIDEyaCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMCIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuODM0MDc5LCJsb24iOjUuNzgxMzIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuODM0MDc5LDUuNzgxMzIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRab29tID0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbU1vYmlsZSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWluWm9vbSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4Wm9vbSA9IDIwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbWFwID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCA9IG5ldyBMLm1hcChtYXBJZCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwuY29udHJvbC56b29tKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b21yaWdodCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3tzfS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vbGlnaHRfYWxsL3t6fS97eH0ve3l9e3J9LnBuZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblpvb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhab29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmFkZFRvKG1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkxID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTIgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk0ID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTUgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VycyA9IG5ldyBMLm1hcmtlckNsdXN0ZXJHcm91cCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwaWRlckxlZ1BvbHlsaW5lT3B0aW9uczogeyB3ZWlnaHQ6IDYwMCwgY29sb3I6ICcjMjIyJywgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDbHVzdGVyUmFkaXVzOiA0MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWluTWFya2VycyA9IG5ldyBMLmxheWVyR3JvdXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzUG9pbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBhZGRyZXNzUG9pbnRzW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGFbMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhWzNdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZHMgPSBuZXcgTC5MYXRMbmcoYVswXSwgYVsxXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VyID0geyBkYXRhOiBuZXcgTC5tYXJrZXIoY29vcmRzLCB7IHRpdGxlIH0pLCBzaWVnZTogZGF0YS5zaWVnZSB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTEnXSB8fCBkYXRhWydhY2Nlc19kcm9pdCddICkgbGF5ZXJDYXRlZ29yeTEucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMiddIHx8IGRhdGFbJ3Zpb2xlbmNlcyddICkgbGF5ZXJDYXRlZ29yeTIucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMyddIHx8IGRhdGFbJ2VtcGxvaSddICkgbGF5ZXJDYXRlZ29yeTMucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNCddIHx8IGRhdGFbJ3BhcmVudGFsaXRlJ10gKSBsYXllckNhdGVnb3J5NC5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmU1J10gfHwgZGF0YVsnYXV0cmUnXSApIGxheWVyQ2F0ZWdvcnk1LnB1c2gobWFya2VyKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlci5kYXRhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5wYW5Ubyhjb29yZHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdvbi1tYXJrZXItaW50ZXJhY3QnLCB7IGRldGFpbDogZGF0YSB9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFpbk1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRMYXllcihtYXJrZXJzKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJzVG9EaXNwbGF5ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygyKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDMpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyg1KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEsIC4uLmxheWVyQ2F0ZWdvcnkyLCAuLi5sYXllckNhdGVnb3J5MywgLi4ubGF5ZXJDYXRlZ29yeTQsIC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2Vyc1RvU2hvdyA9IFsuLi5uZXcgU2V0KGxheWVyc1RvRGlzcGxheSldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcmtlcnNUb1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbSA9IG1hcmtlcnNUb1Nob3dbaV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobS5zaWVnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRaSW5kZXhPZmZzZXQoMTAwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0SWNvbihjcmVhdGVNYWluTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIG1hcmtlcnMuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5maXRCb3VuZHMobWFya2Vycy5nZXRCb3VuZHMoKSwgeyBwYWRkaW5nOiBbIDEwLCAxMCBdIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1haW5NYXJrZXJzLmdldExheWVycygpWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXS5nZXRMYXRMbmcoKSwgNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zZXRWaWV3KFs0Ni41LCAyLjM0NTQ5MjNdLCAzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJhY3Rpb24gcnVsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsgLy8gRGlzYWJsZSBzY3JvbGwgaW50ZXJhY3Rpb24gYXQgZmlyc3QKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZW5hYmxlKCk7IC8vIFJlZW5hYmxlIHNjcm9sbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZGlzYWJsZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBSZWYuYWRkRXZlbnRMaXN0ZW5lcignb24tbWFya2VyLWludGVyYWN0JywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2l0ZURldGFpbHMoZS5kZXRhaWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoaWRlRGV0YWlsc0V2ZW50cyA9IFsnY2xpY2snLCAnbW92ZXN0YXJ0J10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRGV0YWlsc0V2ZW50cy5mb3JFYWNoKGUgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcihlLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAiRXNjYXBlIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU1hcmtlcihjbGFzc05hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2FscGVzaGF1dGVwcm92ZW5jZS5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtc2Vjb25kYXJ5LWZpbGxlZC53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsxOCwgMjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdodHRwczovL2FscGVzaGF1dGVwcm92ZW5jZS5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLXNoYWRvdy53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93U2l6ZTogWzI1LCAyNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0FuY2hvcjogWzQsIDE1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU1haW5NYXJrZXIoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMLmljb24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9hbHBlc2hhdXRlcHJvdmVuY2UuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyOCwgMzNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdodHRwczovL2FscGVzaGF1dGVwcm92ZW5jZS5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLXNoYWRvdy53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93U2l6ZTogWzMwLCAzMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0FuY2hvcjogWzQsIDE2XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNldFNpdGVEZXRhaWxzKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2l0ZURldGFpbHMoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZU1vcmVLZXkgPSBkYXRhLnNpZWdlID8gYCR7bmV3IFN0cmluZyhkYXRhLm5vbSkucmVwbGFjZSgvXFx8XCx8XHMvZ2ksICctJykudG9Mb3dlckNhc2UoKX0tJHtkYXRhLmlkfWAgOiBgJHtkYXRhLm5vbV9zbHVnfS0ke2RhdGEuaWR9YAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZGF0YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10aXRsZSddIikuaW5uZXJIVE1MID0gZGF0YS5ub207CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXNlZS1tb3JlJ10iKS5ocmVmID0gYGh0dHBzOi8vYWxwZXNoYXV0ZXByb3ZlbmNlLmNpZGZmLmluZm8vbGlzdGUtZGVzLXBlcm1hbmVuY2VzLz9kZXBhcnRlbWVudD0ke2RhdGEuZGVwYXJ0ZW1lbnR9JmNlbnRyZS1pZD0ke3NlZU1vcmVLZXl9YDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuaG9yYWlyZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3VycyddIikuaW5uZXJIVE1MID0gZGF0YS5ob3JhaXJlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1sb2NhdGlvbiddIikuaW5uZXJIVE1MID0gYCR7ZGF0YS5hZHJlc3NlfSwgJHtkYXRhLmNwfSAke2RhdGEudmlsbGV9YDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEudGVsZXBob25lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbCddIikuaW5uZXJIVE1MID0gZGF0YS50ZWxlcGhvbmU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbC13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUxIHx8IGRhdGEuYWNjZXNfZHJvaXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTEnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0xJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUyIHx8IGRhdGEuZW1wbG9pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0yJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMiddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMyB8fCBkYXRhLnZpb2xlbmNlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMyddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTMnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTQgfHwgZGF0YS5wYXJlbnRhbGl0ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtNCddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTQnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGhpZGVTaXRlRGV0YWlscygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2hvd1NpdGVEZXRhaWxzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiByZXNldE1hcExheW91dCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAub2ZmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbi1tYXAtcmVmcmVzaCIsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRNYXBMYXlvdXQoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RDYXRlZ29yaWVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhc3QtZmlsdGVyLWNhdGVnb3JpZXMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RDYXRlZ29yaWVzID0gSlNPTi5wYXJzZShsYXN0Q2F0ZWdvcmllcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcChsYXN0Q2F0ZWdvcmllcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbi1jYXRlZ29yeS1maWx0ZXItY2hhbmdlIiwgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZENhdGVnb3JpZXMgPSBlLmRldGFpbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLm9mZigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAg","details":["keydown"]}],"cookies":[],"software":[],"platforms":[{"id":64354,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":942439,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"first","kind":"image","requests":44,"bytes":1351395},{"id":942440,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"third","kind":"image","requests":4,"bytes":227441},{"id":942441,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"third","kind":"script","requests":4,"bytes":182095},{"id":942442,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"first","kind":"font","requests":12,"bytes":172599},{"id":942443,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"first","kind":"script","requests":29,"bytes":120085},{"id":942444,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"first","kind":"style","requests":13,"bytes":56751},{"id":942445,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"first","kind":"document","requests":3,"bytes":35225},{"id":942446,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"third","kind":"style","requests":3,"bytes":11863},{"id":942447,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","party":"third","kind":"document","requests":3,"bytes":281}],"dependencies":[{"id":293642,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"unpkg.com","requests":6,"bytes":140660,"kinds":["script","style"],"embedded":false},{"id":293643,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"a.basemaps.cartocdn.com","requests":2,"bytes":106259,"kinds":["image"],"embedded":false},{"id":293644,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"c.basemaps.cartocdn.com","requests":1,"bytes":62821,"kinds":["image"],"embedded":false},{"id":293645,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"b.basemaps.cartocdn.com","requests":1,"bytes":58361,"kinds":["image"],"embedded":false},{"id":293646,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"cdnjs.cloudflare.com","requests":1,"bytes":53298,"kinds":["script"],"embedded":false},{"id":293647,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","host":"www.cidff04.org","requests":3,"bytes":281,"kinds":["document"],"embedded":false}],"pixels":[],"headers":[{"id":290518,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":290519,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","name":"server","value":"Apache"},{"id":290520,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","name":"x-content-type-options","value":"nosniff"}],"identifiers":[],"domain":{"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","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:46.000Z","tlsValidTo":"2026-11-02T07:01:45.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-09-01T13:23:09.171Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":281527,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":281528,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":281529,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":281530,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":281531,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":473382,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":473383,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":473384,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"unknown","note":"ETIMEOUT"},{"id":473385,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":473386,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":473387,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":473388,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":473389,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":473390,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":473391,"scanId":"42c523d4-5337-4337-b42d-8a3a1194beb6","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}}