Discuss Scratch
- Discussion Forums
- » Deutsch
- » Freie Unterhaltung
- capoaira
-
87 posts
Freie Unterhaltung
Ok, beruhigt mich, dass nicht nur ich das so empfunden habe. Bin gespannt wie das weiter geht.
Ich warte mal ab, was er jetzt auf deinen Post hin macht…
Ich warte mal ab, was er jetzt auf deinen Post hin macht…
- PD_7
-
100+ posts
Freie Unterhaltung
Ich glaube, er wird nicht wirklich etws tun, weil wie auf seiner Profilseite zu sehen ist, ist er nicht mehr auf scratch aktiv. Ok, beruhigt mich, dass nicht nur ich das so empfunden habe. Bin gespannt wie das weiter geht.
Ich warte mal ab, was er jetzt auf deinen Post hin macht…
- Baumus
-
100+ posts
Freie Unterhaltung
capoaira ich habe den Typen gemeldet der schlägt ja komplett den falschen ton an Moin,
ich habe gestern ein Project gerimixt und versehentlich veröffentlicht. Da schon Kommentare gekommen sind, habe ich es öffentlich gelassen und noch Zähler für unentschieden usw eingefügt.
Muss ich noch extra reinschreiben, von wem ich das Projekt habe?
Es steht ja bereits “Danke an MeGacreator22 für:
Pen Tic-Tac-Toe (Originalprojekt)”
Ich habe hier nämlich einen Sehr netten Kommentar bekommen:
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/199134692/#comments-88143971
Ich mein, es ist ja nicht schlimm, zu schreiben von wem das Project ist und ihm zu Danken, aber in so einem Ton von jemanden dazu aufgefordert zu werden, der mit der Sache nix zu hat schreckt mich ab, mich ihm zu beugen. Außerdem Steht es da ja schon.
Sollte der Typ mich melden, habe ich dann etwas zu befürchten? Wenn ja würde ich den Satz kopieren und nochmal hinzufügen, ich möchte ja weiter scratchen
Vielleicht klingt dieser Post jetzt etwas lächerlich, da ich ja einfach das Danke nochmal reinschreiben könnte (was wesentlich einfacher wäre und nicht schlimm ist), aber mir geht es um den Ton.
Würde mich über eure Meinung zum Thema freuen.
- Baumus
-
100+ posts
Freie Unterhaltung
ich mache seit zweieinhalb jahren Scratch war zwischendurch oft inaktiv, aber bald dürft ihr euch über das umfangreichste projekt freuen, das ich je gemacht habe. Anders als bei Nebulous fake an dem ich ein Monat gearbeitet habe, habe ich für dieses Projekt ein halbes Jahr gebraucht.
- Baumus
-
100+ posts
Freie Unterhaltung
und damit es rechtzeitig rauskommt mache ich jetzt damit weiter. Tschau, Leute!!!
- Arnie1_0
-
100+ posts
Freie Unterhaltung
Hallo Leute!
Kann bitte einmal jemand alles was hier zwischen den beiden Strichen steht in die Adressleiste des Browsers kopieren und Eingabe drücken?
Ich weiß, es sind 23686 Zeichen aber wenn man mit der Maus scrollt, sollte es gehen.
——————————————————–
data:text/html;base64,PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPjwhLS0gTWF4aW1hbGUgQmVudXR6ZXJuYW1lLUzDpG5nZTogMjMgWmVpY2hlbiAtLT4NCgk8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQoJPHRpdGxlPkRhbnogU3RyZW5nIGdlaGVpbWVyIENoYXQ8L3RpdGxlPg0KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJCTpyb290IHsNCgkJCS0tcm93LWhlaWdodDogMzBweDsNCgkJCS0tZG9jdW1lbnQtc3RhcnQ6IDQwcHg7DQoJCX0NCgkJOmZvY3VzIHsgYm94LXNoYWRvdzogMCAwIDFweCAxcHggcmdiKDE3MCwgMTcwLCAyNTUpIH0NCgkJKiB7DQoJCQltYXJnaW46IDA7DQoJCQlwYWRkaW5nOiAwOw0KCQl9DQoJCS50b3AgeyB0b3A6IDAgfQ0KCQkuYm90dG9tIHsgYm90dG9tOiAwIH0NCgkJLmNsZWFyIHsgY2xlYXI6IGJvdGggfQ0KCQkuZlJpZ2h0IHsgZmxvYXQ6IHJpZ2h0IH0NCgkJLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgfQ0KCQkudmlzaWJsZSB7IGRpc3BsYXk6IGluaGVyaXQgfQ0KCQkucm93IHsNCgkJCXBhZGRpbmc6IDAgN3B4Ow0KCQkJd2lkdGg6IDEwMCU7DQoJCQl3aWR0aDogLW1vei1hdmFpbGFibGU7DQoJCQl3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsNCgkJCWhlaWdodDogdmFyKC0tcm93LWhlaWdodCk7DQoJCQlwb3NpdGlvbjogZml4ZWQ7DQoJCQliYWNrZ3JvdW5kOiAjNWQ4MGZmOw0KCQkJei1pbmRleDogMTA7DQoJCX0NCgkJc2VjdGlvbi5yb3cgKiB7DQoJCQlsaW5lLWhlaWdodDogdmFyKC0tcm93LWhlaWdodCk7DQoJCQl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJCQlmb250LXNpemU6IDE5cHg7DQoJCQlmb250LWZhbWlseTogc2VyaWY7DQoJCQljb2xvcjogI0ZGRjsNCgkJfQ0KCQlzZWN0aW9uLnJvdyAqICogew0KCQkJcGFkZGluZzogMCAzcHg7DQoJCX0NCgkJc2VjdGlvbi5yb3cgKiAqOmhvdmVyIHsNCgkJCWJveC1zaGFkb3c6IDAgMCAzcHggI0ZGRjsNCgkJfQ0KCQltYWluIHsNCgkJCXdpZHRoOiA4MCU7DQoJCQltYXJnaW46IHZhcigtLWRvY3VtZW50LXN0YXJ0KSBhdXRvOw0KCQkJcGFkZGluZzogMTBweDsNCgkJCWJveC1zaGFkb3c6IDAgMCA1cHggMXB4IHJnYigxNTAsIDE1MCwgMTUwKTsNCgkJfQ0KCQlpbnB1dFt0eXBlPXRleHRdIHsNCgkJCWJhY2tncm91bmQ6ICNGRkY7DQoJCQlib3JkZXI6IHNvbGlkIDFweCAjQUFBOw0KCQkJd2lkdGg6IDc5JTsNCgkJCWZsb2F0OiBsZWZ0Ow0KCQl9DQoJCWlucHV0W3R5cGU9c3VibWl0XSwgYnV0dG9uW3R5cGU9c3VibWl0XSB7DQoJCQliYWNrZ3JvdW5kOiAjREREOw0KCQkJYm9yZGVyOiBzb2xpZCAxcHggI0FBQTsNCgkJCXdpZHRoOiAxOSU7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCX0NCgkJaW5wdXQ6aG92ZXIsIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIgeyBib3gtc2hhZG93OiAwIDAgM3B4IHJnYigxNTAsIDE1MCwgMTUwKSB9DQoJCWlucHV0OmZvY3VzLCBidXR0b25bdHlwZT1zdWJtaXRdOmZvY3VzIHsgYm94LXNoYWRvdzogMCAwIDFweCAxcHggcmdiKDE3MCwgMTcwLCAyNTUpIH0NCgkJZm9vdGVyIHsgbWFyZ2luLXRvcDogMTBweCB9DQoJCWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDEwcHggfQ0KCQkuY2hhdCB7DQoJCQltaW4taGVpZ2h0OiAxMDBweDsNCgkJCWhlaWdodDogMjAwcHg7DQoJCQlvdmVyZmxvdy15OiBhdXRvOw0KCQkJcmVzaXplOiB2ZXJ0aWNhbDsNCgkJCWJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JleTsNCgkJfQ0KCQkuZGF0YSB7DQoJCQl3aWR0aDogMTkuNCU7DQoJCQloZWlnaHQ6IDEwMCU7DQoJCQlmbG9hdDogbGVmdDsNCgkJfQ0KCQkubXNncyB7DQoJCQl3aWR0aDogODAuNCU7DQoJCQloZWlnaHQ6IDEwMCU7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCX0NCgkJLm1zZyB7DQoJCQlib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJbWluLWhlaWdodDogMjFweDsNCgkJfQ0KCQkubXNnOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lIH0NCgkJLm1zZzpudGgtY2hpbGQoMm4rMCkgeyBiYWNrZ3JvdW5kOiByZ2IoMjM1LCAyMzUsIDIzNSkgfQ0KCQkubXNnOm50aC1jaGlsZCgybisxKSB7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KSB9DQoJCS5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSkgew0KCQkJcGFkZGluZy1yaWdodDogMnB4Ow0KCQkJYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpZ2h0Z3JleTsNCgkJCWRpc3BsYXk6IGluaXRpYWw7DQoJCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJCX0NCgkJc2VjdGlvbi5tc2dzIC5tc2cgew0KCQkJYm9yZGVyLXJpZ2h0OiBub25lOw0KCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJbGVmdDogLTJweDsNCgkJfQ0KCQlzZWN0aW9uLmRhdGEgLm1zZyAqLCBzZWN0aW9uLmRhdGEgLm1zZ3sNCgkJCW92ZXJmbG93OiBoaWRkZW47DQoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCgkJfQ0KCQlzZWN0aW9uLmRhdGEsIHNlY3Rpb24ubXNncyB7IHotaW5kZXg6IC0xIH0NCgkJc2VjdGlvbi5kYXRhIC5tc2c6aG92ZXIgew0KCQkJb3ZlcmZsb3c6IHZpc2libGU7DQoJCQl0ZXh0LW92ZXJmbG93OiB2aXNpYmxlOw0KCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJd2lkdGg6IDUwMCU7DQoJCQl6LWluZGV4OiA1Ow0KCQl9DQoJCWJ1dHRvbiBpbnB1dFtsaXN0PXNjXSB7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCQl3aWR0aDogNDBweDsNCgkJCWhlaWdodDogMTVweDsNCgkJCWZvbnQtc2l6ZTogMTFweDsNCgkJCXRleHQtYWxpZ246IGNlbnRlcjsNCgkJCWRpc3BsYXk6IG5vbmU7DQoJCX0NCgkJc2VjdGlvbi5sb2dpbiwgc2VjdGlvbi5yZWdpc3RlciB7DQoJCQl3aWR0aDogMzAlOw0KCQkJcG9zaXRpb246IGZpeGVkOw0KCQkJcmlnaHQ6IDElOw0KCQkJdG9wOiB2YXIoLS1yb3ctaGVpZ2h0KTsNCgkJCXBhZGRpbmc6IDEwcHg7DQoJCQl6LWluZGV4OiAxOw0KCQkJYmFja2dyb3VuZDogI0ZGRjsNCgkJCWJvcmRlcjogc29saWQgMXB4IGJsYWNrOw0KCQl9DQoJCXNlY3Rpb24ubG9naW4gc2VjdGlvbiBpbnB1dCwgc2VjdGlvbi5yZWdpc3RlciBzZWN0aW9uIGlucHV0IHsNCgkJCXdpZHRoOiAxMDAlOw0KCQkJbWFyZ2luOiA1cHggMDsNCgkJfQ0KCQlzZWN0aW9uLnJlZ2lzdGVyIHNlY3Rpb24gaW5wdXRbdHlwZT0ic3VibWl0Il0gew0KCQkJd2lkdGg6IDQ5JTsNCgkJCW1hcmdpbjogNXB4IDEuNXB4Ow0KCQkJZmxvYXQ6IGxlZnQ7DQoJCX0NCgk8L3N0eWxlPg0KCTwhLS0gUG9seWZpbGwNCgkJLSBOb2RlLmZpcnN0RWxlbWVudENoaWxkDQoJCS0gd2luZG93LnV0b2ENCgkJLSB3aW5kb3cuYXRvdQ0KCS0tPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJKGZ1bmN0aW9uKGNvbnN0cnVjdG9yKSB7DQoJCQlpZiAoY29uc3RydWN0b3IgJiYNCgkJCQljb25zdHJ1Y3Rvci5wcm90b3R5cGUgJiYNCgkJCQljb25zdHJ1Y3Rvci5wcm90b3R5cGUuZmlyc3RFbGVtZW50Q2hpbGQgPT0gbnVsbCkgew0KCQkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3Rvci5wcm90b3R5cGUsICdmaXJzdEVsZW1lbnRDaGlsZCcsIHsNCgkJCQkJZ2V0OiBmdW5jdGlvbigpIHsNCgkJCQkJCXZhciBub2RlLCBub2RlcyA9IHRoaXMuY2hpbGROb2RlcywgaSA9IDA7DQoJCQkJCQl3aGlsZSAobm9kZSA9IG5vZGVzW2krK10pIHsNCgkJCQkJCQlpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSkgew0KCQkJCQkJCQlyZXR1cm4gbm9kZTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCQlyZXR1cm4gbnVsbDsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KCQl9KSh3aW5kb3cuTm9kZSB8fCB3aW5kb3cuRWxlbWVudCk7DQoNCgkJKGZ1bmN0aW9uKCkgew0KCQkJLy8gdWNzLTIgc3RyaW5nIHRvIGJhc2U2NCBlbmNvZGVkIGFzY2lpDQoJCQl3aW5kb3cudXRvYSA9IGZ1bmN0aW9uKHN0cikgew0KCQkJCXJldHVybiB3aW5kb3cuYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSkpOw0KCQkJfQ0KCQkJLy8gYmFzZTY0IGVuY29kZWQgYXNjaWkgdG8gdWNzLTIgc3RyaW5nDQoJCQl3aW5kb3cuYXRvdSA9IGZ1bmN0aW9uKHN0cikgew0KCQkJCXJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKHdpbmRvdy5hdG9iKHN0cikpKTsNCgkJCX0NCgkJfSkoKQ0KCTwvc2NyaXB0Pg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJRXZlbnRUYXJnZXQucHJvdG90eXBlLm9uID0gZnVuY3Rpb24oLi4uYXJncykgew0KCQkJdGhpcy5hZGRFdmVudExpc3RlbmVyLmFwcGx5KHRoaXMsIGFyZ3MpOw0KCQl9Ow0KCQlmdW5jdGlvbiBzdGFydCgpIHsNCgkJCXJlc2l6ZVRyaW0oKTsNCgkJCXZhciBzbXMgPSBuZXcgUHJveHkoW10sIHsNCgkJCQlzZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSkgew0KCQkJCQl0YXJnZXRbcHJvcGVydHldID0gdmFsdWU7DQoJCQkJCXNldFRpbWVvdXQoKCkgPT4gew0KCQkJCQkJdGFyZ2V0LnNwbGljZSh0YXJnZXQuaW5kZXhPZihwcm9wZXJ0eSksIDEpOw0KCQkJCQl9LCAzMDAwKTsNCgkJCQkJaWYgKHRhcmdldC5sZW5ndGggPj0gNSl7DQoJCQkJCQl0YXJnZXQgPSBbXTsNCgkJCQkJCXRvZ2dsZVNNUy5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpKTsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoJCQl9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdJykub24oJ21vdXNlZW50ZXInLCBmdW5jdGlvbigpeyBzbXMucHVzaCgxKSB9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsgdGhpcy5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZScgfSk7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLm9uKCdibHVyJywgZnVuY3Rpb24oKXsgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnIH0pOw0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykub24oJ2tleWRvd24nLCBmdW5jdGlvbihldikgew0KCQkJCWlmKGV2LmtleUNvZGUgIT09IDEzKSByZXR1cm47DQoJCQkJaWYgKHRoaXMucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLnZhbHVlDQoJCQkJCSYmIHRoaXMucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLmxlbmd0aCA9PT0gNQ0KCQkJCQkmJiBOdW1iZXIodGhpcy5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdIGlucHV0JykpICE9PSBOYU4pIHsNCgkJCQkJc2VuZE1zZyh0aGlzLnZhbHVlLCBuZXcgRnVuY3Rpb24oKSwgdGhpcy5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdIGlucHV0JykudmFsdWUpOw0KCQkJCQl0aGlzLnZhbHVlID0gJyc7DQoJCQkJfWVsc2V7DQoJCQkJCXNlbmRNc2codGhpcy52YWx1ZSk7DQoJCQkJCXRoaXMudmFsdWUgPSAnJzsNCgkJCQl9DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uW25hbWU9c2VuZF0nKS5vbignY2xpY2snLCBmdW5jdGlvbihldikgew0KCQkJCWlmKHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKS52YWx1ZQ0KCQkJCQkmJiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykubGVuZ3RoID09PSA1DQoJCQkJCSYmIE51bWJlcih0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpICE9PSBOYU4pIHsNCgkJCQkJc2VuZE1zZyh0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUsIG5ldyBGdW5jdGlvbigpLCB0aGlzLnZhbHVlKTsNCgkJCQl9ZWxzZXsNCgkJCQkJc2VuZE1zZyh0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUpOw0KCQkJCQl0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUgPSAnJzsNCgkJCQl9DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYScpWzBdLm9uKCdjbGljaycsIHNob3dMb2dpbik7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhJylbMV0ub24oJ2NsaWNrJywgc2hvd1JlZ2lzdGVyKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5vbignYmx1cicsIGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuY2xhc3NOYW1lID0gJ2hpZGRlbiBsb2dpbic7DQoJCQl9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ucmVnaXN0ZXInKS5vbignYmx1cicsIGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuY2xhc3NOYW1lID0gJ2hpZGRlbiByZWdpc3Rlcic7DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1sb2dpbl1bdmFsdWU9RWlubG9nZ2VuXScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KCQkJCXZhciB0cmVlV2Fsa2VyID0gZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLnBhcmVudE5vZGUpLA0KCQkJCQlpbnB1dCA9IFtdOw0KCQkJCXdoaWxlKHRyZWVXYWxrZXIubmV4dE5vZGUoKSkgaWYodHJlZVdhbGtlci5jdXJyZW50Tm9kZS50YWdOYW1lID09PSAnSU5QVVQnKSBpbnB1dC5wdXNoKHRyZWVXYWxrZXIuY3VycmVudE5vZGUpOw0KCQkJCXdoaWxlKGlucHV0LnNoaWZ0KCkudmFsdWUgPSAnJyk7DQoJCQkJanNvbnAoYD9sb2dpbiZ1c2VyPSR7dXRvYShpbnB1dFswXS52YWx1ZSl9JnBhc3M9JHt1dG9hKGlucHV0WzFdLnZhbHVlKX1gLCBuZXcgRnVuY3Rpb24oKSk7DQoJCQl9KQ0KCQkJd2luZG93LmludCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KCQkJCXJlcXVlc3RNc2coKTsNCgkJCX0sIDEwMDApDQoJCX0NCgkJZG9jdW1lbnQub24oJ3JlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jdGlvbiguLi5hcmdzKSB7DQoJCQlpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykgc3RhcnQoKQ0KCQl9KTsNCgkJd2luZG93Lm9uKCdyZXNpemUnLCByZXNpemVUcmltKTsNCgkJd2luZG93Lm9uKCdsb2FkJywgcmVzaXplVHJpbSk7DQoJCWZ1bmN0aW9uIHNob3dMb2dpbihldikgew0KCQkJaWYoZXYgJiYgZXYucHJldmVudERlZmF1bHQpIGV2LnByZXZlbnREZWZhdWx0KCk7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLmxvZ2luJykuZm9jdXMoKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5jbGFzc05hbWUgPSAndmlzaWJsZSBsb2dpbic7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLnJlZ2lzdGVyJykuY2xhc3NOYW1lID0gJ2hpZGRlbiByZWdpc3Rlcic7DQoJCX0NCgkJZnVuY3Rpb24gc2hvd1JlZ2lzdGVyKGV2KSB7DQoJCQlpZihldiAmJiBldi5wcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ucmVnaXN0ZXInKS5mb2N1cygpOw0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2VjdGlvbi5yZWdpc3RlcicpLmNsYXNzTmFtZSA9ICd2aXNpYmxlIHJlZ2lzdGVyJzsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5jbGFzc05hbWUgPSAnaGlkZGVuIGxvZ2luJzsNCgkJfQ0KCQlmdW5jdGlvbiB0b2dnbGVTTVMoKSB7DQoJCQl2YXIgaSA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTsNCgkJCWkuc3R5bGUuZGlzcGxheSA9ICdpbmhlcml0JzsNCgkJCWkuZm9jdXMoKTsNCgkJfQ0KCQlmdW5jdGlvbiByZXNpemVUcmltKCkgew0KCQkJdmFyIHdpZHRoCT0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCwNCgkJCQloZWlnaHQJPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCwNCgkJCQlxcwkJPSAncXVlcnlTZWxlY3Rvcic7DQoJCQlzd2l0Y2godHJ1ZSkgew0KCQkJCWNhc2Ugd2lkdGggPD0gODQwICYmIHdpZHRoID4gNzAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdOdXIgTmFtZScpOw0KCQkJCQl2YXIgaGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSknKTsNCgkJCQkJZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdwkJCT0gJ2F1dG8nOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS53aWR0aAkJPSAnODAlJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUucGFkZGluZwkJPSAnMTBweCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLm1hcmdpbgkJPSAndmFyKC0tZG9jdW1lbnQtc3RhcnQpIGF1dG8nOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5ib3hTaGFkb3cJPSAnMCAwIDVweCAxcHggcmdiKDE1MCwgMTUwLCAxNTApJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLnBvc2l0aW9uID0gJ2luaGVyaXQnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gZm9vdGVyJykuc3R5bGUud2lkdGggPSAnJzsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBoaWRlLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQloaWRlW2ldLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQoJCQkJCQl2YXIgcG5DbGFzc05hbWUgPSAoaGlkZVtpXS5wYXJlbnROb2RlLmNsYXNzTmFtZS5tYXRjaCgvbXNnXGQrLykgfHwgWycnXSlbMF07DQoJCQkJCQlpZiAoIXBuQ2xhc3NOYW1lKSByZXR1cm4gY29uc29sZS5lcnJvcihuZXcgRXJyb3IoJ0NsYXNzIG5hbWUgb2YgJyArIGhpZGVbaV0gKyAnIG5vdCByZWNvbml6ZWQnKSk7DQoJCQkJCQlkb2N1bWVudFtxc10oJ3NlY3Rpb24uZGF0YSBkaXYuJyArIHBuQ2xhc3NOYW1lKS5zdHlsZS5oZWlnaHQgPSBkb2N1bWVudFtxc10oJ3NlY3Rpb24ubXNncyBkaXYuJyArIHBuQ2xhc3NOYW1lKS5jbGllbnRIZWlnaHQgKyAncHgnOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Ugd2lkdGggPD0gNzAwICYmIHdpZHRoID4gNDAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdWb2xsc3TDpG5kaWdlIEJyZWl0ZSArIE51ciBOYW1lJyk7DQoJCQkJCWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cJCQk9ICdhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUud2lkdGgJCT0gJzEwMCUnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5wYWRkaW5nCQk9ICcxMHB4IDAnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5tYXJnaW4JCT0gJ3ZhcigtLXJvdy1oZWlnaHQpIDAgMCAwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUuYm94U2hhZG93CT0gJ25vbmUnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gc2VjdGlvbi5jaGF0Jykuc3R5bGUuaGVpZ2h0ID0gDQoJCQkJCQkod2luZG93LmlubmVySGVpZ2h0IC0NCgkJCQkJCQkoZG9jdW1lbnRbcXNdKCdzZWN0aW9uLnRvcC5yb3cnKS5jbGllbnRIZWlnaHQNCgkJCQkJCQkrIGRvY3VtZW50W3FzXSgnbWFpbiBoZWFkZXInKS5jbGllbnRIZWlnaHQgKiAyLjUNCgkJCQkJCQkrIE51bWJlcihkb2N1bWVudFtxc10oJ21haW4gaGVhZGVyJykuc3R5bGUubWFyZ2luQm90dG9tLnNwbGl0KCdweCcpWzBdKQ0KCQkJCQkJCSsgZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLmNsaWVudEhlaWdodCkNCgkJCQkJCSkNCgkJCQkJCSsgJ3B4JzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLmJvdHRvbSA9ICcwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLndpZHRoID0gJzEwMCUnOw0KCQkJCQl2YXIgaGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSknKTsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBoaWRlLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQl2YXIgcG5DbGFzc05hbWUgPSAoaGlkZVtpXS5wYXJlbnROb2RlLmNsYXNzTmFtZS5tYXRjaCgvbXNnXGQrLykgfHwgWycnXSlbMF07DQoJCQkJCQlkb2N1bWVudFtxc10oJ3NlY3Rpb24uZGF0YSBkaXYuJyArIHBuQ2xhc3NOYW1lKS5zdHlsZS5oZWlnaHQgPSBkb2N1bWVudFtxc10oJ3NlY3Rpb24ubXNncyBkaXYuJyArIHBuQ2xhc3NOYW1lKS5jbGllbnRIZWlnaHQgKyAncHgnOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Ugd2lkdGggPD0gNDAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdOdXIgTmFjaHJpY2h0ICsgRmFyYmUnKTsNCgkJCQkJZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdwkJCT0gJ2hpZGRlbic7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLndpZHRoCQk9ICcxMDAlJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUucGFkZGluZwkJPSAnMTBweCAwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUubWFyZ2luCQk9ICd2YXIoLS1yb3ctaGVpZ2h0KSAwIDAgMCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLmJveFNoYWRvdwk9ICdub25lJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIHNlY3Rpb24uY2hhdCcpLnN0eWxlLmhlaWdodCA9IA0KCQkJCQkJKHdpbmRvdy5pbm5lckhlaWdodCAtDQoJCQkJCQkJKGRvY3VtZW50W3FzXSgnc2VjdGlvbi50b3Aucm93JykuY2xpZW50SGVpZ2h0DQoJCQkJCQkJKyBkb2N1bWVudFtxc10oJ21haW4gaGVhZGVyJykuY2xpZW50SGVpZ2h0ICogMi41DQoJCQkJCQkJKyBOdW1iZXIoZG9jdW1lbnRbcXNdKCdtYWluIGhlYWRlcicpLnN0eWxlLm1hcmdpbkJvdHRvbS5zcGxpdCgncHgnKVswXSkNCgkJCQkJCQkrIGRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5jbGllbnRIZWlnaHQpDQoJCQkJCQkpDQoJCQkJCQkrICdweCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5ib3R0b20gPSAnMCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS53aWR0aCA9ICcxMDAlJzsNCgkJCQkJdmFyIGhpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubXNnIHNwYW46bnRoLWNoaWxkKDJuKzEpJyk7DQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgaGlkZS5sZW5ndGg7IGkrKykgew0KCQkJCQkJdmFyIHBuQ2xhc3NOYW1lID0gKGhpZGVbaV0ucGFyZW50Tm9kZS5jbGFzc05hbWUubWF0Y2goL21zZ1xkKy8pIHx8IFsnJ10pWzBdOw0KCQkJCQkJZG9jdW1lbnRbcXNdKCdzZWN0aW9uLmRhdGEgZGl2LicgKyBwbkNsYXNzTmFtZSkuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnRbcXNdKCdzZWN0aW9uLm1zZ3MgZGl2LicgKyBwbkNsYXNzTmFtZSkuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQlkZWZhdWx0Og0KCQkJCQkvL2NvbnNvbGUubG9nKCdEZWZhdWx0Jyk7DQoJCQkJCWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cJCQk9ICdhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUud2lkdGgJCT0gJzgwJSc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLnBhZGRpbmcJCT0gJzEwcHgnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5tYXJnaW4JCT0gJ3ZhcigtLWRvY3VtZW50LXN0YXJ0KSBhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUuYm94U2hhZG93CT0gJzAgMCA1cHggMXB4IHJnYigxNTAsIDE1MCwgMTUwKSc7DQoJCQkJCXZhciBzaG93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1zZyBzcGFuOm50aC1jaGlsZCgybisxKScpOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gZm9vdGVyJykuc3R5bGUucG9zaXRpb24gPSAnaW5oZXJpdCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5ib3R0b20gPSAnJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLndpZHRoID0gJyc7DQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2hvdy5sZW5ndGg7IGkrKykgew0KCQkJCQkJc2hvd1tpXS5zdHlsZS5kaXNwbGF5ID0gJ2luaXRpYWwnOw0KCQkJCQkJdmFyIHBuQ2xhc3NOYW1lID0gKHNob3dbaV0ucGFyZW50Tm9kZS5jbGFzc05hbWUubWF0Y2goL21zZ1xkKy8pIHx8IFsnJ10pWzBdOw0KCQkJCQkJZG9jdW1lbnRbcXNdKCdzZWN0aW9uLmRhdGEgZGl2LicgKyBwbkNsYXNzTmFtZSkuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnRbcXNdKCdzZWN0aW9uLm1zZ3MgZGl2LicgKyBwbkNsYXNzTmFtZSkuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBhZGp1c3RIZWlnaHQoZWxlbTEsIGVsZW0yKSB7DQoJCQlpZiAoIWVsZW0xLnRhZ05hbWUgfHwgIWVsZW0yLnRhZ05hbWUpIHJldHVybiBuZXcgRXJyb3IoJ0FyZ3VtZW50IDEgb3IgMiBpcyBub3QgYSBIVE1MLUVsZW1lbnQnKTsNCgkJCWlmIChlbGVtMS5jbGllbnRIZWlnaHQgPiBlbGVtMi5jbGllbnRIZWlnaHQpIHsNCgkJCQlyZXR1cm4gZWxlbTIuc3R5bGUuaGVpZ2h0ID0gZWxlbTEuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCX0gZWxzZSBpZihlbGVtMi5jbGllbnRIZWlnaHQgPiBlbGVtMS5jbGllbnRIZWlnaHQpIHsNCgkJCQlyZXR1cm4gZWxlbTEuc3R5bGUuaGVpZ2h0ID0gZWxlbTIuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIG5ldyBFcnJvcignQm90aCBlbGVtZW50cyBoYXZlIHRoZSBzYW1lIGhlaWdodCcpOw0KCQkJfQ0KCQl9DQoJCWZ1bmN0aW9uIGFkZE1zZyhkYXRlLCB1c2VyLCBtc2cpIHsNCgkJCWlmIChkYXRlLl9fcHJvdG9fXy5jb25zdHJ1Y3RvciAhPT0gRGF0ZSkgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMSBpcyBub3QgYSBEYXRlIG9iamVjdCcpOw0KCQkJaWYodXNlci5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IFN0cmluZykgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMiBpcyBub3QgYSBTdHJpbmcnKTsNCgkJCWlmKG1zZy5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IFN0cmluZykgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMyBpcyBub3QgYSBTdHJpbmcnKTsNCgkJCXZhciB0ID0gZGF0ZS5nZXRUaW1lKCksDQoJCQkJZCA9IGRhdGUudG9TdHJpbmcoKSwNCgkJCQl0aW1lID0gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoKSwNCgkJCQlkYXRlID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTsNCgkJCXZhciBub2RlID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhldmFsKCdgJyArIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdC50ZW1wbGF0ZS5tc2cnKS5pbm5lckhUTUwgKyAnYCcpLCAndGV4dC9odG1sJykuYm9keS5jaGlsZHJlbjsNCgkJCXZhciBjaGF0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWFpbiBzZWN0aW9uLmNoYXQnKTsNCgkJCXRyeSB7DQoJCQkJdmFyIG5hbWUJPSBub2RlWzBdLA0KCQkJCQltc2cJCT0gbm9kZVsxXTsNCgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLmRhdGEnKS5hcHBlbmRDaGlsZChuYW1lKTsNCgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLm1zZ3MnKS5hcHBlbmRDaGlsZChtc2cpOw0KCQkJCW5hbWUuc3R5bGUuaGVpZ2h0ID0gbXNnLmNsaWVudEhlaWdodCArICdweCc7DQoJCQkJY2hhdC5zY3JvbGxUbygwLCBjaGF0LnNjcm9sbEhlaWdodCk7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9IGNhdGNoKGUpIHsNCgkJCQlyZXR1cm4gY29uc29sZS5lcnJvcihlKTsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBqc29ucCh1cmwsIGNiKSB7DQoJCQlpZiAoIWNiIHx8IGNiLl9fcHJvdG9fXy5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHJldHVybiBuZXcgRXJyb3IoJ0NhbGxiYWNrIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpOw0KCQkJdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOw0KCQkJc2NyaXB0LnNyYyA9IHVybDsNCgkJCXNjcmlwdC5mb3IgPSAnSlNPTlAnOw0KCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5zY3JpcHRzLmxlbmd0aDsgaSsrKSBpZiAoZG9jdW1lbnQuc2NyaXB0c1tpXS5nZXRBdHRyaWJ1dGUoJ2ZvcicpID09PSAnSlNPTlAnKSBkb2N1bWVudC5zY3JpcHRzW2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuc2NyaXB0c1tpXSk7DQoJCQl3aW5kb3cuY2IgPSBjYjsNCgkJCWRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsNCgkJCWRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQoc2NyaXB0KTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWZ1bmN0aW9uIHNlbmRNc2cobXNnLCBjYiwgc2MpIHsNCgkJCXZhciBkCT0gbmV3IERhdGUoKSwNCgkJCQljYgk9IGNiIHx8IG5ldyBGdW5jdGlvbigpOw0KCQkJcmV0dXJuIGpzb25wKGxvY2F0aW9uLm9yaWdpbiArIGxvY2F0aW9uLnBhdGhuYW1lICsgJz91c2VyPScgKyBlbmNvZGVVUklDb21wb25lbnQoIkdhc3QiKSArICcmaWQ9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiLTEiKSArICcmZGF0ZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGQudG9KU09OKCkpICsgJyZ0aW1lPScgKyBkLmdldFRpbWUoKSArICcmbXNnPScgKyBlbmNvZGVVUklDb21wb25lbnQobXNnKSArICgoc2MgJiYgTnVtYmVyKHNjKSAhPT0gTmFOKSA/ICcmc2M9JyArIHNjIDogJycpLCBjYik7DQoJCX0NCgkJZnVuY3Rpb24gcmVxdWVzdE1zZyhpLCBjYikgew0KCQkJaQk9IGkJCXx8ICcnOw0KCQkJY2IJPSBjYgl8fCBuZXcgRnVuY3Rpb24oKTsNCgkJCWlmIChjYi5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSByZXR1cm4gbmV3IEVycm9yKCdDYWxsYmFjayBhcmd1bWVudCBpcyBub3IgYSBmdW5jdGlvbicpOwkNCgkJCXZhciB0ID0gaS5fX3Byb3RvX18uY29uc3RydWN0b3IsDQoJCQkJcXVlcnkgPSBsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZSArICc/Z2V0JzsNCgkJCXN3aXRjaCh0cnVlKXsNCgkJCQljYXNlIHQgPT09IE51bWJlcjoNCgkJCQkJcXVlcnkgKz0gJz10aW1lJnZhbD0nICsgaS5yZXBsYWNlKC8jL2csICclMjMnKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBCb29sZWFuKGkubWF0Y2goLy4rI1xkKyQvZykpOg0KCQkJCQlxdWVyeSArPSAnPXVzZXImcHJvcD1mdWxsJnZhbD0nICsgaS5yZXBsYWNlKC8jL2csICclMjMnKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSB0ID09PSBTdHJpbmcgJiYgaSAhPT0gJyc6DQoJCQkJCXF1ZXJ5ICs9ICc9dXNlciZwcm9wPW5hbWUmdmFsPScgKyBpLnJlcGxhY2UoLyMvZywgJyUyMycpOw0KCQkJCQlicmVhazsNCgkJCQlkZWZhdWx0Og0KCQkJCQlicmVhazsNCgkJCX0NCgkJCXJldHVybiBqc29ucChxdWVyeSArICcmcmVxLXRpbWU9JyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpLCBjYikNCgkJfQ0KCTwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L3RlbXBsYXRlIiBjbGFzcz0idGVtcGxhdGUgbXNnIj4NCgkJPGRpdiBjbGFzcz0ibXNnIG1zZyR7dH0iIHVzZXI9IiR7dXNlcn0iIGRhdGU9IiR7ZH0iIHRpbWU9IiR7dH0iPg0KCQkJPHNwYW4gdGl0bGU9IiR7ZGF0ZX0gfCAke3RpbWV9Ij4ke3RpbWUubWF0Y2goL1xkezJ9OlxkezJ9LylbMF19PC9zcGFuPg0KCQkJPHNwYW4+JHt1c2VyfTwvc3Bhbj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xhc3M9Im1zZyBtc2cke3R9IiB1c2VyPSIke3VzZXJ9IiBkYXRlPSIke2R9IiB0aW1lPSIke3R9Ij4NCgkJCTxwcmU+JHttc2d9PC9wcmU+DQoJCTwvZGl2Pg0KCTwvc2NyaXB0Pg0KCTxzZWN0aW9uIGNsYXNzPSJoaWRkZW4gbG9naW4iIHRhYmluZGV4PSIxMCI+DQoJCTxoZWFkZXI+DQoJCQk8aDM+TG9naW48L2gzPg0KCQkJPHNwYW4+SGllciBrYW5uc3QgZHUgZGljaCBhbm1lbGRlbiwgZmFsbHMgZHUgZGlyIGVpbmVuIE5hbWVuIGF1c2dlc3VjaHQgaGFzdC48L3NwYW4+DQoJCTwvaGVhZGVyPg0KCQk8c2VjdGlvbj4NCgkJCTxkaXYgZm9yPSJ1c2VyIj5CZW51dHplcm5hbWU8L2Rpdj4NCgkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VyIiBwbGFjZWhvbGRlcj0iQmVudXR6ZXJuYW1lIiByZXF1aXJlZD0iIj4NCgkJCTxkaXYgZm9yPSJwYXNzIj5QYXNzd29ydDwvZGl2Pg0KCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiBwbGFjZWhvbGRlcj0iUGFzc3dvcnQiIHJlcXVpcmVkPSIiPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9naW4iIHZhbHVlPSJFaW5sb2dnZW4iPg0KCQk8L3NlY3Rpb24+DQoJPC9zZWN0aW9uPg0KCTxzZWN0aW9uIGNsYXNzPSJoaWRkZW4gcmVnaXN0ZXIiIHRhYmluZGV4PSIxMSI+DQoJCTxoZWFkZXI+DQoJCQk8aDM+UmVnaXN0cmllcmVuPC9oMz4NCgkJCTxzcGFuPkhpZXIga2FubnN0IGR1IGRpY2ggcmVnaXN0cmllcmVuLCB1bSBtaXQgZGVpbmVtIGVpZ2VuZW4gTmFtZW4gc2NocmVpYmVuIHp1IGvDtm5uZW4uPC9zcGFuPg0KCQk8L2hlYWRlcj4NCgkJPHNlY3Rpb24+DQoJCQk8ZGl2IGZvcj0idXNlciI+QmVudXR6ZXJuYW1lPC9kaXY+DQoJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlciIgcGxhY2Vob2xkZXI9IkJlbnV0emVybmFtZSIgcmVxdWlyZWQ9IiI+DQoJCQk8ZGl2IGZvcj0icGFzcyI+UGFzc3dvcnQ8L2Rpdj4NCgkJCTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzcyIgcGxhY2Vob2xkZXI9IlBhc3N3b3J0Ij4NCgkJCTxkaXYgZm9yPSJwYXNzIj5QYXNzd29ydCB3aWVkZXJob2xlbjwvZGl2Pg0KCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiBwbGFjZWhvbGRlcj0iUGFzc3dvcnQiPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0icmVnaXN0ZXIiIHZhbHVlPSJyZWdpc3RyaWVyZW4iPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0idGVtcHJlZ2lzdGVyIiB2YWx1ZT0idGVtcG9yw6RyIHJlZ2lzdHJpZXJlbiI+DQoJCTwvc2VjdGlvbj4NCgk8L3NlY3Rpb24+DQoJPHNlY3Rpb24gY2xhc3M9InRvcCByb3ciPg0KCQk8c2VjdGlvbiBjbGFzcz0iZlJpZ2h0Ij4NCgkJCTxhIGhyZWY9Ij9sb2dpbiI+TG9naW48L2E+DQoJCQk8YSBocmVmPSI/cmVnaXN0ZXIiPlJlZ2lzdHJpZXJlbjwvYT4NCgkJPC9zZWN0aW9uPg0KCTwvc2VjdGlvbj4NCgk8bWFpbj4NCgkJPGhlYWRlcj4NCgkJCTxoMj5HYW56IHN0cmVuZyBnZWhlaW1lciBDaGF0PC9oMj4NCgkJPC9oZWFkZXI+DQoJCTxzZWN0aW9uIGNsYXNzPSJjaGF0Ij4NCgkJCTxzZWN0aW9uIGNsYXNzPSJkYXRhIj48L3NlY3Rpb24+DQoJCQk8c2VjdGlvbiBjbGFzcz0ibXNncyI+PC9zZWN0aW9uPg0KCQk8L3NlY3Rpb24+DQoJCTxmb290ZXI+DQoJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibXNnIj4NCgkJCTxidXR0b24gdHlwZT0ic3VibWl0IiBuYW1lPSJzZW5kIj4NCgkJCQlTZW5kZW4NCgkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2MiIGxpc3Q9InNjIiBwbGFjZWhvbGRlcj0iMHgwMDEiPg0KCQkJCTxkYXRhbGlzdCBpZD0ic2MiPjwvZGF0YWxpc3Q+DQoJCQk8L2J1dHRvbj4NCgkJCTxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCgkJPC9mb290ZXI+DQoJPC9tYWluPg0KPC9ib2R5Pg0KPC9odG1sPg==
——————————————————–
Falls das nicht klappt, kann man auch einfach auf diesen Link klicken. Da steht genau das gleiche drin.
Das sollte (theoretisch) die Client-Seite eines Chats sein, den ich geschrieben habe. Ich habe ihn als base64 String codiert, falls das jemandem etwas sagt, dass man alles direkt in die Suchleiste eingeben kann.
Weil das der ganze Client (codiert) ist, sollte es auch funktionieren, wenn man keine Internetverbindung hat.
Ich bin mir jetzt aber nicht sicher, ob es auch wirklich funktioniert, weil es so nicht mehr strukturiert aussieht, sondern eher wie ein Haufen Schrott.
Danke, falls ihr es probiert
Liebe Grüße
Arnie
PS:
Funktionieren kann der Chat natürlich nicht, weil es nur die Clientseite ist und an keinen Server angebunden.
Edit:
- PostScript hinzugefügt
- Rechtschreibfehler verbessert
- Satz hinzugefügt
Kann bitte einmal jemand alles was hier zwischen den beiden Strichen steht in die Adressleiste des Browsers kopieren und Eingabe drücken?
Ich weiß, es sind 23686 Zeichen aber wenn man mit der Maus scrollt, sollte es gehen.
——————————————————–
data:text/html;base64,PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPjwhLS0gTWF4aW1hbGUgQmVudXR6ZXJuYW1lLUzDpG5nZTogMjMgWmVpY2hlbiAtLT4NCgk8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQoJPHRpdGxlPkRhbnogU3RyZW5nIGdlaGVpbWVyIENoYXQ8L3RpdGxlPg0KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJCTpyb290IHsNCgkJCS0tcm93LWhlaWdodDogMzBweDsNCgkJCS0tZG9jdW1lbnQtc3RhcnQ6IDQwcHg7DQoJCX0NCgkJOmZvY3VzIHsgYm94LXNoYWRvdzogMCAwIDFweCAxcHggcmdiKDE3MCwgMTcwLCAyNTUpIH0NCgkJKiB7DQoJCQltYXJnaW46IDA7DQoJCQlwYWRkaW5nOiAwOw0KCQl9DQoJCS50b3AgeyB0b3A6IDAgfQ0KCQkuYm90dG9tIHsgYm90dG9tOiAwIH0NCgkJLmNsZWFyIHsgY2xlYXI6IGJvdGggfQ0KCQkuZlJpZ2h0IHsgZmxvYXQ6IHJpZ2h0IH0NCgkJLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgfQ0KCQkudmlzaWJsZSB7IGRpc3BsYXk6IGluaGVyaXQgfQ0KCQkucm93IHsNCgkJCXBhZGRpbmc6IDAgN3B4Ow0KCQkJd2lkdGg6IDEwMCU7DQoJCQl3aWR0aDogLW1vei1hdmFpbGFibGU7DQoJCQl3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsNCgkJCWhlaWdodDogdmFyKC0tcm93LWhlaWdodCk7DQoJCQlwb3NpdGlvbjogZml4ZWQ7DQoJCQliYWNrZ3JvdW5kOiAjNWQ4MGZmOw0KCQkJei1pbmRleDogMTA7DQoJCX0NCgkJc2VjdGlvbi5yb3cgKiB7DQoJCQlsaW5lLWhlaWdodDogdmFyKC0tcm93LWhlaWdodCk7DQoJCQl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJCQlmb250LXNpemU6IDE5cHg7DQoJCQlmb250LWZhbWlseTogc2VyaWY7DQoJCQljb2xvcjogI0ZGRjsNCgkJfQ0KCQlzZWN0aW9uLnJvdyAqICogew0KCQkJcGFkZGluZzogMCAzcHg7DQoJCX0NCgkJc2VjdGlvbi5yb3cgKiAqOmhvdmVyIHsNCgkJCWJveC1zaGFkb3c6IDAgMCAzcHggI0ZGRjsNCgkJfQ0KCQltYWluIHsNCgkJCXdpZHRoOiA4MCU7DQoJCQltYXJnaW46IHZhcigtLWRvY3VtZW50LXN0YXJ0KSBhdXRvOw0KCQkJcGFkZGluZzogMTBweDsNCgkJCWJveC1zaGFkb3c6IDAgMCA1cHggMXB4IHJnYigxNTAsIDE1MCwgMTUwKTsNCgkJfQ0KCQlpbnB1dFt0eXBlPXRleHRdIHsNCgkJCWJhY2tncm91bmQ6ICNGRkY7DQoJCQlib3JkZXI6IHNvbGlkIDFweCAjQUFBOw0KCQkJd2lkdGg6IDc5JTsNCgkJCWZsb2F0OiBsZWZ0Ow0KCQl9DQoJCWlucHV0W3R5cGU9c3VibWl0XSwgYnV0dG9uW3R5cGU9c3VibWl0XSB7DQoJCQliYWNrZ3JvdW5kOiAjREREOw0KCQkJYm9yZGVyOiBzb2xpZCAxcHggI0FBQTsNCgkJCXdpZHRoOiAxOSU7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCX0NCgkJaW5wdXQ6aG92ZXIsIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIgeyBib3gtc2hhZG93OiAwIDAgM3B4IHJnYigxNTAsIDE1MCwgMTUwKSB9DQoJCWlucHV0OmZvY3VzLCBidXR0b25bdHlwZT1zdWJtaXRdOmZvY3VzIHsgYm94LXNoYWRvdzogMCAwIDFweCAxcHggcmdiKDE3MCwgMTcwLCAyNTUpIH0NCgkJZm9vdGVyIHsgbWFyZ2luLXRvcDogMTBweCB9DQoJCWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDEwcHggfQ0KCQkuY2hhdCB7DQoJCQltaW4taGVpZ2h0OiAxMDBweDsNCgkJCWhlaWdodDogMjAwcHg7DQoJCQlvdmVyZmxvdy15OiBhdXRvOw0KCQkJcmVzaXplOiB2ZXJ0aWNhbDsNCgkJCWJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JleTsNCgkJfQ0KCQkuZGF0YSB7DQoJCQl3aWR0aDogMTkuNCU7DQoJCQloZWlnaHQ6IDEwMCU7DQoJCQlmbG9hdDogbGVmdDsNCgkJfQ0KCQkubXNncyB7DQoJCQl3aWR0aDogODAuNCU7DQoJCQloZWlnaHQ6IDEwMCU7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCX0NCgkJLm1zZyB7DQoJCQlib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJbWluLWhlaWdodDogMjFweDsNCgkJfQ0KCQkubXNnOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lIH0NCgkJLm1zZzpudGgtY2hpbGQoMm4rMCkgeyBiYWNrZ3JvdW5kOiByZ2IoMjM1LCAyMzUsIDIzNSkgfQ0KCQkubXNnOm50aC1jaGlsZCgybisxKSB7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KSB9DQoJCS5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSkgew0KCQkJcGFkZGluZy1yaWdodDogMnB4Ow0KCQkJYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggbGlnaHRncmV5Ow0KCQkJYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpZ2h0Z3JleTsNCgkJCWRpc3BsYXk6IGluaXRpYWw7DQoJCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJCX0NCgkJc2VjdGlvbi5tc2dzIC5tc2cgew0KCQkJYm9yZGVyLXJpZ2h0OiBub25lOw0KCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJbGVmdDogLTJweDsNCgkJfQ0KCQlzZWN0aW9uLmRhdGEgLm1zZyAqLCBzZWN0aW9uLmRhdGEgLm1zZ3sNCgkJCW92ZXJmbG93OiBoaWRkZW47DQoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCgkJfQ0KCQlzZWN0aW9uLmRhdGEsIHNlY3Rpb24ubXNncyB7IHotaW5kZXg6IC0xIH0NCgkJc2VjdGlvbi5kYXRhIC5tc2c6aG92ZXIgew0KCQkJb3ZlcmZsb3c6IHZpc2libGU7DQoJCQl0ZXh0LW92ZXJmbG93OiB2aXNpYmxlOw0KCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJd2lkdGg6IDUwMCU7DQoJCQl6LWluZGV4OiA1Ow0KCQl9DQoJCWJ1dHRvbiBpbnB1dFtsaXN0PXNjXSB7DQoJCQlmbG9hdDogcmlnaHQ7DQoJCQl3aWR0aDogNDBweDsNCgkJCWhlaWdodDogMTVweDsNCgkJCWZvbnQtc2l6ZTogMTFweDsNCgkJCXRleHQtYWxpZ246IGNlbnRlcjsNCgkJCWRpc3BsYXk6IG5vbmU7DQoJCX0NCgkJc2VjdGlvbi5sb2dpbiwgc2VjdGlvbi5yZWdpc3RlciB7DQoJCQl3aWR0aDogMzAlOw0KCQkJcG9zaXRpb246IGZpeGVkOw0KCQkJcmlnaHQ6IDElOw0KCQkJdG9wOiB2YXIoLS1yb3ctaGVpZ2h0KTsNCgkJCXBhZGRpbmc6IDEwcHg7DQoJCQl6LWluZGV4OiAxOw0KCQkJYmFja2dyb3VuZDogI0ZGRjsNCgkJCWJvcmRlcjogc29saWQgMXB4IGJsYWNrOw0KCQl9DQoJCXNlY3Rpb24ubG9naW4gc2VjdGlvbiBpbnB1dCwgc2VjdGlvbi5yZWdpc3RlciBzZWN0aW9uIGlucHV0IHsNCgkJCXdpZHRoOiAxMDAlOw0KCQkJbWFyZ2luOiA1cHggMDsNCgkJfQ0KCQlzZWN0aW9uLnJlZ2lzdGVyIHNlY3Rpb24gaW5wdXRbdHlwZT0ic3VibWl0Il0gew0KCQkJd2lkdGg6IDQ5JTsNCgkJCW1hcmdpbjogNXB4IDEuNXB4Ow0KCQkJZmxvYXQ6IGxlZnQ7DQoJCX0NCgk8L3N0eWxlPg0KCTwhLS0gUG9seWZpbGwNCgkJLSBOb2RlLmZpcnN0RWxlbWVudENoaWxkDQoJCS0gd2luZG93LnV0b2ENCgkJLSB3aW5kb3cuYXRvdQ0KCS0tPg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJKGZ1bmN0aW9uKGNvbnN0cnVjdG9yKSB7DQoJCQlpZiAoY29uc3RydWN0b3IgJiYNCgkJCQljb25zdHJ1Y3Rvci5wcm90b3R5cGUgJiYNCgkJCQljb25zdHJ1Y3Rvci5wcm90b3R5cGUuZmlyc3RFbGVtZW50Q2hpbGQgPT0gbnVsbCkgew0KCQkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3Rvci5wcm90b3R5cGUsICdmaXJzdEVsZW1lbnRDaGlsZCcsIHsNCgkJCQkJZ2V0OiBmdW5jdGlvbigpIHsNCgkJCQkJCXZhciBub2RlLCBub2RlcyA9IHRoaXMuY2hpbGROb2RlcywgaSA9IDA7DQoJCQkJCQl3aGlsZSAobm9kZSA9IG5vZGVzW2krK10pIHsNCgkJCQkJCQlpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSkgew0KCQkJCQkJCQlyZXR1cm4gbm9kZTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCQlyZXR1cm4gbnVsbDsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KCQl9KSh3aW5kb3cuTm9kZSB8fCB3aW5kb3cuRWxlbWVudCk7DQoNCgkJKGZ1bmN0aW9uKCkgew0KCQkJLy8gdWNzLTIgc3RyaW5nIHRvIGJhc2U2NCBlbmNvZGVkIGFzY2lpDQoJCQl3aW5kb3cudXRvYSA9IGZ1bmN0aW9uKHN0cikgew0KCQkJCXJldHVybiB3aW5kb3cuYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc3RyKSkpOw0KCQkJfQ0KCQkJLy8gYmFzZTY0IGVuY29kZWQgYXNjaWkgdG8gdWNzLTIgc3RyaW5nDQoJCQl3aW5kb3cuYXRvdSA9IGZ1bmN0aW9uKHN0cikgew0KCQkJCXJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKHdpbmRvdy5hdG9iKHN0cikpKTsNCgkJCX0NCgkJfSkoKQ0KCTwvc2NyaXB0Pg0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJRXZlbnRUYXJnZXQucHJvdG90eXBlLm9uID0gZnVuY3Rpb24oLi4uYXJncykgew0KCQkJdGhpcy5hZGRFdmVudExpc3RlbmVyLmFwcGx5KHRoaXMsIGFyZ3MpOw0KCQl9Ow0KCQlmdW5jdGlvbiBzdGFydCgpIHsNCgkJCXJlc2l6ZVRyaW0oKTsNCgkJCXZhciBzbXMgPSBuZXcgUHJveHkoW10sIHsNCgkJCQlzZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSkgew0KCQkJCQl0YXJnZXRbcHJvcGVydHldID0gdmFsdWU7DQoJCQkJCXNldFRpbWVvdXQoKCkgPT4gew0KCQkJCQkJdGFyZ2V0LnNwbGljZSh0YXJnZXQuaW5kZXhPZihwcm9wZXJ0eSksIDEpOw0KCQkJCQl9LCAzMDAwKTsNCgkJCQkJaWYgKHRhcmdldC5sZW5ndGggPj0gNSl7DQoJCQkJCQl0YXJnZXQgPSBbXTsNCgkJCQkJCXRvZ2dsZVNNUy5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpKTsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoJCQl9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdJykub24oJ21vdXNlZW50ZXInLCBmdW5jdGlvbigpeyBzbXMucHVzaCgxKSB9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsgdGhpcy5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZScgfSk7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLm9uKCdibHVyJywgZnVuY3Rpb24oKXsgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnIH0pOw0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykub24oJ2tleWRvd24nLCBmdW5jdGlvbihldikgew0KCQkJCWlmKGV2LmtleUNvZGUgIT09IDEzKSByZXR1cm47DQoJCQkJaWYgKHRoaXMucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLnZhbHVlDQoJCQkJCSYmIHRoaXMucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCdidXR0b25bbmFtZT1zZW5kXSBpbnB1dCcpLmxlbmd0aCA9PT0gNQ0KCQkJCQkmJiBOdW1iZXIodGhpcy5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdIGlucHV0JykpICE9PSBOYU4pIHsNCgkJCQkJc2VuZE1zZyh0aGlzLnZhbHVlLCBuZXcgRnVuY3Rpb24oKSwgdGhpcy5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbltuYW1lPXNlbmRdIGlucHV0JykudmFsdWUpOw0KCQkJCQl0aGlzLnZhbHVlID0gJyc7DQoJCQkJfWVsc2V7DQoJCQkJCXNlbmRNc2codGhpcy52YWx1ZSk7DQoJCQkJCXRoaXMudmFsdWUgPSAnJzsNCgkJCQl9DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uW25hbWU9c2VuZF0nKS5vbignY2xpY2snLCBmdW5jdGlvbihldikgew0KCQkJCWlmKHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKS52YWx1ZQ0KCQkJCQkmJiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykubGVuZ3RoID09PSA1DQoJCQkJCSYmIE51bWJlcih0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpICE9PSBOYU4pIHsNCgkJCQkJc2VuZE1zZyh0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUsIG5ldyBGdW5jdGlvbigpLCB0aGlzLnZhbHVlKTsNCgkJCQl9ZWxzZXsNCgkJCQkJc2VuZE1zZyh0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUpOw0KCQkJCQl0aGlzLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1tc2ddJykudmFsdWUgPSAnJzsNCgkJCQl9DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYScpWzBdLm9uKCdjbGljaycsIHNob3dMb2dpbik7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhJylbMV0ub24oJ2NsaWNrJywgc2hvd1JlZ2lzdGVyKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5vbignYmx1cicsIGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuY2xhc3NOYW1lID0gJ2hpZGRlbiBsb2dpbic7DQoJCQl9KTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ucmVnaXN0ZXInKS5vbignYmx1cicsIGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuY2xhc3NOYW1lID0gJ2hpZGRlbiByZWdpc3Rlcic7DQoJCQl9KQ0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1sb2dpbl1bdmFsdWU9RWlubG9nZ2VuXScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KCQkJCXZhciB0cmVlV2Fsa2VyID0gZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLnBhcmVudE5vZGUpLA0KCQkJCQlpbnB1dCA9IFtdOw0KCQkJCXdoaWxlKHRyZWVXYWxrZXIubmV4dE5vZGUoKSkgaWYodHJlZVdhbGtlci5jdXJyZW50Tm9kZS50YWdOYW1lID09PSAnSU5QVVQnKSBpbnB1dC5wdXNoKHRyZWVXYWxrZXIuY3VycmVudE5vZGUpOw0KCQkJCXdoaWxlKGlucHV0LnNoaWZ0KCkudmFsdWUgPSAnJyk7DQoJCQkJanNvbnAoYD9sb2dpbiZ1c2VyPSR7dXRvYShpbnB1dFswXS52YWx1ZSl9JnBhc3M9JHt1dG9hKGlucHV0WzFdLnZhbHVlKX1gLCBuZXcgRnVuY3Rpb24oKSk7DQoJCQl9KQ0KCQkJd2luZG93LmludCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KCQkJCXJlcXVlc3RNc2coKTsNCgkJCX0sIDEwMDApDQoJCX0NCgkJZG9jdW1lbnQub24oJ3JlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jdGlvbiguLi5hcmdzKSB7DQoJCQlpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykgc3RhcnQoKQ0KCQl9KTsNCgkJd2luZG93Lm9uKCdyZXNpemUnLCByZXNpemVUcmltKTsNCgkJd2luZG93Lm9uKCdsb2FkJywgcmVzaXplVHJpbSk7DQoJCWZ1bmN0aW9uIHNob3dMb2dpbihldikgew0KCQkJaWYoZXYgJiYgZXYucHJldmVudERlZmF1bHQpIGV2LnByZXZlbnREZWZhdWx0KCk7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLmxvZ2luJykuZm9jdXMoKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5jbGFzc05hbWUgPSAndmlzaWJsZSBsb2dpbic7DQoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLnJlZ2lzdGVyJykuY2xhc3NOYW1lID0gJ2hpZGRlbiByZWdpc3Rlcic7DQoJCX0NCgkJZnVuY3Rpb24gc2hvd1JlZ2lzdGVyKGV2KSB7DQoJCQlpZihldiAmJiBldi5wcmV2ZW50RGVmYXVsdCkgZXYucHJldmVudERlZmF1bHQoKTsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ucmVnaXN0ZXInKS5mb2N1cygpOw0KCQkJZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2VjdGlvbi5yZWdpc3RlcicpLmNsYXNzTmFtZSA9ICd2aXNpYmxlIHJlZ2lzdGVyJzsNCgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24ubG9naW4nKS5jbGFzc05hbWUgPSAnaGlkZGVuIGxvZ2luJzsNCgkJfQ0KCQlmdW5jdGlvbiB0b2dnbGVTTVMoKSB7DQoJCQl2YXIgaSA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTsNCgkJCWkuc3R5bGUuZGlzcGxheSA9ICdpbmhlcml0JzsNCgkJCWkuZm9jdXMoKTsNCgkJfQ0KCQlmdW5jdGlvbiByZXNpemVUcmltKCkgew0KCQkJdmFyIHdpZHRoCT0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCwNCgkJCQloZWlnaHQJPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCwNCgkJCQlxcwkJPSAncXVlcnlTZWxlY3Rvcic7DQoJCQlzd2l0Y2godHJ1ZSkgew0KCQkJCWNhc2Ugd2lkdGggPD0gODQwICYmIHdpZHRoID4gNzAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdOdXIgTmFtZScpOw0KCQkJCQl2YXIgaGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSknKTsNCgkJCQkJZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdwkJCT0gJ2F1dG8nOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS53aWR0aAkJPSAnODAlJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUucGFkZGluZwkJPSAnMTBweCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLm1hcmdpbgkJPSAndmFyKC0tZG9jdW1lbnQtc3RhcnQpIGF1dG8nOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5ib3hTaGFkb3cJPSAnMCAwIDVweCAxcHggcmdiKDE1MCwgMTUwLCAxNTApJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLnBvc2l0aW9uID0gJ2luaGVyaXQnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gZm9vdGVyJykuc3R5bGUud2lkdGggPSAnJzsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBoaWRlLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQloaWRlW2ldLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQoJCQkJCQl2YXIgcG5DbGFzc05hbWUgPSAoaGlkZVtpXS5wYXJlbnROb2RlLmNsYXNzTmFtZS5tYXRjaCgvbXNnXGQrLykgfHwgWycnXSlbMF07DQoJCQkJCQlpZiAoIXBuQ2xhc3NOYW1lKSByZXR1cm4gY29uc29sZS5lcnJvcihuZXcgRXJyb3IoJ0NsYXNzIG5hbWUgb2YgJyArIGhpZGVbaV0gKyAnIG5vdCByZWNvbml6ZWQnKSk7DQoJCQkJCQlkb2N1bWVudFtxc10oJ3NlY3Rpb24uZGF0YSBkaXYuJyArIHBuQ2xhc3NOYW1lKS5zdHlsZS5oZWlnaHQgPSBkb2N1bWVudFtxc10oJ3NlY3Rpb24ubXNncyBkaXYuJyArIHBuQ2xhc3NOYW1lKS5jbGllbnRIZWlnaHQgKyAncHgnOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Ugd2lkdGggPD0gNzAwICYmIHdpZHRoID4gNDAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdWb2xsc3TDpG5kaWdlIEJyZWl0ZSArIE51ciBOYW1lJyk7DQoJCQkJCWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cJCQk9ICdhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUud2lkdGgJCT0gJzEwMCUnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5wYWRkaW5nCQk9ICcxMHB4IDAnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5tYXJnaW4JCT0gJ3ZhcigtLXJvdy1oZWlnaHQpIDAgMCAwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUuYm94U2hhZG93CT0gJ25vbmUnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gc2VjdGlvbi5jaGF0Jykuc3R5bGUuaGVpZ2h0ID0gDQoJCQkJCQkod2luZG93LmlubmVySGVpZ2h0IC0NCgkJCQkJCQkoZG9jdW1lbnRbcXNdKCdzZWN0aW9uLnRvcC5yb3cnKS5jbGllbnRIZWlnaHQNCgkJCQkJCQkrIGRvY3VtZW50W3FzXSgnbWFpbiBoZWFkZXInKS5jbGllbnRIZWlnaHQgKiAyLjUNCgkJCQkJCQkrIE51bWJlcihkb2N1bWVudFtxc10oJ21haW4gaGVhZGVyJykuc3R5bGUubWFyZ2luQm90dG9tLnNwbGl0KCdweCcpWzBdKQ0KCQkJCQkJCSsgZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLmNsaWVudEhlaWdodCkNCgkJCQkJCSkNCgkJCQkJCSsgJ3B4JzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLmJvdHRvbSA9ICcwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLndpZHRoID0gJzEwMCUnOw0KCQkJCQl2YXIgaGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc2cgc3BhbjpudGgtY2hpbGQoMm4rMSknKTsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBoaWRlLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQl2YXIgcG5DbGFzc05hbWUgPSAoaGlkZVtpXS5wYXJlbnROb2RlLmNsYXNzTmFtZS5tYXRjaCgvbXNnXGQrLykgfHwgWycnXSlbMF07DQoJCQkJCQlkb2N1bWVudFtxc10oJ3NlY3Rpb24uZGF0YSBkaXYuJyArIHBuQ2xhc3NOYW1lKS5zdHlsZS5oZWlnaHQgPSBkb2N1bWVudFtxc10oJ3NlY3Rpb24ubXNncyBkaXYuJyArIHBuQ2xhc3NOYW1lKS5jbGllbnRIZWlnaHQgKyAncHgnOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Ugd2lkdGggPD0gNDAwOg0KCQkJCQkvL2NvbnNvbGUubG9nKCdOdXIgTmFjaHJpY2h0ICsgRmFyYmUnKTsNCgkJCQkJZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdwkJCT0gJ2hpZGRlbic7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLndpZHRoCQk9ICcxMDAlJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUucGFkZGluZwkJPSAnMTBweCAwJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUubWFyZ2luCQk9ICd2YXIoLS1yb3ctaGVpZ2h0KSAwIDAgMCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLmJveFNoYWRvdwk9ICdub25lJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIHNlY3Rpb24uY2hhdCcpLnN0eWxlLmhlaWdodCA9IA0KCQkJCQkJKHdpbmRvdy5pbm5lckhlaWdodCAtDQoJCQkJCQkJKGRvY3VtZW50W3FzXSgnc2VjdGlvbi50b3Aucm93JykuY2xpZW50SGVpZ2h0DQoJCQkJCQkJKyBkb2N1bWVudFtxc10oJ21haW4gaGVhZGVyJykuY2xpZW50SGVpZ2h0ICogMi41DQoJCQkJCQkJKyBOdW1iZXIoZG9jdW1lbnRbcXNdKCdtYWluIGhlYWRlcicpLnN0eWxlLm1hcmdpbkJvdHRvbS5zcGxpdCgncHgnKVswXSkNCgkJCQkJCQkrIGRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5jbGllbnRIZWlnaHQpDQoJCQkJCQkpDQoJCQkJCQkrICdweCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5ib3R0b20gPSAnMCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS53aWR0aCA9ICcxMDAlJzsNCgkJCQkJdmFyIGhpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubXNnIHNwYW46bnRoLWNoaWxkKDJuKzEpJyk7DQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgaGlkZS5sZW5ndGg7IGkrKykgew0KCQkJCQkJdmFyIHBuQ2xhc3NOYW1lID0gKGhpZGVbaV0ucGFyZW50Tm9kZS5jbGFzc05hbWUubWF0Y2goL21zZ1xkKy8pIHx8IFsnJ10pWzBdOw0KCQkJCQkJZG9jdW1lbnRbcXNdKCdzZWN0aW9uLmRhdGEgZGl2LicgKyBwbkNsYXNzTmFtZSkuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnRbcXNdKCdzZWN0aW9uLm1zZ3MgZGl2LicgKyBwbkNsYXNzTmFtZSkuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQlkZWZhdWx0Og0KCQkJCQkvL2NvbnNvbGUubG9nKCdEZWZhdWx0Jyk7DQoJCQkJCWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cJCQk9ICdhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUud2lkdGgJCT0gJzgwJSc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbicpLnN0eWxlLnBhZGRpbmcJCT0gJzEwcHgnOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4nKS5zdHlsZS5tYXJnaW4JCT0gJ3ZhcigtLWRvY3VtZW50LXN0YXJ0KSBhdXRvJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluJykuc3R5bGUuYm94U2hhZG93CT0gJzAgMCA1cHggMXB4IHJnYigxNTAsIDE1MCwgMTUwKSc7DQoJCQkJCXZhciBzaG93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1zZyBzcGFuOm50aC1jaGlsZCgybisxKScpOw0KCQkJCQlkb2N1bWVudFtxc10oJ21haW4gZm9vdGVyJykuc3R5bGUucG9zaXRpb24gPSAnaW5oZXJpdCc7DQoJCQkJCWRvY3VtZW50W3FzXSgnbWFpbiBmb290ZXInKS5zdHlsZS5ib3R0b20gPSAnJzsNCgkJCQkJZG9jdW1lbnRbcXNdKCdtYWluIGZvb3RlcicpLnN0eWxlLndpZHRoID0gJyc7DQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2hvdy5sZW5ndGg7IGkrKykgew0KCQkJCQkJc2hvd1tpXS5zdHlsZS5kaXNwbGF5ID0gJ2luaXRpYWwnOw0KCQkJCQkJdmFyIHBuQ2xhc3NOYW1lID0gKHNob3dbaV0ucGFyZW50Tm9kZS5jbGFzc05hbWUubWF0Y2goL21zZ1xkKy8pIHx8IFsnJ10pWzBdOw0KCQkJCQkJZG9jdW1lbnRbcXNdKCdzZWN0aW9uLmRhdGEgZGl2LicgKyBwbkNsYXNzTmFtZSkuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnRbcXNdKCdzZWN0aW9uLm1zZ3MgZGl2LicgKyBwbkNsYXNzTmFtZSkuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBhZGp1c3RIZWlnaHQoZWxlbTEsIGVsZW0yKSB7DQoJCQlpZiAoIWVsZW0xLnRhZ05hbWUgfHwgIWVsZW0yLnRhZ05hbWUpIHJldHVybiBuZXcgRXJyb3IoJ0FyZ3VtZW50IDEgb3IgMiBpcyBub3QgYSBIVE1MLUVsZW1lbnQnKTsNCgkJCWlmIChlbGVtMS5jbGllbnRIZWlnaHQgPiBlbGVtMi5jbGllbnRIZWlnaHQpIHsNCgkJCQlyZXR1cm4gZWxlbTIuc3R5bGUuaGVpZ2h0ID0gZWxlbTEuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCX0gZWxzZSBpZihlbGVtMi5jbGllbnRIZWlnaHQgPiBlbGVtMS5jbGllbnRIZWlnaHQpIHsNCgkJCQlyZXR1cm4gZWxlbTEuc3R5bGUuaGVpZ2h0ID0gZWxlbTIuY2xpZW50SGVpZ2h0ICsgJ3B4JzsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIG5ldyBFcnJvcignQm90aCBlbGVtZW50cyBoYXZlIHRoZSBzYW1lIGhlaWdodCcpOw0KCQkJfQ0KCQl9DQoJCWZ1bmN0aW9uIGFkZE1zZyhkYXRlLCB1c2VyLCBtc2cpIHsNCgkJCWlmIChkYXRlLl9fcHJvdG9fXy5jb25zdHJ1Y3RvciAhPT0gRGF0ZSkgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMSBpcyBub3QgYSBEYXRlIG9iamVjdCcpOw0KCQkJaWYodXNlci5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IFN0cmluZykgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMiBpcyBub3QgYSBTdHJpbmcnKTsNCgkJCWlmKG1zZy5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IFN0cmluZykgcmV0dXJuIG5ldyBFcnJvcignQXJndW1lbnQgMyBpcyBub3QgYSBTdHJpbmcnKTsNCgkJCXZhciB0ID0gZGF0ZS5nZXRUaW1lKCksDQoJCQkJZCA9IGRhdGUudG9TdHJpbmcoKSwNCgkJCQl0aW1lID0gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoKSwNCgkJCQlkYXRlID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTsNCgkJCXZhciBub2RlID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhldmFsKCdgJyArIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdC50ZW1wbGF0ZS5tc2cnKS5pbm5lckhUTUwgKyAnYCcpLCAndGV4dC9odG1sJykuYm9keS5jaGlsZHJlbjsNCgkJCXZhciBjaGF0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWFpbiBzZWN0aW9uLmNoYXQnKTsNCgkJCXRyeSB7DQoJCQkJdmFyIG5hbWUJPSBub2RlWzBdLA0KCQkJCQltc2cJCT0gbm9kZVsxXTsNCgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLmRhdGEnKS5hcHBlbmRDaGlsZChuYW1lKTsNCgkJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWN0aW9uLm1zZ3MnKS5hcHBlbmRDaGlsZChtc2cpOw0KCQkJCW5hbWUuc3R5bGUuaGVpZ2h0ID0gbXNnLmNsaWVudEhlaWdodCArICdweCc7DQoJCQkJY2hhdC5zY3JvbGxUbygwLCBjaGF0LnNjcm9sbEhlaWdodCk7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9IGNhdGNoKGUpIHsNCgkJCQlyZXR1cm4gY29uc29sZS5lcnJvcihlKTsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBqc29ucCh1cmwsIGNiKSB7DQoJCQlpZiAoIWNiIHx8IGNiLl9fcHJvdG9fXy5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHJldHVybiBuZXcgRXJyb3IoJ0NhbGxiYWNrIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpOw0KCQkJdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOw0KCQkJc2NyaXB0LnNyYyA9IHVybDsNCgkJCXNjcmlwdC5mb3IgPSAnSlNPTlAnOw0KCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5zY3JpcHRzLmxlbmd0aDsgaSsrKSBpZiAoZG9jdW1lbnQuc2NyaXB0c1tpXS5nZXRBdHRyaWJ1dGUoJ2ZvcicpID09PSAnSlNPTlAnKSBkb2N1bWVudC5zY3JpcHRzW2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuc2NyaXB0c1tpXSk7DQoJCQl3aW5kb3cuY2IgPSBjYjsNCgkJCWRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsNCgkJCWRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQoc2NyaXB0KTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWZ1bmN0aW9uIHNlbmRNc2cobXNnLCBjYiwgc2MpIHsNCgkJCXZhciBkCT0gbmV3IERhdGUoKSwNCgkJCQljYgk9IGNiIHx8IG5ldyBGdW5jdGlvbigpOw0KCQkJcmV0dXJuIGpzb25wKGxvY2F0aW9uLm9yaWdpbiArIGxvY2F0aW9uLnBhdGhuYW1lICsgJz91c2VyPScgKyBlbmNvZGVVUklDb21wb25lbnQoIkdhc3QiKSArICcmaWQ9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiLTEiKSArICcmZGF0ZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGQudG9KU09OKCkpICsgJyZ0aW1lPScgKyBkLmdldFRpbWUoKSArICcmbXNnPScgKyBlbmNvZGVVUklDb21wb25lbnQobXNnKSArICgoc2MgJiYgTnVtYmVyKHNjKSAhPT0gTmFOKSA/ICcmc2M9JyArIHNjIDogJycpLCBjYik7DQoJCX0NCgkJZnVuY3Rpb24gcmVxdWVzdE1zZyhpLCBjYikgew0KCQkJaQk9IGkJCXx8ICcnOw0KCQkJY2IJPSBjYgl8fCBuZXcgRnVuY3Rpb24oKTsNCgkJCWlmIChjYi5fX3Byb3RvX18uY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSByZXR1cm4gbmV3IEVycm9yKCdDYWxsYmFjayBhcmd1bWVudCBpcyBub3IgYSBmdW5jdGlvbicpOwkNCgkJCXZhciB0ID0gaS5fX3Byb3RvX18uY29uc3RydWN0b3IsDQoJCQkJcXVlcnkgPSBsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZSArICc/Z2V0JzsNCgkJCXN3aXRjaCh0cnVlKXsNCgkJCQljYXNlIHQgPT09IE51bWJlcjoNCgkJCQkJcXVlcnkgKz0gJz10aW1lJnZhbD0nICsgaS5yZXBsYWNlKC8jL2csICclMjMnKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBCb29sZWFuKGkubWF0Y2goLy4rI1xkKyQvZykpOg0KCQkJCQlxdWVyeSArPSAnPXVzZXImcHJvcD1mdWxsJnZhbD0nICsgaS5yZXBsYWNlKC8jL2csICclMjMnKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSB0ID09PSBTdHJpbmcgJiYgaSAhPT0gJyc6DQoJCQkJCXF1ZXJ5ICs9ICc9dXNlciZwcm9wPW5hbWUmdmFsPScgKyBpLnJlcGxhY2UoLyMvZywgJyUyMycpOw0KCQkJCQlicmVhazsNCgkJCQlkZWZhdWx0Og0KCQkJCQlicmVhazsNCgkJCX0NCgkJCXJldHVybiBqc29ucChxdWVyeSArICcmcmVxLXRpbWU9JyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpLCBjYikNCgkJfQ0KCTwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L3RlbXBsYXRlIiBjbGFzcz0idGVtcGxhdGUgbXNnIj4NCgkJPGRpdiBjbGFzcz0ibXNnIG1zZyR7dH0iIHVzZXI9IiR7dXNlcn0iIGRhdGU9IiR7ZH0iIHRpbWU9IiR7dH0iPg0KCQkJPHNwYW4gdGl0bGU9IiR7ZGF0ZX0gfCAke3RpbWV9Ij4ke3RpbWUubWF0Y2goL1xkezJ9OlxkezJ9LylbMF19PC9zcGFuPg0KCQkJPHNwYW4+JHt1c2VyfTwvc3Bhbj4NCgkJPC9kaXY+DQoJCTxkaXYgY2xhc3M9Im1zZyBtc2cke3R9IiB1c2VyPSIke3VzZXJ9IiBkYXRlPSIke2R9IiB0aW1lPSIke3R9Ij4NCgkJCTxwcmU+JHttc2d9PC9wcmU+DQoJCTwvZGl2Pg0KCTwvc2NyaXB0Pg0KCTxzZWN0aW9uIGNsYXNzPSJoaWRkZW4gbG9naW4iIHRhYmluZGV4PSIxMCI+DQoJCTxoZWFkZXI+DQoJCQk8aDM+TG9naW48L2gzPg0KCQkJPHNwYW4+SGllciBrYW5uc3QgZHUgZGljaCBhbm1lbGRlbiwgZmFsbHMgZHUgZGlyIGVpbmVuIE5hbWVuIGF1c2dlc3VjaHQgaGFzdC48L3NwYW4+DQoJCTwvaGVhZGVyPg0KCQk8c2VjdGlvbj4NCgkJCTxkaXYgZm9yPSJ1c2VyIj5CZW51dHplcm5hbWU8L2Rpdj4NCgkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VyIiBwbGFjZWhvbGRlcj0iQmVudXR6ZXJuYW1lIiByZXF1aXJlZD0iIj4NCgkJCTxkaXYgZm9yPSJwYXNzIj5QYXNzd29ydDwvZGl2Pg0KCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiBwbGFjZWhvbGRlcj0iUGFzc3dvcnQiIHJlcXVpcmVkPSIiPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9naW4iIHZhbHVlPSJFaW5sb2dnZW4iPg0KCQk8L3NlY3Rpb24+DQoJPC9zZWN0aW9uPg0KCTxzZWN0aW9uIGNsYXNzPSJoaWRkZW4gcmVnaXN0ZXIiIHRhYmluZGV4PSIxMSI+DQoJCTxoZWFkZXI+DQoJCQk8aDM+UmVnaXN0cmllcmVuPC9oMz4NCgkJCTxzcGFuPkhpZXIga2FubnN0IGR1IGRpY2ggcmVnaXN0cmllcmVuLCB1bSBtaXQgZGVpbmVtIGVpZ2VuZW4gTmFtZW4gc2NocmVpYmVuIHp1IGvDtm5uZW4uPC9zcGFuPg0KCQk8L2hlYWRlcj4NCgkJPHNlY3Rpb24+DQoJCQk8ZGl2IGZvcj0idXNlciI+QmVudXR6ZXJuYW1lPC9kaXY+DQoJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlciIgcGxhY2Vob2xkZXI9IkJlbnV0emVybmFtZSIgcmVxdWlyZWQ9IiI+DQoJCQk8ZGl2IGZvcj0icGFzcyI+UGFzc3dvcnQ8L2Rpdj4NCgkJCTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzcyIgcGxhY2Vob2xkZXI9IlBhc3N3b3J0Ij4NCgkJCTxkaXYgZm9yPSJwYXNzIj5QYXNzd29ydCB3aWVkZXJob2xlbjwvZGl2Pg0KCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiBwbGFjZWhvbGRlcj0iUGFzc3dvcnQiPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0icmVnaXN0ZXIiIHZhbHVlPSJyZWdpc3RyaWVyZW4iPg0KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0idGVtcHJlZ2lzdGVyIiB2YWx1ZT0idGVtcG9yw6RyIHJlZ2lzdHJpZXJlbiI+DQoJCTwvc2VjdGlvbj4NCgk8L3NlY3Rpb24+DQoJPHNlY3Rpb24gY2xhc3M9InRvcCByb3ciPg0KCQk8c2VjdGlvbiBjbGFzcz0iZlJpZ2h0Ij4NCgkJCTxhIGhyZWY9Ij9sb2dpbiI+TG9naW48L2E+DQoJCQk8YSBocmVmPSI/cmVnaXN0ZXIiPlJlZ2lzdHJpZXJlbjwvYT4NCgkJPC9zZWN0aW9uPg0KCTwvc2VjdGlvbj4NCgk8bWFpbj4NCgkJPGhlYWRlcj4NCgkJCTxoMj5HYW56IHN0cmVuZyBnZWhlaW1lciBDaGF0PC9oMj4NCgkJPC9oZWFkZXI+DQoJCTxzZWN0aW9uIGNsYXNzPSJjaGF0Ij4NCgkJCTxzZWN0aW9uIGNsYXNzPSJkYXRhIj48L3NlY3Rpb24+DQoJCQk8c2VjdGlvbiBjbGFzcz0ibXNncyI+PC9zZWN0aW9uPg0KCQk8L3NlY3Rpb24+DQoJCTxmb290ZXI+DQoJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibXNnIj4NCgkJCTxidXR0b24gdHlwZT0ic3VibWl0IiBuYW1lPSJzZW5kIj4NCgkJCQlTZW5kZW4NCgkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2MiIGxpc3Q9InNjIiBwbGFjZWhvbGRlcj0iMHgwMDEiPg0KCQkJCTxkYXRhbGlzdCBpZD0ic2MiPjwvZGF0YWxpc3Q+DQoJCQk8L2J1dHRvbj4NCgkJCTxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCgkJPC9mb290ZXI+DQoJPC9tYWluPg0KPC9ib2R5Pg0KPC9odG1sPg==
——————————————————–
Falls das nicht klappt, kann man auch einfach auf diesen Link klicken. Da steht genau das gleiche drin.
Das sollte (theoretisch) die Client-Seite eines Chats sein, den ich geschrieben habe. Ich habe ihn als base64 String codiert, falls das jemandem etwas sagt, dass man alles direkt in die Suchleiste eingeben kann.
Weil das der ganze Client (codiert) ist, sollte es auch funktionieren, wenn man keine Internetverbindung hat.
Ich bin mir jetzt aber nicht sicher, ob es auch wirklich funktioniert, weil es so nicht mehr strukturiert aussieht, sondern eher wie ein Haufen Schrott.
Danke, falls ihr es probiert

Liebe Grüße
Arnie
PS:
Funktionieren kann der Chat natürlich nicht, weil es nur die Clientseite ist und an keinen Server angebunden.
Edit:
- PostScript hinzugefügt
- Rechtschreibfehler verbessert
- Satz hinzugefügt
Last edited by Arnie1_0 (Feb. 6, 2018 14:01:47)
- Arnie1_0
-
100+ posts
Freie Unterhaltung
Was für einen Browser hast du?
Ich habe es jetzt in meinem Firefox ausprobiert und da hat es einmal geklappt.
Ich habe es jetzt in meinem Firefox ausprobiert und da hat es einmal geklappt.
- megrathund
-
100+ posts
Freie Unterhaltung
Bei mir kommt “Ganz streng geheimer Chat” und es gibt eine Zeile in die man was schreiben kann und daneben ist ein “Senden”-batten. Und es gibt “Login” und “Registrieren”. Ich hoffe das sollte kommen ;-)…
LG
Megrathund
LG
Megrathund
- capoaira
-
87 posts
Freie Unterhaltung
Chrome. Was für einen Browser hast du?
Ich habe es jetzt in meinem Firefox ausprobiert und da hat es einmal geklappt.
Mit Firefox geht es.
- megrathund
-
100+ posts
Freie Unterhaltung
Warum hat @my_class auf seiner Profilseite eine Zeile namens “Klassen (2)”?
Danke im voraus.
MFG
Megrathund
Danke im voraus.
MFG
Megrathund
- Fyndora
-
1000+ posts
Freie Unterhaltung
Warum hat @my_class auf seiner Profilseite eine Zeile namens “Klassen (2)”?
Danke im voraus.
MFG
Megrathund
Er ist Lehrer und das sind Bilder von den beiden Klassen in denen er Scratchkurse gegeben hat. Darum sind auch die Jahreszahlen unter den Fotos.
LG Fyndora
- megrathund
-
100+ posts
Freie Unterhaltung
DankeWarum hat @my_class auf seiner Profilseite eine Zeile namens “Klassen (2)”?
Danke im voraus.
MFG
Megrathund
Er ist Lehrer und das sind Bilder von den beiden Klassen in denen er Scratchkurse gegeben hat. Darum sind auch die Jahreszahlen unter den Fotos.
LG Fyndora
- Arnie1_0
-
100+ posts
Freie Unterhaltung
Bei mir kommt “Ganz streng geheimer Chat” und es gibt eine Zeile in die man was schreiben kann und daneben ist ein “Senden”-batten. Und es gibt “Login” und “Registrieren”. Ich hoffe das sollte kommen ;-)…
LG
Megrathund
Alles klar, Danke ihr beiden. Mit Firefox geht es.
Jetzt muss ich also nur noch gucken, wie ich es hinbekomme, dass es auch in Chrome funktioniert

Und weil es ein “Ganz streng geheimer Chat” ist, hat er auch ganz streng geheime Sachen wie beispielsweise das Senden mit Sicherheitsfreigabe. Ihr müsst einmal in einem Zeitraum von 3 Sekunden mindestens Fünf mal mit der Maus über den Senden-Button fahren, um ein Feld zu öffnen, in dem man die Sicherheitsfreigabe eingeben kann, um die Nachrichten nur an autorisierte Personen zu senden (falls er auf einem Webserver ausgeführt wurde).
Wenn ich ihn fertig geschrieben und ihn hochgeladen habe, kann ich den Link schicken, falls es jemanden interessiert.
Also danke noch einmal, dass ihr es getestet habt.
Liebe Grüße
Arnie
- Baumus
-
100+ posts
Freie Unterhaltung
in safari funktioniert es auch…Bei mir kommt “Ganz streng geheimer Chat” und es gibt eine Zeile in die man was schreiben kann und daneben ist ein “Senden”-batten. Und es gibt “Login” und “Registrieren”. Ich hoffe das sollte kommen ;-)…
LG
MegrathundAlles klar, Danke ihr beiden. Mit Firefox geht es.
Jetzt muss ich also nur noch gucken, wie ich es hinbekomme, dass es auch in Chrome funktioniert
Und weil es ein “Ganz streng geheimer Chat” ist, hat er auch ganz streng geheime Sachen wie beispielsweise das Senden mit Sicherheitsfreigabe. Ihr müsst einmal in einem Zeitraum von 3 Sekunden mindestens Fünf mal mit der Maus über den Senden-Button fahren, um ein Feld zu öffnen, in dem man die Sicherheitsfreigabe eingeben kann, um die Nachrichten nur an autorisierte Personen zu senden (falls er auf einem Webserver ausgeführt wurde).
Wenn ich ihn fertig geschrieben und ihn hochgeladen habe, kann ich den Link schicken, falls es jemanden interessiert.
Also danke noch einmal, dass ihr es getestet habt.
Liebe Grüße
Arnie
- megrathund
-
100+ posts
Freie Unterhaltung
Na dann. Ich habe heute Geburtstag!!!
Ich bin jetzt 13.
Alles gute zum Geburtstag! Und viel Glück, Freude, Freunde und Spass wünsche ich dir!
Feier noch schön und schönen Abend!
MFG
Megrathund