4.9 sec in total
324 ms
3.7 sec
910 ms
Welcome to wisch-star.de homepage info - get ready to check WISCH STAR best content for Germany right away, or after learning these important things about wisch-star.de
Reinigungsmittel online kaufen, Reinigungsbedarf & Reinigungswagen. Profi Reinigungsmittel Online Shop für Gewerbe & Privat. Direkt vom Hersteller!
Visit wisch-star.deWe analyzed Wisch-star.de page load time and found that the first response time was 324 ms and then it took 4.6 sec to load all DOM resources and completely render a web page. This is a poor result, as 70% of websites can load faster.
wisch-star.de performance score
name
value
score
weighting
Value5.1 s
9/100
10%
Value10.7 s
0/100
25%
Value8.5 s
18/100
10%
Value1,010 ms
27/100
30%
Value0.369
29/100
15%
Value10.6 s
23/100
10%
324 ms
205 ms
1237 ms
355 ms
411 ms
Our browser made a total of 76 requests to load all elements on the main page. We found that 86% of them (65 requests) were addressed to the original Wisch-star.de, 7% (5 requests) were made to and 3% (2 requests) were made to Maxcdn.bootstrapcdn.com. The less responsive or slowest element that took the longest time to load (1.2 sec) belongs to the original domain Wisch-star.de.
Page size can be reduced by 371.7 kB (23%)
1.6 MB
1.2 MB
In fact, the total size of Wisch-star.de main page is 1.6 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 45% of websites need less resources to load. Images take 1.2 MB which makes up the majority of the site volume.
Potential reduce by 342.5 kB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. This page needs HTML code to be minified as it can gain 114.1 kB, which is 28% of the original size. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 342.5 kB or 85% of the original size.
Potential reduce by 27.4 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. WISCH STAR images are well optimized though.
Potential reduce by 764 B
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 764 B or 22% of the original size.
Potential reduce by 979 B
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Wisch-star.de needs all CSS files to be minified and compressed as it can save up to 979 B or 21% of the original size.
Number of requests can be reduced by 14 (21%)
66
52
The browser has sent 66 CSS, Javascripts, AJAX and image requests in order to completely render the main page of WISCH STAR. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 9 to 1 for JavaScripts and from 7 to 1 for CSS and as a result speed up the page load time.
wisch-star.de
324 ms
www.wisch-star.de
205 ms
www.wisch-star.de
1237 ms
wischstar.css
355 ms
plugin_css
411 ms
font-awesome.min.css
43 ms
jquery-1.11.3.min.js
39 ms
jquery-ui.min.js
45 ms
s360_powermenu.css
285 ms
reinigungsberater.js
291 ms
pdf_angebot.js
297 ms
plugin.min.js
296 ms
IGlkIDogbnVsbCwKCQkJCQkJCWRyb3BJZDogc3RhdGljID8gaWQ6IG51bGwsCgkJCQkJCQlvcHRpb25zOiBvcHRpb25zLAoJCQkJCQkJZm46IGZuLAoJCQkJCQkJcGFyYW1zOiBwYXJhbXMsCgkJCQkJCQl0b2tlbjogc2VsZi5faW9Ub2tlbiB8fCBudWxsCgkJCQkJCX0pCgkJCQkJfSwKCQkJCQlzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKCQkJCQkJcmV0dXJuIGNiKG51bGwsIHJlcyk7CgkJCQkJfSwKCQkJCQllcnJvcjogZnVuY3Rpb24oeGhyLCBzdGF0dXMsIGV4KSB7CgkJCQkJCXZhciBmYXVsdCA9ICd1bmtub3duJzsKCgkJCQkJCWlmICh4aHIucmVzcG9uc2VKU09OKSBmYXVsdCA9IHhoci5yZXNwb25zZUpTT047CgkJCQkJCWVsc2UgaWYgKHhoci5yZXNwb25zZVRleHQpIGZhdWx0ID0geGhyLnJlc3BvbnNlVGV4dDsKCQkJCQkJZWxzZSBpZiAoZXggJiYgZXgubWVzc2FnZSkgZmF1bHQgPSBleC5tZXNzYWdlOwoJCQkJCQllbHNlIGlmICh0eXBlb2YoZXgpID09PSAnc3RyaW5nJykgZmF1bHQgPSBleDsKCQkJCQkJZWxzZSBpZiAoc3RhdHVzKSBmYXVsdCA9IHN0YXR1czsKCgkJCQkJCXJldHVybiBjYihmYXVsdCwgbnVsbCk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCgkJfTsKCX0KCn07CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRHJvcEluc3RhbmNlIENsYXNzCgogY3JlYXRlcyBhbiBpbnN0YW5jZSB3aGljaCBpcyBib3VuZAogdG8gYSBzcGVjaWZpYyBkcm9wIGluIHRoZSBkb20KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCnZhciBEcm9wSW5zdGFuY2UgPSBmdW5jdGlvbigkZHJvcCkgewoJdGhpcy5faW5pdCgkZHJvcCk7Cn07CgpEcm9wSW5zdGFuY2UucHJvdG90eXBlID0gewoJX2luaXQ6IGZ1bmN0aW9uKCRkcm9wKSB7CgkJdGhpcy5fbGlzdGVuZXJzID0ge307CgkJdGhpcy4kID0gJGRyb3A7Cgl9LAoKCW9uOiBmdW5jdGlvbihldnQsIGNhbGxiYWNrKSB7CgoJCWlmICghdGhpcy5fbGlzdGVuZXJzW2V2dF0pIHsKCQkJdGhpcy5fbGlzdGVuZXJzW2V2dF0gPSBbXTsKCQl9CgkJaWYgKHRoaXMuX2xpc3RlbmVyc1tldnRdLmluZGV4T2YoY2FsbGJhY2spIDwgMCkgewoJCQl0aGlzLl9saXN0ZW5lcnNbZXZ0XS5wdXNoKGNhbGxiYWNrKTsKCQl9Cgl9LAoKCXRyaWdnZXI6IGZ1bmN0aW9uKGV2dCwgZGF0YSkgewoJCWlmIChldnQgJiYgdGhpcy5fbGlzdGVuZXJzW2V2dF0gJiYgdGhpcy5fbGlzdGVuZXJzW2V2dF0ubGVuZ3RoKSB7CgkJCWZvciAodmFyIGk9MDsgaTx0aGlzLl9saXN0ZW5lcnNbZXZ0XS5sZW5ndGg7IGkrKykgewoJCQkJdGhpcy5fbGlzdGVuZXJzW2V2dF1baV0oZGF0YSk7CgkJCX0KCQl9Cgl9LAoKCV9yZWxvYWQ6IGZ1bmN0aW9uKCkgewoJCURyb3BwZXJGcmFtZXdvcmsuaW5pdERyb3BzKHRoaXMuJCk7Cgl9LAoJCgl2aXNpYmxlOiBmdW5jdGlvbihjYiwgY2hlY2tJbnRlcnZhbCkgewoJCXZhciBzZWxmID0gdGhpczsKCQl2YXIgaXNWaXNpYmxlID0gc2VsZi5pc1Zpc2libGUoKTsKCQkvLyB3aGVuIHdlIGFyZSB2aXNpYmxlIGNhbGwgdGhlIGNhbGxiYWNrCgkJaWYgKGlzVmlzaWJsZSkgewoJCQljYihzZWxmKTsKCQkJcmV0dXJuOwoJCX0KCQkKCQkvLyB3aGVuIHdlIGFyZSBub3QgdmlzaWJsZSB3ZSB3aWxsIGhhdmUgdG8gd2FpdCB0aGUKCQkvLyBnaXZlbiBpbnRlcnZhbCBhbmQgcmVjaGVjayAoY2FsbCB1cyByZWN1cnNpdmVseSkKCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQlzZWxmLnZpc2libGUoY2IsIGNoZWNrSW50ZXJ2YWwpOwoJCX0sIGNoZWNrSW50ZXJ2YWwgfHwgMjUwKTsKCX0sCgkKCWlzVmlzaWJsZTogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHRoaXMuX2lzVmlzaWJsZSh0aGlzLiQpOwoJfSwKCQoJX2lzVmlzaWJsZTogZnVuY3Rpb24oZWxlbWVudCkgewoJCWlmICghZWxlbWVudCkgcmV0dXJuIGZhbHNlOwoJCXJldHVybiAkKGVsZW1lbnQpLmlzKCc6aGlkZGVuJykgPyBmYWxzZSA6IHRydWU7Cgl9Cn07CgovLyBhZGQgYSBqUXVlcnkgUGx1Z2luIHRoYXQgcmV0dXJucyB0aGUgZHJvcCBvYmplY3Qgb2YgYSBET00gSXRlbQokLmZuLmRyb3BzID0gZnVuY3Rpb24oKSB7Cgl2YXIgZm91bmQgPSBbXTsKCSQodGhpcykuZWFjaChmdW5jdGlvbigpIHsKCQlpZiAoJCh0aGlzKS5kYXRhKCdmcmFtZXdvcmsuZHJvcCcpKSB7CgkJCWZvdW5kID0gZm91bmQuY29uY2F0KCQodGhpcykuZGF0YSgnZnJhbWV3b3JrLmRyb3AnKSk7CgkJfQoJfSk7CglyZXR1cm4gZm91bmQ7Cn07CgokLmZuLmRyb3AgPSBmdW5jdGlvbigpIHsKCXZhciBmb3VuZCA9ICQodGhpcykuZHJvcHMoKTsKCWlmIChmb3VuZC5sZW5ndGgpIHsKCQlyZXR1cm4gZm91bmRbMF07Cgl9CglyZXR1cm4gbnVsbDsKfTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRHJvcHBlckZyYW1ld29ya0hvb2sgQ2xhc3MKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwp2YXIgRHJvcHBlckZyYW1ld29ya0hvb2tMaWIgPSBmdW5jdGlvbigpIHsKCXRoaXMuX2NhbGxiYWNrcyA9IHt9OwoJdGhpcy5fb3JpZ2luYWxzID0ge307Cn07CgpEcm9wcGVyRnJhbWV3b3JrSG9va0xpYi5wcm90b3R5cGUgPSB7CgkvKioKCSAqIFJlZ2lzdGVyIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2l0aCB0aGUgc2FtZQoJICogYXJndW1lbnRzIGFzIHRoZSBvcmlnaW5hbC4gVGhlIG9yaWdpbmFsIGlzIGZpcnN0CgkgKiBwcm9jZXNzZWQgYW5kIHRoZSBjYWxsYmFjayB0aGVuIGNhbGxlZAoJICogQHBhcmFtICB7U3RyaW5nfSAgIGZuTmFtZSAgIC0gdGhlIG5hbWUgb2YgdGhlIGdsb2JhbCBmdW5jdGlvbgoJICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrIC0gdGhlIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZAoJICovCglob29rOiBmdW5jdGlvbihmbk5hbWUsIGNhbGxiYWNrKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoJCWlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpIHsKCQkJY29uc29sZS5sb2coImtrSG9vazogdHJpZWQgdG8gcmVnaXN0ZXIgYSBub24tZnVuY3Rpb24gdG8gaG9vazoiLCBmbk5hbWUsICJDYWxsYmFjayB3YXM6IiwgY2FsbGJhY2spOwoJCQlyZXR1cm47CgkJfQoJCWlmIChmbk5hbWUgJiYgdHlwZW9mKGZuTmFtZSkgPT09ICdzdHJpbmcnICYmIGZuTmFtZSBpbiB3aW5kb3cpIHsKCQkJLy8gY2hlY2sKCQkJaWYgKHR5cGVvZihzZWxmLl9jYWxsYmFja3NbZm5OYW1lXSkgPT09ICd1bmRlZmluZWQnKSB7CgkJCQlzZWxmLl9jYWxsYmFja3NbZm5OYW1lXSA9IFtdOwoJCQkJc2VsZi5fY3JlYXRlSG9va2FibGVGdW5jdGlvbihmbk5hbWUpOwoJCQl9CgkJCS8vIHJlZ2lzdGVyCgkJCXNlbGYuX2NhbGxiYWNrc1tmbk5hbWVdLnB1c2goY2FsbGJhY2spOwoJCX0KCX0sCglfY3JlYXRlSG9va2FibGVGdW5jdGlvbjogZnVuY3Rpb24oZm5OYW1lKSB7CgkJdmFyIGhvb2tlciA9IHRoaXM7CgkJaWYgKHR5cGVvZih3aW5kb3dbZm5OYW1lXSkgPT0gJ2Z1bmN0aW9uJykgewoJCQkvLyBjb3B5IGZ1bmN0aW9uLCB3ZSB3YW50IHRvIGV4dGVuZCBpdCwgc28gdGhhdCB3ZSByZWFsaXplIHdoZW4KCQkJLy8gdGhlIGNhbGwgaXMgbWFkZSBhbmQgY2FuIHJlYWN0IHRvIGl0IHJlc3BlY3RpdmVseQoJCQl0aGlzLl9vcmlnaW5hbHNbZm5OYW1lXSA9IHdpbmRvd1tmbk5hbWVdOwoJCQl3aW5kb3dbZm5OYW1lXSA9IGZ1bmN0aW9uKCkgewoJCQkJdmFyIGZuYXJncyA9IGFyZ3VtZW50czsKCQkJCS8vIGNhbGwgb3JpZ2luYWwKCQkJCXZhciBzY29wZSA9IHRoaXM7CgkJCQlob29rZXIuX29yaWdpbmFsc1tmbk5hbWVdLmFwcGx5KHNjb3BlLCBmbmFyZ3MpOwoJCQkJJChmdW5jdGlvbigpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkvLyBjYWxsIGNhbGxiYWNrIGhhbmRsZXJzCgkJCQkJCWlmIChob29rZXIuX2NhbGxiYWNrcyAmJiBob29rZXIuX2NhbGxiYWNrc1tmbk5hbWVdKSB7CgkJCQkJCQlmb3IgKHZhciBpPTA7IGk8aG9va2VyLl9jYWxsYmFja3NbZm5OYW1lXS5sZW5ndGg7IGkrKykgewoJCQkJCQkJCWhvb2tlci5fY2FsbGJhY2tzW2ZuTmFtZV1baV0uYXBwbHkoc2NvcGUsIGZuYXJncyk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9LCAxMCk7CgkJCQl9KTsKCQkJfTsKCQl9Cgl9LAoJCgkvKioKCSAqIEhvb2tzIHRoZSBFdm8gQ2xhc3Nlcy4gRXhhbXBsZToKCSAqIGhvb2tFdm8oJ2Jhc2tldCcsICdwdXNoZWRUb0Jhc2tldCcgLCBmdW5jdGlvbiguLi5hcmdzKSB7IGNvbnNvbGUubG9nKGFyZ3MpOyBhbGVydCgnaGknKTsgfSk7CgkgKi8KCWhvb2tFdm86IGZ1bmN0aW9uKGN0b3JNZXRob2QsIG1ldGhvZCwgY2IpIHsKCgkgICAgLy8gY2hlY2sgaWYgaXQgZXhpc3RzCgkgICAgaWYgKCEkIHx8ICEkLmV2byB8fCAhJC5ldm9bY3Rvck1ldGhvZF0pIHJldHVybiBjb25zb2xlLndhcm4oJyQuZXZvLicgKyBjdG9yTWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBhbmQgY291bGQgbm90IGJlIGhvb2tlZC4nKTsKCQoJICAgIC8vIGN0b3JNZXRob2QgaXMgdGhlIG5hbWUgb2YgYW4gb2JqZWN0IGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHdpdGhpbiAkLmV2bywgZWcgJ2Jhc2tldCcgZm9yICQuZXZvLmJhc2tldAoJICAgIHZhciBjdG9yID0gJC5ldm9bY3Rvck1ldGhvZF07CgkKCSAgICB2YXIgX19jdG9yID0gZnVuY3Rpb24oKSB7IAoKCSAgICAgICAgLy8gY2FsbCBvcmlnaW5hbCBjb25zdHJ1Y3RvcgoJICAgICAgICB2YXIgb2JqID0gY3Rvci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyAKCQoJICAgICAgICAvLyBjaGVjayBpZiB0aGUgZ2l2ZW4gbWV0aG9kIGV4aXN0cyBvbiB0aGUgY29uc3RydWN0ZWQgb2JqZWN0CgkgICAgICAgIGlmICghb2JqW21ldGhvZF0pIHsKCSAgICAgICAgICAgIGNvbnNvbGUud2FybihtZXRob2QgKyAnIGRvZXMgbm90IGV4aXN0IG9uIHRoZSByZXN1bHRpbmcgb2JqZWN0IG9mICQuZXZvLicgKyBjdG9yTWV0aG9kICsgJygpIGFuZCBjb3VsZCBub3QgYmUgaG9va2VkLicpOwoJICAgICAgICAgICAgcmV0dXJuIG9iajsKCSAgICAgICAgfSAKCQoJICAgICAgICAvLyBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBvcmlnaW5hbCBtZXRob2QKCSAgICAgICAgdmFyIF9fbWV0aG9kID0gb2JqW21ldGhvZF07CgkKCSAgICAgICAgLy8gbW9kaWZ5IG91ciBjbGFzcyBtZXRob2QKCSAgICAgICAgb2JqW21ldGhvZF0gPSBmdW5jdGlvbigpIHsKCSAgICAgICAgICAgIGNiLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkgICAgICAgICAgICAvLyBjYWxsIG9yaWdpbmFsCgkgICAgICAgICAgICByZXR1cm4gX19tZXRob2QuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCSAgICAgICAgfTsKCSAgICAgICAgcmV0dXJuIG9iajsgCgkgICAgfTsKCQoJICAgIC8vIG92ZXJyaWRlcyB0aGUgb3JpZ2luYWwgY2xhc3Mgd2l0aCBvdXIgbW9kaWZpY2F0aW9uCgkgICAgJC5ldm9bY3Rvck1ldGhvZF0gPSBfX2N0b3I7CgkgICAgcmV0dXJuIF9fY3RvcjsKCgl9Cn07CgovLyBpbml0aWFsaXplIHRoZSBmcmFtZXdvcmsKd2luZG93LkRyb3BwZXJGcmFtZXdvcmsgPSBuZXcgRHJvcHBlckZyYW1ld29yaygpOwoKfSkoalF1ZXJ5KTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIFNhbXBsZSB0byBpbml0aWFsaXplIERyb3BzIHZpYSBGcmFtZXdvcmsKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRyb3BwZXJGcmFtZXdvcmsuaW5pdCgnLmRyb3AtMTIzMjIxMi0yM2FzZGYtNDEyNDUnLCBmdW5jdGlvbihkcm9wKSB7CgkvLyBkcm9wIGlzIGEganF1ZXJ5IHdyYXBwZWQgaXRlbSBvZiB0aGUgc2VsZWN0b3IKCXJldHVybiBuZXcgeHl6KGRyb3AsIG9wdGlvbnMpOwp9KTsKCnh5eiA9IGZ1bmN0aW9uKGRyb3AsIG9wdGlvbnMpIHsKCS4uLgoJLy8gdHJpZ2dlciBidWJibGluZyBldmVudAoJZHJvcC50cmlnZ2VyKCdyZXNpemUnKQoJLi4uCn0KCmFiYyA9IGZ1bmN0aW9uKGRyb3AsIG9wdGlvbnMpIHsKCWRyb3Aub24oJ3Jlc2l6ZScsIGZ1bmN0aW9uKCkgewoJCXNlbGYucmVsYXlvdXQoKTsKCX0pCn0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8=
6 ms
IChpbmRleCAlICh0aGlzLmpJdGVtcy5sZW5ndGggLSAodGhpcy5pdGVtc0luVmlldyAtIDEpKSkgOiAwOw0KDQoJCS8vIGRldGVybWluZSB0aGUgc2Nyb2xsaW5nIGRpcmVjdGlvbg0KCQlpZihvbGRTY3JvbGxJbmRleCA8IHRoaXMuc2Nyb2xsSW5kZXgpew0KCQkJbW92ZUNsYXNzID0gImtrLWZvcndhcmRzIjsNCgkJfWVsc2UgaWYob2xkU2Nyb2xsSW5kZXggPiB0aGlzLnNjcm9sbEluZGV4KXsNCgkJCW1vdmVDbGFzcyA9ICJray1iYWNrd2FyZHMiOw0KCQl9DQoNCgkJdGhpcy5fY2hlY2tEaXJlY3Rpb25zQWxsb3dlZCgpOw0KDQoJCS8vIHVwZGF0ZSBjbGFzc2VzDQoJCXRoaXMuakNvbnRhaW5lci5hZGRDbGFzcyhtb3ZlQ2xhc3MpOw0KDQoJCWlmKHRoaXMuakl0ZW1zICYmIHRoaXMuakl0ZW1zLmxlbmd0aCA+IDApew0KCQkJdGhpcy5qSXRlbXMucmVtb3ZlQ2xhc3MoJ2trLWZpcnN0LWluLXZpZXcga2stbGFzdC1pbi12aWV3Jyk7DQoJCQlpZih0aGlzLmpJdGVtc1tpbmRleF0pIHsgJCh0aGlzLmpJdGVtc1tpbmRleF0pLmFkZENsYXNzKCdray1maXJzdC1pbi12aWV3Jyk7IH0NCgkJCWlmKHRoaXMuakl0ZW1zW2luZGV4ICsgdGhpcy5pdGVtc0luVmlldyAtIDFdKSB7ICQodGhpcy5qSXRlbXNbaW5kZXggKyB0aGlzLml0ZW1zSW5WaWV3IC0gMV0pLmFkZENsYXNzKCdray1sYXN0LWluLXZpZXcnKTsgfQ0KCQl9DQoNCgkJLy8gZG8gdGhlIHNjcm9sbGluZyBhbmltYXRpb24NCgkJdGhpcy5fbW92ZVNsaWRpbmdDb250YWluZXIoKC0xLjAgKiBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsSW5kZXgpICogcGFyc2VGbG9hdCh0aGlzLml0ZW1TaXplKSksIHRpbWUsIGZ1bmN0aW9uKCl7DQoJCQlzZWxmLmpDb250YWluZXIucmVtb3ZlQ2xhc3MoJ2trLWZvcndhcmRzIGtrLWJhY2t3YXJkcycpOw0KCQl9KTsNCgl9LA0KDQoJLyoqDQoJICogQ2hlY2tzIGZvciBDU1MgdHJhbnNpdGlvbiBzdXBwb3J0DQoJICovDQoJX3N1cHBvcnRzVHJhbnNpdGlvbnM6IGZ1bmN0aW9uKCl7DQoJCXZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpLnN0eWxlLA0KCQl2ID0gWydtcycsJ08nLCdNb3onLCdXZWJraXQnXTsNCgkJDQoJCWlmKCBzWyd0cmFuc2l0aW9uJ10gPT0gJycgKSByZXR1cm4gdHJ1ZTsNCgkJd2hpbGUoIHYubGVuZ3RoICl7DQoJCQlpZih2LnBvcCgpICsgJ1RyYW5zaXRpb24nIGluIHMpew0KCQkJCXJldHVybiB0cnVlOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBmYWxzZTsNCgl9LA0KCQ0KCS8qKg0KCSAqIENoZWNrcyBmb3IgQ1NTIHRyYW5zZm9ybSBzdXBwb3J0DQoJICovDQoJX3N1cHBvcnRzVHJhbnNmb3JtOiBmdW5jdGlvbigpew0KCQl2YXIgcHJlZml4ZXMgPSAndHJhbnNmb3JtIFdlYmtpdFRyYW5zZm9ybSBNb3pUcmFuc2Zvcm0gT1RyYW5zZm9ybSBtc1RyYW5zZm9ybScuc3BsaXQoJyAnKTsNCgkJdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KCQlmb3IodmFyIGkgPSAwOyBpIDwgcHJlZml4ZXMubGVuZ3RoOyBpKyspew0KCQkJaWYoZGl2ICYmIGRpdi5zdHlsZVtwcmVmaXhlc1tpXV0gIT09IHVuZGVmaW5lZCl7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoJDQoJLyoqDQoJICogTW92ZXMgdGhlIHNsaWRpbmcgY29udGFpbmVyIGluIHRoZSBnaXZlbiB0aW1lIHRvIHRoZSBnaXZlbiBvZmZzZXQgdXNpbmcNCgkgKiBhdXRvbWF0aWNseSBmb3VuZCB0cmFuc2l0aW9uIG1ldGhvZCBvciBhbmltYXRpb24NCgkgKi8NCglfbW92ZVNsaWRpbmdDb250YWluZXI6IGZ1bmN0aW9uKHRvLCB0aW1lLCBjYil7DQoNCgkJaWYodHlwZW9mKHRoaXMuX2Zhc3RBbmltYXRlKSA9PT0gJ3VuZGVmaW5lZCcpew0KCQkJdGhpcy5fZmFzdEFuaW1hdGUgPSAodGhpcy5fc3VwcG9ydHNUcmFuc2l0aW9ucygpICYmIHRoaXMuX3N1cHBvcnRzVHJhbnNmb3JtKCkpOw0KCQl9DQoJCS8vIGZhc3QgYW5pbWF0aW9uIHBhdGgNCgkJaWYodGhpcy5fZmFzdEFuaW1hdGUpew0KCQkJdmFyIHRyYW5zbGF0ZSA9ICd0cmFuc2xhdGUnICsgKHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyAnWScgOiAnWCcpICsgJygnICsgdG8gKyAncHgpJzsNCgkJCXZhciBjc3MgPSB7DQoJCQkJJy1tb3otdHJhbnNpdGlvbicgOiAnLW1vei10cmFuc2Zvcm0gJyArIHRpbWUgKyAnbXMgZWFzZS1vdXQnLA0KCQkJCSctbXMtdHJhbnNpdGlvbicgOiAnLW1zLXRyYW5zZm9ybSAnICsgdGltZSArICdtcyBlYXNlLW91dCcsDQoJCQkJJy13ZWJraXQtdHJhbnNpdGlvbicgOiAnLXdlYmtpdC10cmFuc2Zvcm0gJyArIHRpbWUgKyAnbXMgZWFzZS1vdXQnLA0KCQkJCSctby10cmFuc2l0aW9uJyA6ICctby10cmFuc2Zvcm0gJyArIHRpbWUgKyAnbXMgZWFzZS1vdXQnLA0KCQkJCSd0cmFuc2l0aW9uJyA6ICd0cmFuc2Zvcm0gJyArIHRpbWUgKyAnbXMgZWFzZS1vdXQnLA0KCQkJCSctbW96LXRyYW5zZm9ybScgOiB0cmFuc2xhdGUsDQoJCQkJJy1tcy10cmFuc2Zvcm0nIDogdHJhbnNsYXRlLA0KCQkJCSctd2Via2l0LXRyYW5zZm9ybScgOiB0cmFuc2xhdGUsDQoJCQkJJy1vLXRyYW5zZm9ybScgOiB0cmFuc2xhdGUsDQoJCQkJJ3RyYW5zZm9ybScgOiB0cmFuc2xhdGUNCgkJCX0NCg0KCQkJdGhpcy5qQ29udGFpbmVyLmNzcyhjc3MpOw0KDQoJCQlpZihjYil7DQoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpew0KCQkJCQljYigpOw0KCQkJCX0sIHRpbWUpOw0KCQkJfQ0KCQl9DQoJCS8vIHNsb3cgYW5pbWF0aW9uIHBhdGgNCgkJZWxzZSB7DQoJCQl2YXIgcHJvcCA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyB7J3RvcCcgOiB0byArICdweCd9IDogeydsZWZ0JyA6IHRvICsgJ3B4J307DQoNCgkJCXRoaXMuakNvbnRhaW5lci5zdG9wKCkuYW5pbWF0ZShwcm9wLCB0aW1lLCBmdW5jdGlvbigpew0KCQkJCWlmKGNiKSBjYigpOw0KCQkJfSk7DQoJCX0NCg0KCQkvLyBidWZmZXIgdGhlIG9mZnNldCB3ZSBoYXZlIHNldA0KCQl0aGlzLl9zbGlkZXJPZmZzZXQgPSB0bzsNCgkJDQoJfSwNCg0KCS8qKg0KCSAqIFNjcm9sbHMgdGhlIHNsaWRlciB0byB0aGUgbmV4dCBzdGFnZS4NCgkgKiBTdGVwcyBjYW4gYmUgZml4ZWQgdG8gYSBtYXhpbXVtIGluIHRoZSBzZXR0aW5ncyBvYmplY3QNCgkgKi8NCgluZXh0OiBmdW5jdGlvbigpew0KCQl2YXIgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5vcHRpb25zLm1heEl0ZW1TY3JvbGw7DQoJCWlmKHRoaXMub3B0aW9ucy5tYXhJdGVtU2Nyb2xsID4gdGhpcy5pdGVtc0luVmlldyl7DQoJCQlzY3JvbGxPZmZzZXQgPSB0aGlzLml0ZW1zSW5WaWV3Ow0KCQl9DQoJCS8vIHRoaXMgaXMgdGhlIHdpc2hlZCBuZXcgaW5kZXgNCgkJdmFyIG5ld0luZGV4ID0gdGhpcy5zY3JvbGxJbmRleCArIHNjcm9sbE9mZnNldDsNCg0KCQkvLyB3ZSBoYXZlIHJlYWNoZWQgdGhlIGVuZCBleGNhY3RseS4uLiBuZXh0IHN0ZXAgaXMgYmFjayB0byB6ZXJvDQoJCWlmKHRoaXMuc2Nyb2xsSW5kZXggPT09IHRoaXMuakl0ZW1zLmxlbmd0aCAtIHRoaXMuaXRlbXNJblZpZXcgJiYgdGhpcy5vcHRpb25zLmFsbG93T3ZlcnNjcm9sbCA9PT0gdHJ1ZSl7DQoJCQluZXdJbmRleCA9IDA7DQoJCX0NCgkJLy8gd2UgaGF2ZSBub3QgcmVhY2hlZCB0aGUgZW5kIGNvbXBsZXRlbHksIHNjcm9sbCB0aWxsIHRoZSBlbmQgZmlyc3QNCgkJZWxzZSBpZihuZXdJbmRleCA+IHRoaXMuakl0ZW1zLmxlbmd0aCAtIHRoaXMuaXRlbXNJblZpZXcpew0KCQkJbmV3SW5kZXggPSB0aGlzLmpJdGVtcy5sZW5ndGggLSB0aGlzLml0ZW1zSW5WaWV3Ow0KCQl9DQoNCgkJdGhpcy5zY3JvbGxUbyhuZXdJbmRleCwgdGhpcy5vcHRpb25zLnNjcm9sbFRpbWUpOw0KCX0sDQoNCgkvKioNCgkgKiBTY3JvbGxzIHRoZSBzbGlkZXIgdG8gdGhlIHByZXZpb3VzIHN0YWdlLg0KCSAqIFN0ZXBzIGNhbiBiZSBmaXhlZCB0byBhIG1heGltdW0gaW4gdGhlIHNldHRpbmdzIG9iamVjdA0KCSAqLw0KCXByZXZpb3VzOiBmdW5jdGlvbigpew0KCQl2YXIgc2Nyb2xsT2Zmc2V0ID0gTWF0aC5taW4odGhpcy5vcHRpb25zLm1heEl0ZW1TY3JvbGwsIHRoaXMuaXRlbXNJblZpZXcpOw0KDQoJCS8vIHRoaXMgaXMgdGhlIHdpc2hlZCBuZXcgaW5kZXgNCgkJdmFyIG5ld0luZGV4ID0gdGhpcy5zY3JvbGxJbmRleCAtIHNjcm9sbE9mZnNldDsNCg0KCQlpZihuZXdJbmRleCA8IDAgJiYgbmV3SW5kZXggKyBzY3JvbGxPZmZzZXQgPiAwKXsNCgkJCW5ld0luZGV4PTA7DQoJCX0NCgkJLy8gd2UgaGF2ZSByZWFjaGVkIHRoZSBlbmQgZXhjYWN0bHkuLi4gbmV4dCBzdGVwIGlzIGJhY2sgdG8gdGhlIGVuZA0KCQllbHNlIGlmKG5ld0luZGV4ICsgc2Nyb2xsT2Zmc2V0ID09PSAwKXsNCgkJCW5ld0luZGV4ID0gdGhpcy5qSXRlbXMubGVuZ3RoIC0gdGhpcy5pdGVtc0luVmlldzsNCgkJfQ0KCQkvLyBkbyBub3QgYnJlYWsgd2hlbiBvdmVyc2Nyb2xsIGlzIGRpc2FsbG93ZWQNCgkJaWYodGhpcy5vcHRpb25zLmFsbG93T3ZlcnNjcm9sbCA9PT0gZmFsc2UgJiYgdGhpcy5zY3JvbGxJbmRleCAtIHNjcm9sbE9mZnNldCA8IDApew0KCQkJbmV3SW5kZXggPSAwOw0KCQl9DQoNCgkJdGhpcy5zY3JvbGxUbyhuZXdJbmRleCwgdGhpcy5vcHRpb25zLnNjcm9sbFRpbWUpOw0KCX0sDQoNCgkvKioNCgkgKiBDaGVja3MgaWYgdGhlIFByZXZpb3VzIC8gTmV4dCBCdXR0b25zIGNhbiBiZSB1c2VkDQoJICovDQoJX2NoZWNrRGlyZWN0aW9uc0FsbG93ZWQ6IGZ1bmN0aW9uKCl7DQoJCXZhciBuZXh0QWxsb3dlZCA9ICh0aGlzLm9wdGlvbnMuYWxsb3dPdmVyc2Nyb2xsID09PSB0cnVlKSB8fCAoKHRoaXMuakl0ZW1zLmxlbmd0aCAtICh0aGlzLnNjcm9sbEluZGV4ICsgdGhpcy5pdGVtc0luVmlldykgPiAwKSAmJiB0aGlzLmpJdGVtcy5sZW5ndGggPiB0aGlzLml0ZW1zSW5WaWV3KTsNCgkJdmFyIHByZXZBbGxvd2VkID0gKHRoaXMub3B0aW9ucy5hbGxvd092ZXJzY3JvbGwgPT09IHRydWUpIHx8ICh0aGlzLnNjcm9sbEluZGV4ID4gMCAmJiB0aGlzLmpJdGVtcy5sZW5ndGggPiB0aGlzLml0ZW1zSW5WaWV3KTsNCg0KCQlpZih0aGlzLm9wdGlvbnMuc2hvd05hdmlnYXRpb24gPT09IHRydWUpew0KCQkJdGhpcy5qTmV4dC5yZW1vdmVDbGFzcygnZGlzYWxsb3dlZCcpOw0KCQkJdGhpcy5qUHJldmlvdXMucmVtb3ZlQ2xhc3MoJ2Rpc2FsbG93ZWQnKTsNCgkJCQ0KCQkJaWYoIW5leHRBbGxvd2VkKXsNCgkJCQl0aGlzLmpOZXh0LmFkZENsYXNzKCdkaXNhbGxvd2VkJyk7DQoJCQl9DQoNCgkJCWlmKCFwcmV2QWxsb3dlZCl7DQoJCQkJdGhpcy5qUHJldmlvdXMuYWRkQ2xhc3MoJ2Rpc2FsbG93ZWQnKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCgkvKioNCgkgKiBDaGVja3MgaG93IG1hbnkgaXRlbXMgZml0IHRoZSBhdmFpbGFibGUgc3BhY2UNCgkgKi8NCglfY2hlY2tIb3dNYW55SXRlbXNGaXQ6IGZ1bmN0aW9uKCl7DQoJCXZhciBpdGVtQWRkZWRTaXplID0gMDsNCgkJdmFyIG51bUl0ZW1zRml0ID0gMDsNCg0KCQlmb3IodmFyIGk9MDsgaTx0aGlzLmpJdGVtcy5sZW5ndGg7IGkrKyl7DQoJCQl2YXIgaXRlbVNpemUgPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uID09PSAiaG9yaXpvbnRhbCIgPyANCgkJCQlNYXRoLm1heCgkKHRoaXMuakl0ZW1zW2ldKS5vdXRlcldpZHRoKCksIHRoaXMub3B0aW9ucy5taW5JdGVtU2l6ZSkgOiANCgkJCQlNYXRoLm1heCgkKHRoaXMuakl0ZW1zW2ldKS5vdXRlckhlaWdodCgpLCB0aGlzLm9wdGlvbnMubWluSXRlbVNpemUpOw0KDQoJCQlpZigoaXRlbUFkZGVkU2l6ZSArIGl0ZW1TaXplKSA+IHRoaXMuY29udGFpbmVyU2l6ZSkgew0KCQkJCXJldHVybiAobnVtSXRlbXNGaXQgPiAwID8gbnVtSXRlbXNGaXQgOiAxKTsNCgkJCX0NCgkJCWVsc2V7DQoJCQkJaXRlbUFkZGVkU2l6ZSArPSBpdGVtU2l6ZTsNCgkJCQludW1JdGVtc0ZpdCArKzsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gbnVtSXRlbXNGaXQ7DQoJfSwNCgkvKioNCgkgKiBDaGVja3MgaWYgdGhlIHNsaWRlciBpcyB2aXNpYmxlIGluc2lkZSB0aGUgZG9tIGJ5IGNoZWNraW5nIHVwIGFsbCBjaGlsZHJlbg0KCSAqIGZvciB2aXNpYmlsaXR5DQoJICovDQoJX2lzVmlzaWJsZTogZnVuY3Rpb24oZWxlbWVudCl7DQoJCWlmKCFlbGVtZW50KSByZXR1cm4gZmFsc2U7DQoJCXJldHVybiAkKGVsZW1lbnQpLmlzKCc6aGlkZGVuJykgPyBmYWxzZSA6IHRydWU7DQoJfSwNCgkvKioNCgkgKiBDYWxsYmFjayB3aGVuIGEgdXNlciBzdGFydHMgZHJhZ2dpbmcNCgkgKi8NCglfZHJhZ1N0YXJ0OiBmdW5jdGlvbihwb3MsIGUpew0KCQl0aGlzLl9pc0RyYWdnaW5nID0gdHJ1ZTsNCgkJdGhpcy5fZHJhZ1N0YXJ0UG9zID0gJC5leHRlbmQoe30sIHBvcyksDQoJCXRoaXMuX2RyYWdTdGFydFNsaWRlclBvcyA9IHRoaXMuX3NsaWRlck9mZnNldDsNCgkJdGhpcy5fZHJhZ0Rpc3QgPSBmYWxzZTsNCgl9LA0KCS8qKg0KCSAqIENhbGxiYWNrIHdoZW4gYSB1c2VyIG1vdmVzIHRoZSBwb2ludGVyIGFmdGVyIHN0YXJ0aW5nIGRyYWdnaW5nDQoJICovDQoJX2RyYWdNb3ZlOiBmdW5jdGlvbihwb3MsIGUpew0KDQoJCWlmKCF0aGlzLl9pc0RyYWdnaW5nKSByZXR1cm47DQoJCQ0KCQl2YXIgcGFuZTsNCgkJdmFyIHNlbGYgPSB0aGlzOw0KCQl2YXIgZGlzdCA9IHsNCgkJCXg6IHBvcy54IC0gdGhpcy5fZHJhZ1N0YXJ0UG9zLngsDQoJCQl5OiBwb3MueSAtIHRoaXMuX2RyYWdTdGFydFBvcy55LA0KCQl9Ow0KCQkNCgkJc3dpdGNoKHRoaXMub3B0aW9ucy5kaXJlY3Rpb24pIHsNCgkJCWNhc2UgJ2hvcml6b250YWwnIDoNCgkJCQlwYW5lID0gJ3gnOw0KCQkJYnJlYWs7DQoJCQkNCgkJCWNhc2UgJ3ZlcnRpY2FsJzoNCgkJCQlwYW5lID0gJ3knOw0KCQkJYnJlYWs7DQoJCX0NCg0KCQkvLyBsb2NrIG1vdmVtZW50IG9uIGF4aXMNCgkJaWYoICggcGFuZSA9PT0gJ3gnICYmIE1hdGguYWJzKGRpc3QueCkgPj0gTWF0aC5hYnMoZGlzdC55KSApIHx8ICggcGFuZSA9PT0gJ3knICYmIE1hdGguYWJzKGRpc3QueSkgPj0gTWF0aC5hYnMoZGlzdC54KSApICl7IA0KCQkJLy8gbG9jayBvbiBheGlzDQoJCQllLnByZXZlbnREZWZhdWx0KCk7IGUuc3RvcFByb3BhZ2F0aW9uKCk7DQoJCX0gZWxzZSB7DQoJCQkvLyBkbyBub3RoaW5nIGJlY2F1c2UgdGhpcyBtb3ZlbWVudCBpcyBvbiB0aGUgd3JvbmcgYXhpcw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQlzZWxmLl9tb3ZlU2xpZGluZ0NvbnRhaW5lcih0aGlzLl9kcmFnU3RhcnRTbGlkZXJQb3MgKyBkaXN0W3BhbmVdLCAwKTsNCgkJc2VsZi5fZHJhZ0Rpc3QgPSBkaXN0Ow0KCX0sDQoJLyoqDQoJICogQ2FsbGJhY2sgd2hlbiBhIHVzZXIgZW5kcyBkcmFnZ2luZw0KCSAqLw0KCV9kcmFnRW5kOiBmdW5jdGlvbihlKXsNCg0KCQlpZighdGhpcy5faXNEcmFnZ2luZyB8fCAhdGhpcy5pdGVtU2l6ZSB8fCAhdGhpcy5fZHJhZ0Rpc3QpIHJldHVybjsNCg0KCQl0aGlzLl9pc0RyYWdnaW5nID0gZmFsc2U7DQoNCgkJdmFyIGRpc3Q7DQoJCQ0KCQlzd2l0Y2godGhpcy5vcHRpb25zLmRpcmVjdGlvbikgew0KCQkJY2FzZSAnaG9yaXpvbnRhbCcgOg0KCQkJCWRpc3QgPSB0aGlzLl9kcmFnRGlzdC54Ow0KCQkJYnJlYWs7DQoJCQkNCgkJCWNhc2UgJ3ZlcnRpY2FsJzoNCgkJCQlkaXN0ID0gdGhpcy5fZHJhZ0Rpc3QueTsNCgkJCWJyZWFrOw0KCQl9DQoNCgkJdmFyIGRyYWdnZWRJdGVtcyA9IC0xICogKE1hdGguc2lnbihkaXN0KSA+IDAgPyBNYXRoLmZsb29yKGRpc3QgLyB0aGlzLml0ZW1TaXplKSA6IE1hdGguY2VpbChkaXN0IC8gdGhpcy5pdGVtU2l6ZSkpOw0KCQkNCgkJaWYoTWF0aC5hYnMoZGlzdCAlIHRoaXMuaXRlbVNpemUpID4gMjApIGRyYWdnZWRJdGVtcyArPSAoZGlzdCA+IDAgPyAtMSA6IDEpOw0KDQoJCXZhciBuZXdJbmRleCA9IHRoaXMuc2Nyb2xsSW5kZXggKyBkcmFnZ2VkSXRlbXM7DQoNCgkJLy8ga2VlcCBpdCBpbiBib3VuZHMNCgkJaWYobmV3SW5kZXggPCAwKSBuZXdJbmRleCA9IDA7DQoJCWlmKG5ld0luZGV4ID4gdGhpcy5qSXRlbXMubGVuZ3RoIC0gdGhpcy5pdGVtc0luVmlldykgbmV3SW5kZXggPSB0aGlzLmpJdGVtcy5sZW5ndGggLSB0aGlzLml0ZW1zSW5WaWV3Ow0KDQoJCXRoaXMuc2Nyb2xsVG8obmV3SW5kZXgsIDIwMCAvKnRoaXMub3B0aW9ucy5zY3JvbGxUaW1lKi8pOw0KCX0NCn07DQoNCn0pKGpRdWVyeSk7
4 ms
javascript;base64,IWZ1bmN0aW9uKHQpe3ZhciBpPWZ1bmN0aW9uKHQpe3RoaXMuaW5pdCh0KX07aS5wcm90b3R5cGU9e2luaXQ6ZnVuY3Rpb24odCl7dGhpcy5qUm9vdD10fSxpbml0SW5kZXg6ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3RoaXMubGF5b3V0SW5kZXgoKSx0KHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7InVuZGVmaW5lZCIhPXR5cGVvZiBpLmluZGV4TGF5b3V0VGltZW91dCYmY2xlYXJUaW1lb3V0KGkuaW5kZXhMYXlvdXRUaW1lb3V0KSxpLmluZGV4TGF5b3V0VGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5sYXlvdXRJbmRleCgpfSwyNTApfSksdGhpcy5qUm9vdC5maW5kKCIudmVuZG9yLWluZGV4LWxldHRlcm5hdi1sZXR0ZXIiKS5jbGljayhmdW5jdGlvbigpe2kualJvb3QuZmluZCgiLnZlbmRvci1pbmRleC1ncm91cC13cmFwcGVyIikuaGlkZSgpLGkualJvb3QuZmluZCgnLnZlbmRvci1pbmRleC1ncm91cC13cmFwcGVyW2RhdGEtaW5kZXg9IicrdCh0aGlzKS50ZXh0KCkrJyJdJykuc2hvdygpfSksdGhpcy5qUm9vdC5maW5kKCIudmVuZG9yLWluZGV4LWxldHRlcm5hdi1sZXR0ZXItYWxsIikuY2xpY2soZnVuY3Rpb24oKXtpLmpSb290LmZpbmQoIi52ZW5kb3ItaW5kZXgtZ3JvdXAtd3JhcHBlciIpLnNob3coKX0pfSxsYXlvdXRJbmRleDpmdW5jdGlvbigpe3ZhciBpPXRoaXMualJvb3QuZmluZCgiLnZlbmRvci1pbmRleC1ncm91cC13cmFwcGVyIik7aS5jc3MoIndpZHRoIiwiIik7dmFyIGU9MDtpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLm91dGVyV2lkdGgoITEpO2U9TWF0aC5tYXgoZSxpKX0pO3ZhciBvPWkucGFyZW50KCkud2lkdGgoKSxuPU1hdGguZmxvb3Ioby9lKSxyPU1hdGguZmxvb3Ioby9uKTtpLmNzcygid2lkdGgiLHIpO3ZhciBoPVtdLGQ9W107ZC5faGVpZ2h0PTA7dmFyIGE9MDtpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmNzcygiaGVpZ2h0IiwiIiksYSVuPT09MCYmKGQ9W10sZC5faGVpZ2h0PTAsaC5wdXNoKGQpKSxkLl9oZWlnaHQ9TWF0aC5tYXgoZC5faGVpZ2h0LHQodGhpcykub3V0ZXJIZWlnaHQoITEpKSxkLnB1c2godCh0aGlzKSksYSsrfSk7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspZm9yKHZhciBkPWhbdV0scz0wO3M8ZC5sZW5ndGg7cysrKXt2YXIgZj10KGRbc10pO2YuY3NzKCJoZWlnaHQiLGQuX2hlaWdodCl9fX0sd2luZG93LktLX1ZlbmRvckJveD1pfShqUXVlcnkpOw==
5 ms
javascript;base64,KGZ1bmN0aW9uKCQpewoJdmFyIGtrRmxleExheW91dERyb3AgPSBmdW5jdGlvbihzZWxlY3RvciwgY29uZmlnKXsKCQl0aGlzLmluaXQoc2VsZWN0b3IsIGNvbmZpZyk7Cgl9OwoJCglra0ZsZXhMYXlvdXREcm9wLnByb3RvdHlwZSA9IHsKCQlpbml0OiBmdW5jdGlvbihzZWxlY3RvciwgY29uZmlnKXsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJc2VsZi5jb25maWcgPSAkLmV4dGVuZCh7CgkJCQllcXVhbFNwYWNlSGVpZ2h0czogZmFsc2UsCgkJCQlyZXNwb25zaXZlTW9kZTogJ25vbmUnLAoJCQkJcmVzcG9uc2l2ZVNjYWxlQmFzZTogMTA5MAoJCQl9LCBjb25maWcpOwoJCQkKCQkJc2VsZi5qUm9vdCA9ICQoc2VsZWN0b3IpOwoKCQkJLy8gaW5pdAoJCQlzZWxmLmhhbmRsZVJlc3BvbnNpdmVTY2FsaW5nKCk7CgkJCWlmKHNlbGYuY29uZmlnLmVxdWFsU3BhY2VIZWlnaHRzKXsgCgkJCQlzZWxmLmRldGVjdEVxdWFsU3BhY2VzKCk7CgkJCX0KCQl9LAoKCQkvLyBhZGQgY2xhc3MgJ2VxdWFsLXNwYWNlJyB0byBhbGwgc3BhY2VzIHRoYXQgaGF2ZSBvbmx5IG9uZSBjaGlsZAoJCWRldGVjdEVxdWFsU3BhY2VzOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCXNlbGYualJvb3QuZmluZCgnPi5ncmlkLXN5c3RlbSA+LmdyaWQtc3lzdGVtLXJvdyA+LmdyaWQtc3BhY2UnKS5lYWNoKGZ1bmN0aW9uKCl7CgkJCQlpZigkKHRoaXMpLmNoaWxkcmVuKCdkaXYnKS5sZW5ndGggPT09IDEpewoJCQkJCSQodGhpcykuYWRkQ2xhc3MoJ2VxdWFsLXNwYWNlJyk7CgkJCQl9CgkJCX0pCgkJfSwKCgkJLy8gc2NhbGVzIHRoZSBmbGV4IGxheW91dCBiYXNlZCBhIGJhc2Ugd2lkdGggdXNpbmcgY3NzMyB0cmFuc2Zvcm1zCQkKCQloYW5kbGVSZXNwb25zaXZlU2NhbGluZzogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQlpZihzZWxmLmNvbmZpZy5yZXNwb25zaXZlTW9kZSAhPT0gJ3NjYWxlJykgcmV0dXJuOwoKCQkJLy8gZ2V0IHRyYW5zZm9ybSBwcmVmaXgKCQkJdmFyIHRyYW5zZm9ybSA9IHNlbGYuZ2V0U3VwcG9ydGVkVHJhbnNmb3JtKCk7CgkJCWlmKCF0cmFuc2Zvcm0pIHJldHVybjsKCgkJCS8vIGNyZWF0ZSBhIGxheW91dCBwbGFjZWhvbGRlciB0aGF0IHNldHMgdGhlIGhlaWdodAoJCQlpZighc2VsZi5qUGxhY2Vob2xkZXIpIHNlbGYualBsYWNlaG9sZGVyID0gJCgnPGRpdiBjbGFzcz0ia2stZmxleGxheW91dC1wbGFjZWhvbGRlciI+Jyk7CgkJCQoJCQkvLyBjb3B5IHN0eWxlcwoJCQlzZWxmLmpQbGFjZWhvbGRlci5jc3MoewoJCQkJJ3dpZHRoJzogJzEwMCUnLAoJCQkJJ2hlaWdodCc6IHNlbGYualJvb3QuY3NzKCdoZWlnaHQnKSwKCQkJCSdtYXJnaW4tdG9wJzogc2VsZi5qUm9vdC5jc3MoJ21hcmdpbi10b3AnKSwKCQkJCSdtYXJnaW4tbGVmdCc6IHNlbGYualJvb3QuY3NzKCdtYXJnaW4tbGVmdCcpLAoJCQkJJ21hcmdpbi1ib3R0b20nOiBzZWxmLmpSb290LmNzcygnbWFyZ2luLWJvdHRvbScpLAoJCQkJJ21hcmdpbi1yaWdodCc6IHNlbGYualJvb3QuY3NzKCdtYXJnaW4tcmlnaHQnKSwKCQkJCSdkaXNwbGF5Jzogc2VsZi5qUm9vdC5jc3MoJ2Rpc3BsYXknKSwKCQkJCSdwb3NpdGlvbic6IHNlbGYualJvb3QuY3NzKCdwb3NpdGlvbicpLAoJCQkJJ2JvcmRlcic6IHNlbGYualJvb3QuY3NzKCdib3JkZXInKSwKCQkJCSdib3JkZXItdG9wJzogc2VsZi5qUm9vdC5jc3MoJ2JvcmRlci10b3AnKSwKCQkJCSdib3JkZXItbGVmdCc6IHNlbGYualJvb3QuY3NzKCdib3JkZXItbGVmdCcpLAoJCQkJJ2JvcmRlci1ib3R0b20nOiBzZWxmLmpSb290LmNzcygnYm9yZGVyLWJvdHRvbScpLAoJCQkJJ2JvcmRlci1yaWdodCc6IHNlbGYualJvb3QuY3NzKCdib3JkZXItcmlnaHQnKSwKCQkJCSdvcGFjaXR5JzogMCwKCQkJCSd2aXNpYmlsaXR5JzogJ2hpZGRlbicKCQkJfSk7CgkJCXNlbGYualJvb3QuYWZ0ZXIoc2VsZi5qUGxhY2Vob2xkZXIpOwoKCQkJc2VsZi5qUm9vdC5jc3ModHJhbnNmb3JtICsgJy1vcmlnaW4nLCAnMCUgMCUnKTsKCQkJc2VsZi5qUm9vdC5jc3MoewoJCQkJJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywKCQkJCSd3aWR0aCc6IHNlbGYuY29uZmlnLnJlc3BvbnNpdmVTY2FsZUJhc2UgKyAncHgnLAoJCQl9KTsKCQoJCQlzZXRJbnRlcnZhbChmdW5jdGlvbigpewoJCQkJCgkJCQkvLyBnZXQgdW5zY2FsZWQgaGVpZ2h0IGFuZCB3aWR0aAoJCQkJdmFyIHVuc2NhbGVkV2lkdGggPSBzZWxmLmpQbGFjZWhvbGRlci5vdXRlcldpZHRoKGZhbHNlKTsKCQkJCXZhciBzY2FsZSA9IHVuc2NhbGVkV2lkdGggLyBzZWxmLmNvbmZpZy5yZXNwb25zaXZlU2NhbGVCYXNlOwoJCQkJc2VsZi5qUm9vdC5jc3ModHJhbnNmb3JtLCAnc2NhbGUoJyArIHNjYWxlICsgJyknKTsKCgkJCQl2YXIgc2NhbGVkSGVpZ2h0ID0gc2VsZi5qUm9vdC5nZXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0OwoKCQkJCXNlbGYualBsYWNlaG9sZGVyLmNzcyh7CgkJCQkJJ2hlaWdodCc6IHNjYWxlZEhlaWdodCArICdweCcKCQkJCX0pOwoJCQl9LCA1MCk7CgkJfSwKCgkJLyoqCgkJICogQ2hlY2sgaWYgQ1NTIFRyYW5zZm9ybXMgYXJlIHN1cHBvcnRlZAoJCSAqIEByZXR1cm5zIHRoZSAodmVuZG9yIHByZWZpeGVkKSB0cmFuc2Zvcm0gcHJvcGVydHkgc3RyaW5nLCBvciBmYWxzZSBpZiBub3Qgc3VwcG9ydGVkCgkJICovCgkJZ2V0U3VwcG9ydGVkVHJhbnNmb3JtOiBmdW5jdGlvbigpewoJCQl2YXIgcHJlZml4ZXMgPSB7CgkJCQkndHJhbnNmb3JtJzogJ3RyYW5zZm9ybScsCgkJCQknV2Via2l0VHJhbnNmb3JtJzogJy13ZWJraXQtdHJhbnNmb3JtJywKCQkJCSdNb3pUcmFuc2Zvcm0nOiAnLW1vei10cmFuc2Zvcm0nLAoJCQkJJ09UcmFuc2Zvcm0nOiAnLW8tdHJhbnNmb3JtJywKCQkJCSdtc1RyYW5zZm9ybSc6ICctbXMtdHJhbnNmb3JtJywKCQkJfTsKCgkJICAgIGZvcih2YXIgcHJvcCBpbiBwcmVmaXhlcyl7CgkJICAgICAgICBpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZVtwcm9wXSAhPT0gdW5kZWZpbmVkKXsKCQkgICAgICAgICAgICByZXR1cm4gcHJlZml4ZXNbcHJvcF07CgkJICAgICAgICB9CgkJICAgIH0KCQkgICAgcmV0dXJuIGZhbHNlOwoJCX0KCgl9OwoJCgl3aW5kb3cua2tGbGV4TGF5b3V0RHJvcCA9IGtrRmxleExheW91dERyb3A7Cn0pKGpRdWVyeSk7
4 ms
javascript;base64,JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgYXJ0aWNsZVRvcEJveCgpOwp9KTsKCiQod2luZG93KS5yZXNpemUoZnVuY3Rpb24gKCkgewogICAgYXJ0aWNsZVRvcEJveCgpOwp9KTsKCnZhciBhcnRpY2xlVG9wQm94ID0gZnVuY3Rpb24gKCkgewogICAgdmFyIGxlZnRTcGFjZSA9ICgkKHdpbmRvdykud2lkdGgoKSAtIDE0MTYpIC8gMjsKICAgIHZhciBjb250YWluZXIgPSAkKCIuYXJ0aWtlbC1oaWdobGlnaHRib3giKTsKICAgIGlmIChsZWZ0U3BhY2UgPiAyMjAgJiYgY29udGFpbmVyLmxlbmd0aCkgewogICAgICAgIGNvbnRhaW5lci5mYWRlSW4oKTsKICAgICAgICBjb250YWluZXIuY3NzKCJsZWZ0IiwgKGxlZnRTcGFjZSAtIDIyMCkgKyAicHgiKTsKICAgIH0gZWxzZSB7CiAgICAgICAgY29udGFpbmVyLmhpZGUoKTsKICAgIH0KCn07Cg==
4 ms
reinigungsberater.css
362 ms
v4-wisch-star_de
369 ms
plugin.min.css
379 ms
X2E0E4BA44B97E2B9453153A47B617795.js
20 ms
Logo_WischStar_claim.png
151 ms
Logo_WischStar_claim_sticky.png
150 ms
transport.png
151 ms
Sanitaerreiniger_Top.png
152 ms
Bodenreiniger_Top.png
153 ms
Fensterreinigung_Top.png
153 ms
Sets_Top.png
266 ms
Geraetewagen_Top.png
267 ms
Microfasertuecher_Top.png
269 ms
73.jpg
269 ms
77.jpg
267 ms
81.jpg
270 ms
83.jpg
310 ms
65.jpg
311 ms
85.jpg
312 ms
80.jpg
314 ms
86.jpg
312 ms
88.jpg
313 ms
87.jpg
378 ms
64.jpg
379 ms
89.jpg
379 ms
90.jpg
380 ms
61.jpg
381 ms
66.jpg
380 ms
75.jpg
470 ms
76.jpg
471 ms
79.jpg
471 ms
67.jpg
472 ms
93.jpg
472 ms
62.jpg
471 ms
63.jpg
565 ms
68.jpg
567 ms
69.jpg
566 ms
91.jpg
567 ms
70.jpg
568 ms
71.jpg
567 ms
72.jpg
518 ms
92.jpg
517 ms
95.jpg
517 ms
Sanitaerbereich.jpg
613 ms
Wohnbereich.jpg
517 ms
fontawesome-webfont.woff
111 ms
ecoline.png
803 ms
sliderimg_01.jpg
780 ms
sliderimg_02_new.jpg
780 ms
Fensterputzen.jpg
589 ms
kueche.jpg
685 ms
hotel.jpg
591 ms
krankenhaus.jpg
685 ms
gebauedereinigung.jpg
741 ms
plugin_js_head
788 ms
jtl3.js
1021 ms
plugin_js_body
818 ms
ajax-loader-dark.gif
800 ms
print.css
97 ms
wisch-star.de accessibility score
Names and labels
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
Buttons do not have an accessible name
Form elements do not have associated labels
Links do not have a discernible name
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Tables and lists
These are opportunities to improve the experience of reading tabular or list data using assistive technology, like a screen reader.
Impact
Issue
Lists do not contain only <li> elements and script supporting elements (<script> and <template>).
Best practices
These items highlight common accessibility best practices.
Impact
Issue
[user-scalable="no"] is used in the <meta name="viewport"> element or the [maximum-scale] attribute is less than 5.
wisch-star.de best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Includes front-end JavaScript libraries with known security vulnerabilities
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
wisch-star.de SEO score
Crawling and Indexing
To appear in search results, crawlers need access to your app.
Impact
Issue
Links are not crawlable
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
DE
DE
ISO-8859-1
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Wisch-star.de can be misinterpreted by Google and other search engines. Our service has detected that German is used on the page, and it matches the claimed language. Our system also found out that Wisch-star.de main page’s claimed encoding is iso-8859-1. Changing it to UTF-8 can be a good choice, as this format is commonly used for encoding all over the web and thus their visitors won’t have any troubles with symbol transcription or reading.
wisch-star.de
Open Graph description is not detected on the main page of WISCH STAR. Lack of Open Graph description can be counter-productive for their social media presence, as such a description allows converting a website homepage (or other pages) into good-looking, rich and well-structured posts, when it is being shared on Facebook and other social media. For example, adding the following code snippet into HTML <head> tag will help to represent this web page correctly in social networks: